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 #include "src/bootstrapper.h" | 7 #include "src/bootstrapper.h" |
8 #include "src/code-stubs.h" | 8 #include "src/code-stubs.h" |
9 #include "src/cpu-profiler.h" | 9 #include "src/cpu-profiler.h" |
10 #include "src/factory.h" | 10 #include "src/factory.h" |
(...skipping 494 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
505 | 505 |
506 | 506 |
507 void JSEntryStub::FinishCode(Handle<Code> code) { | 507 void JSEntryStub::FinishCode(Handle<Code> code) { |
508 Handle<FixedArray> handler_table = | 508 Handle<FixedArray> handler_table = |
509 code->GetIsolate()->factory()->NewFixedArray(1, TENURED); | 509 code->GetIsolate()->factory()->NewFixedArray(1, TENURED); |
510 handler_table->set(0, Smi::FromInt(handler_offset_)); | 510 handler_table->set(0, Smi::FromInt(handler_offset_)); |
511 code->set_handler_table(*handler_table); | 511 code->set_handler_table(*handler_table); |
512 } | 512 } |
513 | 513 |
514 | 514 |
| 515 void KeyedLoadFastElementStub::InitializeInterfaceDescriptor( |
| 516 CodeStubInterfaceDescriptor* descriptor) { |
| 517 descriptor->register_param_count_ = KeyedLoadIC::kRegisterArgumentCount; |
| 518 descriptor->register_params_ = KeyedLoadIC::registers; |
| 519 descriptor->deoptimization_handler_ = |
| 520 FUNCTION_ADDR(KeyedLoadIC_MissFromStubFailure); |
| 521 } |
| 522 |
| 523 |
| 524 void KeyedLoadDictionaryElementStub::InitializeInterfaceDescriptor( |
| 525 CodeStubInterfaceDescriptor* descriptor) { |
| 526 descriptor->register_param_count_ = KeyedLoadIC::kRegisterArgumentCount; |
| 527 descriptor->register_params_ = KeyedLoadIC::registers; |
| 528 descriptor->deoptimization_handler_ = |
| 529 FUNCTION_ADDR(KeyedLoadIC_MissFromStubFailure); |
| 530 } |
| 531 |
| 532 |
| 533 void KeyedLoadGenericElementStub::InitializeInterfaceDescriptor( |
| 534 CodeStubInterfaceDescriptor* descriptor) { |
| 535 descriptor->register_param_count_ = KeyedLoadIC::kRegisterArgumentCount; |
| 536 descriptor->register_params_ = KeyedLoadIC::registers; |
| 537 descriptor->deoptimization_handler_ = |
| 538 Runtime::FunctionForId(Runtime::kKeyedGetProperty)->entry; |
| 539 } |
| 540 |
| 541 |
515 void KeyedLoadDictionaryElementPlatformStub::Generate( | 542 void KeyedLoadDictionaryElementPlatformStub::Generate( |
516 MacroAssembler* masm) { | 543 MacroAssembler* masm) { |
517 KeyedLoadStubCompiler::GenerateLoadDictionaryElement(masm); | 544 KeyedLoadStubCompiler::GenerateLoadDictionaryElement(masm); |
518 } | 545 } |
519 | 546 |
520 | 547 |
521 void CreateAllocationSiteStub::GenerateAheadOfTime(Isolate* isolate) { | 548 void CreateAllocationSiteStub::GenerateAheadOfTime(Isolate* isolate) { |
522 CreateAllocationSiteStub stub(isolate); | 549 CreateAllocationSiteStub stub(isolate); |
523 stub.GetCode(); | 550 stub.GetCode(); |
524 } | 551 } |
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
802 InstallDescriptor(isolate, &stub3); | 829 InstallDescriptor(isolate, &stub3); |
803 } | 830 } |
804 | 831 |
805 InternalArrayConstructorStub::InternalArrayConstructorStub( | 832 InternalArrayConstructorStub::InternalArrayConstructorStub( |
806 Isolate* isolate) : PlatformCodeStub(isolate) { | 833 Isolate* isolate) : PlatformCodeStub(isolate) { |
807 InternalArrayConstructorStubBase::GenerateStubsAheadOfTime(isolate); | 834 InternalArrayConstructorStubBase::GenerateStubsAheadOfTime(isolate); |
808 } | 835 } |
809 | 836 |
810 | 837 |
811 } } // namespace v8::internal | 838 } } // namespace v8::internal |
OLD | NEW |