Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(734)

Side by Side Diff: src/ic/x64/handler-compiler-x64.cc

Issue 1817913003: Turn StoreWithInterceptor into a turbofan stub (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/ic/ppc/handler-compiler-ppc.cc ('k') | src/ic/x87/handler-compiler-x87.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_X64 5 #if V8_TARGET_ARCH_X64
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 742 matching lines...) Expand 10 before | Expand all | Expand 10 after
753 __ PushReturnAddressFrom(scratch1()); 753 __ PushReturnAddressFrom(scratch1());
754 754
755 // Do tail-call to the runtime system. 755 // Do tail-call to the runtime system.
756 __ TailCallRuntime(Runtime::kStoreCallbackProperty); 756 __ TailCallRuntime(Runtime::kStoreCallbackProperty);
757 757
758 // Return the generated code. 758 // Return the generated code.
759 return GetCode(kind(), Code::FAST, name); 759 return GetCode(kind(), Code::FAST, name);
760 } 760 }
761 761
762 762
763 Handle<Code> NamedStoreHandlerCompiler::CompileStoreInterceptor(
764 Handle<Name> name) {
765 __ PopReturnAddressTo(scratch1());
766 __ Push(receiver());
767 __ Push(this->name());
768 __ Push(value());
769 __ PushReturnAddressFrom(scratch1());
770
771 // Do tail-call to the runtime system.
772 __ TailCallRuntime(Runtime::kStorePropertyWithInterceptor);
773
774 // Return the generated code.
775 return GetCode(kind(), Code::FAST, name);
776 }
777
778
779 Register NamedStoreHandlerCompiler::value() { 763 Register NamedStoreHandlerCompiler::value() {
780 return StoreDescriptor::ValueRegister(); 764 return StoreDescriptor::ValueRegister();
781 } 765 }
782 766
783 767
784 Handle<Code> NamedLoadHandlerCompiler::CompileLoadGlobal( 768 Handle<Code> NamedLoadHandlerCompiler::CompileLoadGlobal(
785 Handle<PropertyCell> cell, Handle<Name> name, bool is_configurable) { 769 Handle<PropertyCell> cell, Handle<Name> name, bool is_configurable) {
786 Label miss; 770 Label miss;
787 if (IC::ICUseVector(kind())) { 771 if (IC::ICUseVector(kind())) {
788 PushVectorAndSlot(); 772 PushVectorAndSlot();
(...skipping 27 matching lines...) Expand all
816 // Return the generated code. 800 // Return the generated code.
817 return GetCode(kind(), Code::NORMAL, name); 801 return GetCode(kind(), Code::NORMAL, name);
818 } 802 }
819 803
820 804
821 #undef __ 805 #undef __
822 } // namespace internal 806 } // namespace internal
823 } // namespace v8 807 } // namespace v8
824 808
825 #endif // V8_TARGET_ARCH_X64 809 #endif // V8_TARGET_ARCH_X64
OLDNEW
« no previous file with comments | « src/ic/ppc/handler-compiler-ppc.cc ('k') | src/ic/x87/handler-compiler-x87.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698