OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 4140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4151 // Slow-case: Non-function called. | 4151 // Slow-case: Non-function called. |
4152 __ bind(&slow); | 4152 __ bind(&slow); |
4153 // CALL_NON_FUNCTION expects the non-function callee as receiver (instead | 4153 // CALL_NON_FUNCTION expects the non-function callee as receiver (instead |
4154 // of the original receiver from the call site). | 4154 // of the original receiver from the call site). |
4155 __ mov(Operand(esp, (argc_ + 1) * kPointerSize), edi); | 4155 __ mov(Operand(esp, (argc_ + 1) * kPointerSize), edi); |
4156 __ Set(eax, Immediate(argc_)); | 4156 __ Set(eax, Immediate(argc_)); |
4157 __ Set(ebx, Immediate(0)); | 4157 __ Set(ebx, Immediate(0)); |
4158 __ GetBuiltinEntry(edx, Builtins::CALL_NON_FUNCTION); | 4158 __ GetBuiltinEntry(edx, Builtins::CALL_NON_FUNCTION); |
4159 Handle<Code> adaptor = | 4159 Handle<Code> adaptor = |
4160 masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(); | 4160 masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(); |
| 4161 __ SetCallKind(ecx, CALL_AS_METHOD); |
4161 __ jmp(adaptor, RelocInfo::CODE_TARGET); | 4162 __ jmp(adaptor, RelocInfo::CODE_TARGET); |
4162 } | 4163 } |
4163 | 4164 |
4164 | 4165 |
4165 bool CEntryStub::NeedsImmovableCode() { | 4166 bool CEntryStub::NeedsImmovableCode() { |
4166 return false; | 4167 return false; |
4167 } | 4168 } |
4168 | 4169 |
4169 | 4170 |
4170 void CEntryStub::GenerateThrowTOS(MacroAssembler* masm) { | 4171 void CEntryStub::GenerateThrowTOS(MacroAssembler* masm) { |
(...skipping 2121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6292 __ Drop(1); | 6293 __ Drop(1); |
6293 __ ret(2 * kPointerSize); | 6294 __ ret(2 * kPointerSize); |
6294 } | 6295 } |
6295 | 6296 |
6296 | 6297 |
6297 #undef __ | 6298 #undef __ |
6298 | 6299 |
6299 } } // namespace v8::internal | 6300 } } // namespace v8::internal |
6300 | 6301 |
6301 #endif // V8_TARGET_ARCH_IA32 | 6302 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |