OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
180 __ add(sp, sp, Operand(r1, LSL, kPointerSizeLog2 - 1)); | 180 __ add(sp, sp, Operand(r1, LSL, kPointerSizeLog2 - 1)); |
181 __ add(sp, sp, Operand(kPointerSize)); | 181 __ add(sp, sp, Operand(kPointerSize)); |
182 __ Jump(lr); | 182 __ Jump(lr); |
183 | 183 |
184 // r0: number of arguments | 184 // r0: number of arguments |
185 // r1: called object | 185 // r1: called object |
186 __ bind(&non_function_call); | 186 __ bind(&non_function_call); |
187 | 187 |
188 // Set expected number of arguments to zero (not changing r0). | 188 // Set expected number of arguments to zero (not changing r0). |
189 __ mov(r2, Operand(0)); | 189 __ mov(r2, Operand(0)); |
190 __ GetBuiltinEntry(r3, Builtins::CALL_NON_FUNCTION); | 190 __ GetBuiltinEntry(r3, Builtins::CALL_NON_FUNCTION_AS_CONSTRUCTOR); |
191 __ Jump(Handle<Code>(builtin(ArgumentsAdaptorTrampoline)), | 191 __ Jump(Handle<Code>(builtin(ArgumentsAdaptorTrampoline)), |
192 RelocInfo::CODE_TARGET); | 192 RelocInfo::CODE_TARGET); |
193 } | 193 } |
194 | 194 |
195 | 195 |
196 static void Generate_JSEntryTrampolineHelper(MacroAssembler* masm, | 196 static void Generate_JSEntryTrampolineHelper(MacroAssembler* masm, |
197 bool is_construct) { | 197 bool is_construct) { |
198 // Called from Generate_JS_Entry | 198 // Called from Generate_JS_Entry |
199 // r0: code entry | 199 // r0: code entry |
200 // r1: function | 200 // r1: function |
(...skipping 489 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
690 // Dont adapt arguments. | 690 // Dont adapt arguments. |
691 // ------------------------------------------- | 691 // ------------------------------------------- |
692 __ bind(&dont_adapt_arguments); | 692 __ bind(&dont_adapt_arguments); |
693 __ Jump(r3); | 693 __ Jump(r3); |
694 } | 694 } |
695 | 695 |
696 | 696 |
697 #undef __ | 697 #undef __ |
698 | 698 |
699 } } // namespace v8::internal | 699 } } // namespace v8::internal |
OLD | NEW |