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

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: Update. 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 | « no previous file | 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 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 19 matching lines...) Expand all
93 V(RegExpConstructResult) \ 91 V(RegExpConstructResult) \
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(ToBooleanIC) \ 96 V(ToBooleanIC) \
99 V(TransitionElementsKind) \ 97 V(TransitionElementsKind) \
100 V(KeyedLoadIC) \ 98 V(KeyedLoadIC) \
101 V(LoadIC) \ 99 V(LoadIC) \
102 /* TurboFanCodeStubs */ \ 100 /* TurboFanCodeStubs */ \
101 V(AllocateHeapNumber) \
102 V(AllocateMutableHeapNumber) \
103 V(StringLength) \ 103 V(StringLength) \
104 V(ToBoolean) \ 104 V(ToBoolean) \
105 /* IC Handler stubs */ \ 105 /* IC Handler stubs */ \
106 V(ArrayBufferViewLoadField) \ 106 V(ArrayBufferViewLoadField) \
107 V(LoadConstant) \ 107 V(LoadConstant) \
108 V(LoadFastElement) \ 108 V(LoadFastElement) \
109 V(LoadField) \ 109 V(LoadField) \
110 V(KeyedLoadSloppyArguments) \ 110 V(KeyedLoadSloppyArguments) \
111 V(KeyedStoreSloppyArguments) \ 111 V(KeyedStoreSloppyArguments) \
112 V(StoreField) \ 112 V(StoreField) \
(...skipping 2298 matching lines...) Expand 10 before | Expand all | Expand 10 after
2411 2411
2412 private: 2412 private:
2413 class FromKindBits: public BitField<ElementsKind, 8, 8> {}; 2413 class FromKindBits: public BitField<ElementsKind, 8, 8> {};
2414 class ToKindBits: public BitField<ElementsKind, 0, 8> {}; 2414 class ToKindBits: public BitField<ElementsKind, 0, 8> {};
2415 class IsJSArrayBits: public BitField<bool, 16, 1> {}; 2415 class IsJSArrayBits: public BitField<bool, 16, 1> {};
2416 2416
2417 DEFINE_CALL_INTERFACE_DESCRIPTOR(TransitionElementsKind); 2417 DEFINE_CALL_INTERFACE_DESCRIPTOR(TransitionElementsKind);
2418 DEFINE_HYDROGEN_CODE_STUB(TransitionElementsKind, HydrogenCodeStub); 2418 DEFINE_HYDROGEN_CODE_STUB(TransitionElementsKind, HydrogenCodeStub);
2419 }; 2419 };
2420 2420
2421 2421 class AllocateHeapNumberStub : public TurboFanCodeStub {
2422 class AllocateHeapNumberStub final : public HydrogenCodeStub {
2423 public: 2422 public:
2424 explicit AllocateHeapNumberStub(Isolate* isolate) 2423 explicit AllocateHeapNumberStub(Isolate* isolate)
2425 : HydrogenCodeStub(isolate) {} 2424 : TurboFanCodeStub(isolate) {}
2426 2425
2427 private: 2426 void InitializeDescriptor(CodeStubDescriptor* descriptor) override;
2427 void GenerateAssembly(compiler::CodeStubAssembler* assembler) const override;
2428
2428 DEFINE_CALL_INTERFACE_DESCRIPTOR(AllocateHeapNumber); 2429 DEFINE_CALL_INTERFACE_DESCRIPTOR(AllocateHeapNumber);
2429 DEFINE_HYDROGEN_CODE_STUB(AllocateHeapNumber, HydrogenCodeStub); 2430 DEFINE_CODE_STUB(AllocateHeapNumber, TurboFanCodeStub);
2431 };
2432
2433 class AllocateMutableHeapNumberStub : public TurboFanCodeStub {
2434 public:
2435 explicit AllocateMutableHeapNumberStub(Isolate* isolate)
2436 : TurboFanCodeStub(isolate) {}
2437
2438 void InitializeDescriptor(CodeStubDescriptor* descriptor) override;
2439 void GenerateAssembly(compiler::CodeStubAssembler* assembler) const override;
2440
2441 DEFINE_CALL_INTERFACE_DESCRIPTOR(AllocateMutableHeapNumber);
2442 DEFINE_CODE_STUB(AllocateMutableHeapNumber, TurboFanCodeStub);
2430 }; 2443 };
2431 2444
2432 2445
2433 class AllocateMutableHeapNumberStub final : public HydrogenCodeStub {
2434 public:
2435 explicit AllocateMutableHeapNumberStub(Isolate* isolate)
2436 : HydrogenCodeStub(isolate) {}
2437
2438 private:
2439 DEFINE_CALL_INTERFACE_DESCRIPTOR(AllocateMutableHeapNumber);
2440 DEFINE_HYDROGEN_CODE_STUB(AllocateMutableHeapNumber, HydrogenCodeStub);
2441 };
2442
2443
2444 class AllocateInNewSpaceStub final : public HydrogenCodeStub { 2446 class AllocateInNewSpaceStub final : public HydrogenCodeStub {
2445 public: 2447 public:
2446 explicit AllocateInNewSpaceStub(Isolate* isolate) 2448 explicit AllocateInNewSpaceStub(Isolate* isolate)
2447 : HydrogenCodeStub(isolate) {} 2449 : HydrogenCodeStub(isolate) {}
2448 2450
2449 private: 2451 private:
2450 DEFINE_CALL_INTERFACE_DESCRIPTOR(AllocateInNewSpace); 2452 DEFINE_CALL_INTERFACE_DESCRIPTOR(AllocateInNewSpace);
2451 DEFINE_HYDROGEN_CODE_STUB(AllocateInNewSpace, HydrogenCodeStub); 2453 DEFINE_HYDROGEN_CODE_STUB(AllocateInNewSpace, HydrogenCodeStub);
2452 }; 2454 };
2453 2455
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after
2881 #undef DEFINE_HYDROGEN_CODE_STUB 2883 #undef DEFINE_HYDROGEN_CODE_STUB
2882 #undef DEFINE_CODE_STUB 2884 #undef DEFINE_CODE_STUB
2883 #undef DEFINE_CODE_STUB_BASE 2885 #undef DEFINE_CODE_STUB_BASE
2884 2886
2885 extern Representation RepresentationFromType(Type* type); 2887 extern Representation RepresentationFromType(Type* type);
2886 2888
2887 } // namespace internal 2889 } // namespace internal
2888 } // namespace v8 2890 } // namespace v8
2889 2891
2890 #endif // V8_CODE_STUBS_H_ 2892 #endif // V8_CODE_STUBS_H_
OLDNEW
« no previous file with comments | « no previous file | src/code-stubs.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698