| 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 |