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_X64 | 7 #if V8_TARGET_ARCH_X64 |
8 | 8 |
9 #include "src/code-factory.h" | 9 #include "src/code-factory.h" |
10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
300 } else { | 300 } else { |
301 type = ArgumentsAccessStub::NEW_SLOPPY_FAST; | 301 type = ArgumentsAccessStub::NEW_SLOPPY_FAST; |
302 } | 302 } |
303 ArgumentsAccessStub stub(isolate(), type, has_new_target); | 303 ArgumentsAccessStub stub(isolate(), type, has_new_target); |
304 __ CallStub(&stub); | 304 __ CallStub(&stub); |
305 | 305 |
306 SetVar(arguments, rax, rbx, rdx); | 306 SetVar(arguments, rax, rbx, rdx); |
307 } | 307 } |
308 | 308 |
309 // Possibly set up a local binding to the [[HomeObject]]. | 309 // Possibly set up a local binding to the [[HomeObject]]. |
310 // Variable* home_object_var = scope()->home_object_var(); | |
311 if (home_object_var != nullptr) { | 310 if (home_object_var != nullptr) { |
312 Comment cmnt(masm_, "[ Home object"); | 311 Comment cmnt(masm_, "[ Home object"); |
313 __ Pop(LoadDescriptor::ReceiverRegister()); | 312 __ Pop(LoadDescriptor::ReceiverRegister()); |
314 Handle<Symbol> home_object_symbol(isolate()->heap()->home_object_symbol()); | 313 Handle<Symbol> home_object_symbol(isolate()->heap()->home_object_symbol()); |
315 __ Move(LoadDescriptor::NameRegister(), home_object_symbol); | 314 __ Move(LoadDescriptor::NameRegister(), home_object_symbol); |
316 __ Move(LoadDescriptor::SlotRegister(), | 315 __ Move(LoadDescriptor::SlotRegister(), |
317 SmiFromSlot(function()->HomeObjectFeedbackSlot())); | 316 SmiFromSlot(function()->HomeObjectFeedbackSlot())); |
318 CallLoadIC(NOT_CONTEXTUAL); | 317 CallLoadIC(NOT_CONTEXTUAL); |
319 | 318 |
320 SetVar(home_object_var, rax, rbx, rdx); | 319 SetVar(home_object_var, rax, rbx, rdx); |
(...skipping 5131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5452 DCHECK_EQ(isolate->builtins()->OsrAfterStackCheck()->entry(), | 5451 DCHECK_EQ(isolate->builtins()->OsrAfterStackCheck()->entry(), |
5453 Assembler::target_address_at(call_target_address, | 5452 Assembler::target_address_at(call_target_address, |
5454 unoptimized_code)); | 5453 unoptimized_code)); |
5455 return OSR_AFTER_STACK_CHECK; | 5454 return OSR_AFTER_STACK_CHECK; |
5456 } | 5455 } |
5457 | 5456 |
5458 | 5457 |
5459 } } // namespace v8::internal | 5458 } } // namespace v8::internal |
5460 | 5459 |
5461 #endif // V8_TARGET_ARCH_X64 | 5460 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |