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

Side by Side Diff: src/code-stubs.h

Issue 1266013006: [stubs] Unify (and optimize) implementation of ToObject. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Add missing support for %_ToObject in TurboFan and Crankshaft. Created 5 years, 4 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/code-factory.cc ('k') | src/code-stubs.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 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 #ifndef V8_CODE_STUBS_H_ 5 #ifndef V8_CODE_STUBS_H_
6 #define V8_CODE_STUBS_H_ 6 #define V8_CODE_STUBS_H_
7 7
8 #include "src/allocation.h" 8 #include "src/allocation.h"
9 #include "src/assembler.h" 9 #include "src/assembler.h"
10 #include "src/codegen.h" 10 #include "src/codegen.h"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 V(ProfileEntryHook) \ 47 V(ProfileEntryHook) \
48 V(RecordWrite) \ 48 V(RecordWrite) \
49 V(RegExpExec) \ 49 V(RegExpExec) \
50 V(StoreArrayLiteralElement) \ 50 V(StoreArrayLiteralElement) \
51 V(StoreBufferOverflow) \ 51 V(StoreBufferOverflow) \
52 V(StoreElement) \ 52 V(StoreElement) \
53 V(StringCompare) \ 53 V(StringCompare) \
54 V(StubFailureTrampoline) \ 54 V(StubFailureTrampoline) \
55 V(SubString) \ 55 V(SubString) \
56 V(ToNumber) \ 56 V(ToNumber) \
57 V(ToObject) \
57 V(VectorStoreICTrampoline) \ 58 V(VectorStoreICTrampoline) \
58 V(VectorKeyedStoreICTrampoline) \ 59 V(VectorKeyedStoreICTrampoline) \
59 V(VectorStoreIC) \ 60 V(VectorStoreIC) \
60 V(VectorKeyedStoreIC) \ 61 V(VectorKeyedStoreIC) \
61 /* HydrogenCodeStubs */ \ 62 /* HydrogenCodeStubs */ \
62 V(AllocateHeapNumber) \ 63 V(AllocateHeapNumber) \
63 V(ArrayNArgumentsConstructor) \ 64 V(ArrayNArgumentsConstructor) \
64 V(ArrayNoArgumentConstructor) \ 65 V(ArrayNoArgumentConstructor) \
65 V(ArraySingleArgumentConstructor) \ 66 V(ArraySingleArgumentConstructor) \
66 V(BinaryOpIC) \ 67 V(BinaryOpIC) \
(...skipping 2976 matching lines...) Expand 10 before | Expand all | Expand 10 after
3043 3044
3044 class ToNumberStub final : public PlatformCodeStub { 3045 class ToNumberStub final : public PlatformCodeStub {
3045 public: 3046 public:
3046 explicit ToNumberStub(Isolate* isolate) : PlatformCodeStub(isolate) {} 3047 explicit ToNumberStub(Isolate* isolate) : PlatformCodeStub(isolate) {}
3047 3048
3048 DEFINE_CALL_INTERFACE_DESCRIPTOR(ToNumber); 3049 DEFINE_CALL_INTERFACE_DESCRIPTOR(ToNumber);
3049 DEFINE_PLATFORM_CODE_STUB(ToNumber, PlatformCodeStub); 3050 DEFINE_PLATFORM_CODE_STUB(ToNumber, PlatformCodeStub);
3050 }; 3051 };
3051 3052
3052 3053
3054 class ToObjectStub final : public HydrogenCodeStub {
3055 public:
3056 explicit ToObjectStub(Isolate* isolate) : HydrogenCodeStub(isolate) {}
3057
3058 DEFINE_CALL_INTERFACE_DESCRIPTOR(ToObject);
3059 DEFINE_HYDROGEN_CODE_STUB(ToObject, HydrogenCodeStub);
3060 };
3061
3062
3053 class StringCompareStub : public PlatformCodeStub { 3063 class StringCompareStub : public PlatformCodeStub {
3054 public: 3064 public:
3055 explicit StringCompareStub(Isolate* isolate) : PlatformCodeStub(isolate) {} 3065 explicit StringCompareStub(Isolate* isolate) : PlatformCodeStub(isolate) {}
3056 3066
3057 DEFINE_CALL_INTERFACE_DESCRIPTOR(ContextOnly); 3067 DEFINE_CALL_INTERFACE_DESCRIPTOR(ContextOnly);
3058 DEFINE_PLATFORM_CODE_STUB(StringCompare, PlatformCodeStub); 3068 DEFINE_PLATFORM_CODE_STUB(StringCompare, PlatformCodeStub);
3059 }; 3069 };
3060 3070
3061 3071
3062 #undef DEFINE_CALL_INTERFACE_DESCRIPTOR 3072 #undef DEFINE_CALL_INTERFACE_DESCRIPTOR
3063 #undef DEFINE_PLATFORM_CODE_STUB 3073 #undef DEFINE_PLATFORM_CODE_STUB
3064 #undef DEFINE_HANDLER_CODE_STUB 3074 #undef DEFINE_HANDLER_CODE_STUB
3065 #undef DEFINE_HYDROGEN_CODE_STUB 3075 #undef DEFINE_HYDROGEN_CODE_STUB
3066 #undef DEFINE_CODE_STUB 3076 #undef DEFINE_CODE_STUB
3067 #undef DEFINE_CODE_STUB_BASE 3077 #undef DEFINE_CODE_STUB_BASE
3068 3078
3069 extern Representation RepresentationFromType(Type* type); 3079 extern Representation RepresentationFromType(Type* type);
3070 } } // namespace v8::internal 3080 } } // namespace v8::internal
3071 3081
3072 #endif // V8_CODE_STUBS_H_ 3082 #endif // V8_CODE_STUBS_H_
OLDNEW
« no previous file with comments | « src/code-factory.cc ('k') | src/code-stubs.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698