| OLD | NEW | 
|---|
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. | 
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without | 
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are | 
| 4 // met: | 4 // met: | 
| 5 // | 5 // | 
| 6 //     * Redistributions of source code must retain the above copyright | 6 //     * Redistributions of source code must retain the above copyright | 
| 7 //       notice, this list of conditions and the following disclaimer. | 7 //       notice, this list of conditions and the following disclaimer. | 
| 8 //     * Redistributions in binary form must reproduce the above | 8 //     * Redistributions in binary form must reproduce the above | 
| 9 //       copyright notice, this list of conditions and the following | 9 //       copyright notice, this list of conditions and the following | 
| 10 //       disclaimer in the documentation and/or other materials provided | 10 //       disclaimer in the documentation and/or other materials provided | 
| (...skipping 990 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1001           masm->isolate()->builtins()->HandleApiCallConstruct(); | 1001           masm->isolate()->builtins()->HandleApiCallConstruct(); | 
| 1002       ParameterCount expected(0); | 1002       ParameterCount expected(0); | 
| 1003       __ InvokeCode(code, expected, expected, | 1003       __ InvokeCode(code, expected, expected, | 
| 1004                     RelocInfo::CODE_TARGET, CALL_FUNCTION, CALL_AS_METHOD); | 1004                     RelocInfo::CODE_TARGET, CALL_FUNCTION, CALL_AS_METHOD); | 
| 1005     } else { | 1005     } else { | 
| 1006       ParameterCount actual(a0); | 1006       ParameterCount actual(a0); | 
| 1007       __ InvokeFunction(a1, actual, CALL_FUNCTION, | 1007       __ InvokeFunction(a1, actual, CALL_FUNCTION, | 
| 1008                         NullCallWrapper(), CALL_AS_METHOD); | 1008                         NullCallWrapper(), CALL_AS_METHOD); | 
| 1009     } | 1009     } | 
| 1010 | 1010 | 
|  | 1011     // Store offset of return address for deoptimizer. | 
|  | 1012     if (!is_api_function && !count_constructions) { | 
|  | 1013       masm->isolate()->heap()->SetConstructStubDeoptPCOffset(masm->pc_offset()); | 
|  | 1014     } | 
|  | 1015 | 
| 1011     // Restore context from the frame. | 1016     // Restore context from the frame. | 
| 1012     __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); | 1017     __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); | 
| 1013 | 1018 | 
| 1014     // If the result is an object (in the ECMA sense), we should get rid | 1019     // If the result is an object (in the ECMA sense), we should get rid | 
| 1015     // of the receiver and use the result; see ECMA-262 section 13.2.2-7 | 1020     // of the receiver and use the result; see ECMA-262 section 13.2.2-7 | 
| 1016     // on page 74. | 1021     // on page 74. | 
| 1017     Label use_receiver, exit; | 1022     Label use_receiver, exit; | 
| 1018 | 1023 | 
| 1019     // If the result is a smi, it is *not* an object in the ECMA sense. | 1024     // If the result is a smi, it is *not* an object in the ECMA sense. | 
| 1020     // v0: result | 1025     // v0: result | 
| (...skipping 749 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1770     __ bind(&fill); | 1775     __ bind(&fill); | 
| 1771     __ push(t0); | 1776     __ push(t0); | 
| 1772     __ Branch(&fill, ne, sp, Operand(a2)); | 1777     __ Branch(&fill, ne, sp, Operand(a2)); | 
| 1773   } | 1778   } | 
| 1774 | 1779 | 
| 1775   // Call the entry point. | 1780   // Call the entry point. | 
| 1776   __ bind(&invoke); | 1781   __ bind(&invoke); | 
| 1777 | 1782 | 
| 1778   __ Call(a3); | 1783   __ Call(a3); | 
| 1779 | 1784 | 
|  | 1785   // Store offset of return address for deoptimizer. | 
| 1780   masm->isolate()->heap()->SetArgumentsAdaptorDeoptPCOffset(masm->pc_offset()); | 1786   masm->isolate()->heap()->SetArgumentsAdaptorDeoptPCOffset(masm->pc_offset()); | 
|  | 1787 | 
| 1781   // Exit frame and return. | 1788   // Exit frame and return. | 
| 1782   LeaveArgumentsAdaptorFrame(masm); | 1789   LeaveArgumentsAdaptorFrame(masm); | 
| 1783   __ Ret(); | 1790   __ Ret(); | 
| 1784 | 1791 | 
| 1785 | 1792 | 
| 1786   // ------------------------------------------- | 1793   // ------------------------------------------- | 
| 1787   // Don't adapt arguments. | 1794   // Don't adapt arguments. | 
| 1788   // ------------------------------------------- | 1795   // ------------------------------------------- | 
| 1789   __ bind(&dont_adapt_arguments); | 1796   __ bind(&dont_adapt_arguments); | 
| 1790   __ Jump(a3); | 1797   __ Jump(a3); | 
| 1791 } | 1798 } | 
| 1792 | 1799 | 
| 1793 | 1800 | 
| 1794 #undef __ | 1801 #undef __ | 
| 1795 | 1802 | 
| 1796 } }  // namespace v8::internal | 1803 } }  // namespace v8::internal | 
| 1797 | 1804 | 
| 1798 #endif  // V8_TARGET_ARCH_MIPS | 1805 #endif  // V8_TARGET_ARCH_MIPS | 
| OLD | NEW | 
|---|