| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 #if V8_TARGET_ARCH_IA32 | 5 #if V8_TARGET_ARCH_IA32 |
| 6 | 6 |
| 7 #include "src/ic/handler-compiler.h" | 7 #include "src/ic/handler-compiler.h" |
| 8 | 8 |
| 9 #include "src/api-arguments.h" | 9 #include "src/api-arguments.h" |
| 10 #include "src/field-type.h" | 10 #include "src/field-type.h" |
| (...skipping 526 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 537 | 537 |
| 538 void NamedLoadHandlerCompiler::FrontendFooter(Handle<Name> name, Label* miss) { | 538 void NamedLoadHandlerCompiler::FrontendFooter(Handle<Name> name, Label* miss) { |
| 539 if (!miss->is_unused()) { | 539 if (!miss->is_unused()) { |
| 540 Label success; | 540 Label success; |
| 541 __ jmp(&success); | 541 __ jmp(&success); |
| 542 __ bind(miss); | 542 __ bind(miss); |
| 543 if (IC::ICUseVector(kind())) { | 543 if (IC::ICUseVector(kind())) { |
| 544 DCHECK(kind() == Code::LOAD_IC); | 544 DCHECK(kind() == Code::LOAD_IC); |
| 545 PopVectorAndSlot(); | 545 PopVectorAndSlot(); |
| 546 } | 546 } |
| 547 TailCallBuiltin(masm(), MissBuiltin(kind())); | 547 TailCallMissHandler(masm(), kind()); |
| 548 __ bind(&success); | 548 __ bind(&success); |
| 549 } | 549 } |
| 550 } | 550 } |
| 551 | 551 |
| 552 | 552 |
| 553 void NamedStoreHandlerCompiler::FrontendFooter(Handle<Name> name, Label* miss) { | 553 void NamedStoreHandlerCompiler::FrontendFooter(Handle<Name> name, Label* miss) { |
| 554 if (!miss->is_unused()) { | 554 if (!miss->is_unused()) { |
| 555 Label success; | 555 Label success; |
| 556 __ jmp(&success); | 556 __ jmp(&success); |
| 557 GenerateRestoreName(miss, name); | 557 GenerateRestoreName(miss, name); |
| 558 if (IC::ICUseVector(kind())) PopVectorAndSlot(); | 558 if (IC::ICUseVector(kind())) PopVectorAndSlot(); |
| 559 TailCallBuiltin(masm(), MissBuiltin(kind())); | 559 TailCallMissHandler(masm(), kind()); |
| 560 __ bind(&success); | 560 __ bind(&success); |
| 561 } | 561 } |
| 562 } | 562 } |
| 563 | 563 |
| 564 | 564 |
| 565 void NamedLoadHandlerCompiler::GenerateLoadConstant(Handle<Object> value) { | 565 void NamedLoadHandlerCompiler::GenerateLoadConstant(Handle<Object> value) { |
| 566 // Return the constant value. | 566 // Return the constant value. |
| 567 __ LoadObject(eax, value); | 567 __ LoadObject(eax, value); |
| 568 __ ret(0); | 568 __ ret(0); |
| 569 } | 569 } |
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 719 // Return the generated code. | 719 // Return the generated code. |
| 720 return GetCode(kind(), name); | 720 return GetCode(kind(), name); |
| 721 } | 721 } |
| 722 | 722 |
| 723 | 723 |
| 724 #undef __ | 724 #undef __ |
| 725 } // namespace internal | 725 } // namespace internal |
| 726 } // namespace v8 | 726 } // namespace v8 |
| 727 | 727 |
| 728 #endif // V8_TARGET_ARCH_IA32 | 728 #endif // V8_TARGET_ARCH_IA32 |
| OLD | NEW |