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

Side by Side Diff: src/interface-descriptors.h

Issue 1894953004: Add HasProperty code stub that tries simple lookups or jumps to runtime otherwise. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebasing Created 4 years, 8 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/ia32/interface-descriptors-ia32.cc ('k') | src/interface-descriptors.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 #ifndef V8_CALL_INTERFACE_DESCRIPTOR_H_ 5 #ifndef V8_CALL_INTERFACE_DESCRIPTOR_H_
6 #define V8_CALL_INTERFACE_DESCRIPTOR_H_ 6 #define V8_CALL_INTERFACE_DESCRIPTOR_H_
7 7
8 #include "src/assembler.h" 8 #include "src/assembler.h"
9 #include "src/macro-assembler.h" 9 #include "src/macro-assembler.h"
10 10
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 V(InternalArrayConstructorConstantArgCount) \ 64 V(InternalArrayConstructorConstantArgCount) \
65 V(InternalArrayConstructor) \ 65 V(InternalArrayConstructor) \
66 V(Compare) \ 66 V(Compare) \
67 V(BinaryOp) \ 67 V(BinaryOp) \
68 V(BinaryOpWithAllocationSite) \ 68 V(BinaryOpWithAllocationSite) \
69 V(CountOp) \ 69 V(CountOp) \
70 V(StringAdd) \ 70 V(StringAdd) \
71 V(StringCompare) \ 71 V(StringCompare) \
72 V(Keyed) \ 72 V(Keyed) \
73 V(Named) \ 73 V(Named) \
74 V(HasProperty) \
74 V(CallHandler) \ 75 V(CallHandler) \
75 V(ArgumentAdaptor) \ 76 V(ArgumentAdaptor) \
76 V(ApiCallbackWith0Args) \ 77 V(ApiCallbackWith0Args) \
77 V(ApiCallbackWith1Args) \ 78 V(ApiCallbackWith1Args) \
78 V(ApiCallbackWith2Args) \ 79 V(ApiCallbackWith2Args) \
79 V(ApiCallbackWith3Args) \ 80 V(ApiCallbackWith3Args) \
80 V(ApiCallbackWith4Args) \ 81 V(ApiCallbackWith4Args) \
81 V(ApiCallbackWith5Args) \ 82 V(ApiCallbackWith5Args) \
82 V(ApiCallbackWith6Args) \ 83 V(ApiCallbackWith6Args) \
83 V(ApiCallbackWith7Args) \ 84 V(ApiCallbackWith7Args) \
(...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after
425 426
426 class TypeConversionDescriptor final : public CallInterfaceDescriptor { 427 class TypeConversionDescriptor final : public CallInterfaceDescriptor {
427 public: 428 public:
428 enum ParameterIndices { kArgumentIndex }; 429 enum ParameterIndices { kArgumentIndex };
429 430
430 DECLARE_DESCRIPTOR(TypeConversionDescriptor, CallInterfaceDescriptor) 431 DECLARE_DESCRIPTOR(TypeConversionDescriptor, CallInterfaceDescriptor)
431 432
432 static const Register ArgumentRegister(); 433 static const Register ArgumentRegister();
433 }; 434 };
434 435
436 class HasPropertyDescriptor final : public CallInterfaceDescriptor {
437 public:
438 enum ParameterIndices { kKeyIndex, kObjectIndex };
439
440 DECLARE_DESCRIPTOR(HasPropertyDescriptor, CallInterfaceDescriptor)
441
442 static const Register KeyRegister();
443 static const Register ObjectRegister();
444 };
435 445
436 class TypeofDescriptor : public CallInterfaceDescriptor { 446 class TypeofDescriptor : public CallInterfaceDescriptor {
437 public: 447 public:
438 DECLARE_DESCRIPTOR(TypeofDescriptor, CallInterfaceDescriptor) 448 DECLARE_DESCRIPTOR(TypeofDescriptor, CallInterfaceDescriptor)
439 }; 449 };
440 450
441 451
442 class FastCloneRegExpDescriptor : public CallInterfaceDescriptor { 452 class FastCloneRegExpDescriptor : public CallInterfaceDescriptor {
443 public: 453 public:
444 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(FastCloneRegExpDescriptor, 454 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(FastCloneRegExpDescriptor,
(...skipping 401 matching lines...) Expand 10 before | Expand all | Expand 10 after
846 } // namespace v8 856 } // namespace v8
847 857
848 858
849 #if V8_TARGET_ARCH_ARM64 859 #if V8_TARGET_ARCH_ARM64
850 #include "src/arm64/interface-descriptors-arm64.h" 860 #include "src/arm64/interface-descriptors-arm64.h"
851 #elif V8_TARGET_ARCH_ARM 861 #elif V8_TARGET_ARCH_ARM
852 #include "src/arm/interface-descriptors-arm.h" 862 #include "src/arm/interface-descriptors-arm.h"
853 #endif 863 #endif
854 864
855 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ 865 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_
OLDNEW
« no previous file with comments | « src/ia32/interface-descriptors-ia32.cc ('k') | src/interface-descriptors.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698