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

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

Issue 1735803003: [turbofan] Adds an Allocate macro to the CodeStubAssembler. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 10 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 | « no previous file | src/code-stubs.cc » ('j') | src/code-stubs.cc » ('J')
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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 V(ToNumber) \ 52 V(ToNumber) \
53 V(ToLength) \ 53 V(ToLength) \
54 V(ToString) \ 54 V(ToString) \
55 V(ToName) \ 55 V(ToName) \
56 V(ToObject) \ 56 V(ToObject) \
57 V(VectorStoreICTrampoline) \ 57 V(VectorStoreICTrampoline) \
58 V(VectorKeyedStoreICTrampoline) \ 58 V(VectorKeyedStoreICTrampoline) \
59 V(VectorStoreIC) \ 59 V(VectorStoreIC) \
60 V(VectorKeyedStoreIC) \ 60 V(VectorKeyedStoreIC) \
61 /* HydrogenCodeStubs */ \ 61 /* HydrogenCodeStubs */ \
62 V(AllocateHeapNumber) \
63 V(AllocateMutableHeapNumber) \
64 V(AllocateInNewSpace) \ 62 V(AllocateInNewSpace) \
65 V(ArrayNArgumentsConstructor) \ 63 V(ArrayNArgumentsConstructor) \
66 V(ArrayNoArgumentConstructor) \ 64 V(ArrayNoArgumentConstructor) \
67 V(ArraySingleArgumentConstructor) \ 65 V(ArraySingleArgumentConstructor) \
68 V(BinaryOpIC) \ 66 V(BinaryOpIC) \
69 V(BinaryOpWithAllocationSite) \ 67 V(BinaryOpWithAllocationSite) \
70 V(CreateAllocationSite) \ 68 V(CreateAllocationSite) \
71 V(CreateWeakCell) \ 69 V(CreateWeakCell) \
72 V(ElementsTransitionAndStore) \ 70 V(ElementsTransitionAndStore) \
73 V(FastCloneRegExp) \ 71 V(FastCloneRegExp) \
(...skipping 20 matching lines...) Expand all
94 V(StoreFastElement) \ 92 V(StoreFastElement) \
95 V(StoreGlobalViaContext) \ 93 V(StoreGlobalViaContext) \
96 V(StoreScriptContextField) \ 94 V(StoreScriptContextField) \
97 V(StringAdd) \ 95 V(StringAdd) \
98 V(ToBoolean) \ 96 V(ToBoolean) \
99 V(TransitionElementsKind) \ 97 V(TransitionElementsKind) \
100 V(KeyedLoadIC) \ 98 V(KeyedLoadIC) \
101 V(LoadIC) \ 99 V(LoadIC) \
102 /* TurboFanCodeStubs */ \ 100 /* TurboFanCodeStubs */ \
103 V(StringLength) \ 101 V(StringLength) \
102 V(AllocateHeapNumber) \
103 V(AllocateMutableHeapNumber) \
104 /* IC Handler stubs */ \ 104 /* IC Handler stubs */ \
105 V(ArrayBufferViewLoadField) \ 105 V(ArrayBufferViewLoadField) \
106 V(LoadConstant) \ 106 V(LoadConstant) \
107 V(LoadFastElement) \ 107 V(LoadFastElement) \
108 V(LoadField) \ 108 V(LoadField) \
109 V(KeyedLoadSloppyArguments) \ 109 V(KeyedLoadSloppyArguments) \
110 V(KeyedStoreSloppyArguments) \ 110 V(KeyedStoreSloppyArguments) \
111 V(StoreField) \ 111 V(StoreField) \
112 V(StoreGlobal) \ 112 V(StoreGlobal) \
113 V(StoreTransition) 113 V(StoreTransition)
(...skipping 2287 matching lines...) Expand 10 before | Expand all | Expand 10 after
2401 2401
2402 private: 2402 private:
2403 class FromKindBits: public BitField<ElementsKind, 8, 8> {}; 2403 class FromKindBits: public BitField<ElementsKind, 8, 8> {};
2404 class ToKindBits: public BitField<ElementsKind, 0, 8> {}; 2404 class ToKindBits: public BitField<ElementsKind, 0, 8> {};
2405 class IsJSArrayBits: public BitField<bool, 16, 1> {}; 2405 class IsJSArrayBits: public BitField<bool, 16, 1> {};
2406 2406
2407 DEFINE_CALL_INTERFACE_DESCRIPTOR(TransitionElementsKind); 2407 DEFINE_CALL_INTERFACE_DESCRIPTOR(TransitionElementsKind);
2408 DEFINE_HYDROGEN_CODE_STUB(TransitionElementsKind, HydrogenCodeStub); 2408 DEFINE_HYDROGEN_CODE_STUB(TransitionElementsKind, HydrogenCodeStub);
2409 }; 2409 };
2410 2410
2411 2411 class AllocateHeapNumberStub : public TurboFanCodeStub {
2412 class AllocateHeapNumberStub final : public HydrogenCodeStub {
2413 public: 2412 public:
2414 explicit AllocateHeapNumberStub(Isolate* isolate) 2413 explicit AllocateHeapNumberStub(Isolate* isolate)
2415 : HydrogenCodeStub(isolate) {} 2414 : TurboFanCodeStub(isolate) {}
2416 2415
2417 private: 2416 void InitializeDescriptor(CodeStubDescriptor* descriptor) override;
2417 void GenerateAssembly(compiler::CodeStubAssembler* assembler) const override;
2418
2418 DEFINE_CALL_INTERFACE_DESCRIPTOR(AllocateHeapNumber); 2419 DEFINE_CALL_INTERFACE_DESCRIPTOR(AllocateHeapNumber);
2419 DEFINE_HYDROGEN_CODE_STUB(AllocateHeapNumber, HydrogenCodeStub); 2420 DEFINE_CODE_STUB(AllocateHeapNumber, TurboFanCodeStub);
2421 };
2422
2423 class AllocateMutableHeapNumberStub : public TurboFanCodeStub {
2424 public:
2425 explicit AllocateMutableHeapNumberStub(Isolate* isolate)
2426 : TurboFanCodeStub(isolate) {}
2427
2428 void InitializeDescriptor(CodeStubDescriptor* descriptor) override;
2429 void GenerateAssembly(compiler::CodeStubAssembler* assembler) const override;
2430
2431 DEFINE_CALL_INTERFACE_DESCRIPTOR(AllocateMutableHeapNumber);
2432 DEFINE_CODE_STUB(AllocateMutableHeapNumber, TurboFanCodeStub);
2420 }; 2433 };
2421 2434
2422 2435
2423 class AllocateMutableHeapNumberStub final : public HydrogenCodeStub {
2424 public:
2425 explicit AllocateMutableHeapNumberStub(Isolate* isolate)
2426 : HydrogenCodeStub(isolate) {}
2427
2428 private:
2429 DEFINE_CALL_INTERFACE_DESCRIPTOR(AllocateMutableHeapNumber);
2430 DEFINE_HYDROGEN_CODE_STUB(AllocateMutableHeapNumber, HydrogenCodeStub);
2431 };
2432
2433
2434 class AllocateInNewSpaceStub final : public HydrogenCodeStub { 2436 class AllocateInNewSpaceStub final : public HydrogenCodeStub {
2435 public: 2437 public:
2436 explicit AllocateInNewSpaceStub(Isolate* isolate) 2438 explicit AllocateInNewSpaceStub(Isolate* isolate)
2437 : HydrogenCodeStub(isolate) {} 2439 : HydrogenCodeStub(isolate) {}
2438 2440
2439 private: 2441 private:
2440 DEFINE_CALL_INTERFACE_DESCRIPTOR(AllocateInNewSpace); 2442 DEFINE_CALL_INTERFACE_DESCRIPTOR(AllocateInNewSpace);
2441 DEFINE_HYDROGEN_CODE_STUB(AllocateInNewSpace, HydrogenCodeStub); 2443 DEFINE_HYDROGEN_CODE_STUB(AllocateInNewSpace, HydrogenCodeStub);
2442 }; 2444 };
2443 2445
(...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after
2875 #undef DEFINE_HYDROGEN_CODE_STUB 2877 #undef DEFINE_HYDROGEN_CODE_STUB
2876 #undef DEFINE_CODE_STUB 2878 #undef DEFINE_CODE_STUB
2877 #undef DEFINE_CODE_STUB_BASE 2879 #undef DEFINE_CODE_STUB_BASE
2878 2880
2879 extern Representation RepresentationFromType(Type* type); 2881 extern Representation RepresentationFromType(Type* type);
2880 2882
2881 } // namespace internal 2883 } // namespace internal
2882 } // namespace v8 2884 } // namespace v8
2883 2885
2884 #endif // V8_CODE_STUBS_H_ 2886 #endif // V8_CODE_STUBS_H_
OLDNEW
« no previous file with comments | « no previous file | src/code-stubs.cc » ('j') | src/code-stubs.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698