OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_IA32 | 7 #if V8_TARGET_ARCH_IA32 |
8 | 8 |
9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" |
10 #include "src/bootstrapper.h" | 10 #include "src/bootstrapper.h" |
(...skipping 2204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2215 __ bind(&do_call); | 2215 __ bind(&do_call); |
2216 // Set expected number of arguments to zero (not changing eax). | 2216 // Set expected number of arguments to zero (not changing eax). |
2217 __ Move(ebx, Immediate(0)); | 2217 __ Move(ebx, Immediate(0)); |
2218 Handle<Code> arguments_adaptor = | 2218 Handle<Code> arguments_adaptor = |
2219 isolate()->builtins()->ArgumentsAdaptorTrampoline(); | 2219 isolate()->builtins()->ArgumentsAdaptorTrampoline(); |
2220 __ jmp(arguments_adaptor, RelocInfo::CODE_TARGET); | 2220 __ jmp(arguments_adaptor, RelocInfo::CODE_TARGET); |
2221 } | 2221 } |
2222 | 2222 |
2223 | 2223 |
2224 static void EmitLoadTypeFeedbackVector(MacroAssembler* masm, Register vector) { | 2224 static void EmitLoadTypeFeedbackVector(MacroAssembler* masm, Register vector) { |
2225 __ mov(vector, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset)); | 2225 __ mov(vector, Operand(ebp, JavaScriptFrameConstants::kFeedbackVectorOffset)); |
2226 __ mov(vector, FieldOperand(vector, JSFunction::kSharedFunctionInfoOffset)); | |
2227 __ mov(vector, FieldOperand(vector, | |
2228 SharedFunctionInfo::kFeedbackVectorOffset)); | |
2229 } | 2226 } |
2230 | 2227 |
2231 | 2228 |
2232 void CallIC_ArrayStub::Generate(MacroAssembler* masm) { | 2229 void CallIC_ArrayStub::Generate(MacroAssembler* masm) { |
2233 // edi - function | 2230 // edi - function |
2234 // edx - slot id | 2231 // edx - slot id |
2235 // ebx - vector | 2232 // ebx - vector |
2236 Label miss; | 2233 Label miss; |
2237 int argc = arg_count(); | 2234 int argc = arg_count(); |
2238 ParameterCount actual(argc); | 2235 ParameterCount actual(argc); |
(...skipping 2899 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5138 ApiParameterOperand(2), kStackSpace, nullptr, | 5135 ApiParameterOperand(2), kStackSpace, nullptr, |
5139 Operand(ebp, 7 * kPointerSize), NULL); | 5136 Operand(ebp, 7 * kPointerSize), NULL); |
5140 } | 5137 } |
5141 | 5138 |
5142 | 5139 |
5143 #undef __ | 5140 #undef __ |
5144 | 5141 |
5145 } } // namespace v8::internal | 5142 } } // namespace v8::internal |
5146 | 5143 |
5147 #endif // V8_TARGET_ARCH_IA32 | 5144 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |