OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 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_STUB_ASSEMBLER_H_ | 5 #ifndef V8_CODE_STUB_ASSEMBLER_H_ |
6 #define V8_CODE_STUB_ASSEMBLER_H_ | 6 #define V8_CODE_STUB_ASSEMBLER_H_ |
7 | 7 |
8 #include <functional> | 8 #include <functional> |
9 | 9 |
10 #include "src/compiler/code-assembler.h" | 10 #include "src/compiler/code-assembler.h" |
(...skipping 20 matching lines...) Expand all Loading... |
31 V(FixedCOWArrayMap, FixedCOWArrayMap) \ | 31 V(FixedCOWArrayMap, FixedCOWArrayMap) \ |
32 V(FixedDoubleArrayMap, FixedDoubleArrayMap) \ | 32 V(FixedDoubleArrayMap, FixedDoubleArrayMap) \ |
33 V(FunctionTemplateInfoMap, FunctionTemplateInfoMap) \ | 33 V(FunctionTemplateInfoMap, FunctionTemplateInfoMap) \ |
34 V(HeapNumberMap, HeapNumberMap) \ | 34 V(HeapNumberMap, HeapNumberMap) \ |
35 V(MinusZeroValue, MinusZero) \ | 35 V(MinusZeroValue, MinusZero) \ |
36 V(NanValue, Nan) \ | 36 V(NanValue, Nan) \ |
37 V(NullValue, Null) \ | 37 V(NullValue, Null) \ |
38 V(SymbolMap, SymbolMap) \ | 38 V(SymbolMap, SymbolMap) \ |
39 V(TheHoleValue, TheHole) \ | 39 V(TheHoleValue, TheHole) \ |
40 V(TrueValue, True) \ | 40 V(TrueValue, True) \ |
41 V(Tuple2Map, Tuple2Map) \ | |
42 V(Tuple3Map, Tuple3Map) \ | |
43 V(UndefinedValue, Undefined) | 41 V(UndefinedValue, Undefined) |
44 | 42 |
45 // Provides JavaScript-specific "macro-assembler" functionality on top of the | 43 // Provides JavaScript-specific "macro-assembler" functionality on top of the |
46 // CodeAssembler. By factoring the JavaScript-isms out of the CodeAssembler, | 44 // CodeAssembler. By factoring the JavaScript-isms out of the CodeAssembler, |
47 // it's possible to add JavaScript-specific useful CodeAssembler "macros" | 45 // it's possible to add JavaScript-specific useful CodeAssembler "macros" |
48 // without modifying files in the compiler directory (and requiring a review | 46 // without modifying files in the compiler directory (and requiring a review |
49 // from a compiler directory OWNER). | 47 // from a compiler directory OWNER). |
50 class V8_EXPORT_PRIVATE CodeStubAssembler : public compiler::CodeAssembler { | 48 class V8_EXPORT_PRIVATE CodeStubAssembler : public compiler::CodeAssembler { |
51 public: | 49 public: |
52 CodeStubAssembler(compiler::CodeAssemblerState* state) | 50 CodeStubAssembler(compiler::CodeAssemblerState* state) |
(...skipping 1162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1215 } | 1213 } |
1216 #else | 1214 #else |
1217 #define CSA_SLOW_ASSERT(csa, x) ((void)0) | 1215 #define CSA_SLOW_ASSERT(csa, x) ((void)0) |
1218 #endif | 1216 #endif |
1219 | 1217 |
1220 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); | 1218 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); |
1221 | 1219 |
1222 } // namespace internal | 1220 } // namespace internal |
1223 } // namespace v8 | 1221 } // namespace v8 |
1224 #endif // V8_CODE_STUB_ASSEMBLER_H_ | 1222 #endif // V8_CODE_STUB_ASSEMBLER_H_ |
OLD | NEW |