OLD | NEW |
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 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
92 V(StoreGlobalViaContext) \ | 92 V(StoreGlobalViaContext) \ |
93 V(StoreScriptContextField) \ | 93 V(StoreScriptContextField) \ |
94 V(StringAdd) \ | 94 V(StringAdd) \ |
95 V(ToBooleanIC) \ | 95 V(ToBooleanIC) \ |
96 V(TransitionElementsKind) \ | 96 V(TransitionElementsKind) \ |
97 V(KeyedLoadIC) \ | 97 V(KeyedLoadIC) \ |
98 V(LoadIC) \ | 98 V(LoadIC) \ |
99 /* TurboFanCodeStubs */ \ | 99 /* TurboFanCodeStubs */ \ |
100 V(AllocateHeapNumber) \ | 100 V(AllocateHeapNumber) \ |
101 V(AllocateMutableHeapNumber) \ | 101 V(AllocateMutableHeapNumber) \ |
| 102 V(AllocateFloat32x4) \ |
| 103 V(AllocateInt32x4) \ |
| 104 V(AllocateUint32x4) \ |
| 105 V(AllocateBool32x4) \ |
| 106 V(AllocateInt16x8) \ |
| 107 V(AllocateUint16x8) \ |
| 108 V(AllocateBool16x8) \ |
| 109 V(AllocateInt8x16) \ |
| 110 V(AllocateUint8x16) \ |
| 111 V(AllocateBool8x16) \ |
102 V(StringLength) \ | 112 V(StringLength) \ |
103 V(LessThan) \ | 113 V(LessThan) \ |
104 V(LessThanOrEqual) \ | 114 V(LessThanOrEqual) \ |
105 V(GreaterThan) \ | 115 V(GreaterThan) \ |
106 V(GreaterThanOrEqual) \ | 116 V(GreaterThanOrEqual) \ |
107 V(Equal) \ | 117 V(Equal) \ |
108 V(NotEqual) \ | 118 V(NotEqual) \ |
109 V(StrictEqual) \ | 119 V(StrictEqual) \ |
110 V(StrictNotEqual) \ | 120 V(StrictNotEqual) \ |
111 V(StringEqual) \ | 121 V(StringEqual) \ |
(...skipping 2440 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2552 explicit AllocateMutableHeapNumberStub(Isolate* isolate) | 2562 explicit AllocateMutableHeapNumberStub(Isolate* isolate) |
2553 : TurboFanCodeStub(isolate) {} | 2563 : TurboFanCodeStub(isolate) {} |
2554 | 2564 |
2555 void InitializeDescriptor(CodeStubDescriptor* descriptor) override; | 2565 void InitializeDescriptor(CodeStubDescriptor* descriptor) override; |
2556 void GenerateAssembly(compiler::CodeStubAssembler* assembler) const override; | 2566 void GenerateAssembly(compiler::CodeStubAssembler* assembler) const override; |
2557 | 2567 |
2558 DEFINE_CALL_INTERFACE_DESCRIPTOR(AllocateMutableHeapNumber); | 2568 DEFINE_CALL_INTERFACE_DESCRIPTOR(AllocateMutableHeapNumber); |
2559 DEFINE_CODE_STUB(AllocateMutableHeapNumber, TurboFanCodeStub); | 2569 DEFINE_CODE_STUB(AllocateMutableHeapNumber, TurboFanCodeStub); |
2560 }; | 2570 }; |
2561 | 2571 |
| 2572 #define SIMD128_ALLOC_STUB(TYPE, Type, type, lane_count, lane_type) \ |
| 2573 class Allocate##Type##Stub : public TurboFanCodeStub { \ |
| 2574 public: \ |
| 2575 explicit Allocate##Type##Stub(Isolate* isolate) \ |
| 2576 : TurboFanCodeStub(isolate) {} \ |
| 2577 \ |
| 2578 void InitializeDescriptor(CodeStubDescriptor* descriptor) override; \ |
| 2579 void GenerateAssembly( \ |
| 2580 compiler::CodeStubAssembler* assembler) const override; \ |
| 2581 \ |
| 2582 DEFINE_CALL_INTERFACE_DESCRIPTOR(Allocate##Type); \ |
| 2583 DEFINE_CODE_STUB(Allocate##Type, TurboFanCodeStub); \ |
| 2584 }; |
| 2585 SIMD128_TYPES(SIMD128_ALLOC_STUB) |
| 2586 #undef SIMD128_ALLOC_STUB |
| 2587 |
2562 class AllocateInNewSpaceStub final : public HydrogenCodeStub { | 2588 class AllocateInNewSpaceStub final : public HydrogenCodeStub { |
2563 public: | 2589 public: |
2564 explicit AllocateInNewSpaceStub(Isolate* isolate) | 2590 explicit AllocateInNewSpaceStub(Isolate* isolate) |
2565 : HydrogenCodeStub(isolate) {} | 2591 : HydrogenCodeStub(isolate) {} |
2566 | 2592 |
2567 private: | 2593 private: |
2568 DEFINE_CALL_INTERFACE_DESCRIPTOR(AllocateInNewSpace); | 2594 DEFINE_CALL_INTERFACE_DESCRIPTOR(AllocateInNewSpace); |
2569 DEFINE_HYDROGEN_CODE_STUB(AllocateInNewSpace, HydrogenCodeStub); | 2595 DEFINE_HYDROGEN_CODE_STUB(AllocateInNewSpace, HydrogenCodeStub); |
2570 }; | 2596 }; |
2571 | 2597 |
(...skipping 433 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3005 #undef DEFINE_HYDROGEN_CODE_STUB | 3031 #undef DEFINE_HYDROGEN_CODE_STUB |
3006 #undef DEFINE_CODE_STUB | 3032 #undef DEFINE_CODE_STUB |
3007 #undef DEFINE_CODE_STUB_BASE | 3033 #undef DEFINE_CODE_STUB_BASE |
3008 | 3034 |
3009 extern Representation RepresentationFromType(Type* type); | 3035 extern Representation RepresentationFromType(Type* type); |
3010 | 3036 |
3011 } // namespace internal | 3037 } // namespace internal |
3012 } // namespace v8 | 3038 } // namespace v8 |
3013 | 3039 |
3014 #endif // V8_CODE_STUBS_H_ | 3040 #endif // V8_CODE_STUBS_H_ |
OLD | NEW |