| 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 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 51 class V8_EXPORT_PRIVATE CodeStubAssembler : public compiler::CodeAssembler { | 51 class V8_EXPORT_PRIVATE CodeStubAssembler : public compiler::CodeAssembler { |
| 52 public: | 52 public: |
| 53 typedef compiler::Node Node; | 53 typedef compiler::Node Node; |
| 54 | 54 |
| 55 CodeStubAssembler(compiler::CodeAssemblerState* state) | 55 CodeStubAssembler(compiler::CodeAssemblerState* state) |
| 56 : compiler::CodeAssembler(state) {} | 56 : compiler::CodeAssembler(state) {} |
| 57 | 57 |
| 58 enum AllocationFlag : uint8_t { | 58 enum AllocationFlag : uint8_t { |
| 59 kNone = 0, | 59 kNone = 0, |
| 60 kDoubleAlignment = 1, | 60 kDoubleAlignment = 1, |
| 61 kPretenured = 1 << 1 | 61 kPretenured = 1 << 1, |
| 62 kAllowLargeObjectAllocation = 1 << 2, |
| 62 }; | 63 }; |
| 63 | 64 |
| 64 typedef base::Flags<AllocationFlag> AllocationFlags; | 65 typedef base::Flags<AllocationFlag> AllocationFlags; |
| 65 | 66 |
| 66 // TODO(ishell): Fix all loads/stores from arrays by int32 offsets/indices | 67 // TODO(ishell): Fix all loads/stores from arrays by int32 offsets/indices |
| 67 // and eventually remove INTEGER_PARAMETERS in favour of INTPTR_PARAMETERS. | 68 // and eventually remove INTEGER_PARAMETERS in favour of INTPTR_PARAMETERS. |
| 68 enum ParameterMode { INTEGER_PARAMETERS, SMI_PARAMETERS, INTPTR_PARAMETERS }; | 69 enum ParameterMode { INTEGER_PARAMETERS, SMI_PARAMETERS, INTPTR_PARAMETERS }; |
| 69 | 70 |
| 70 // On 32-bit platforms, there is a slight performance advantage to doing all | 71 // On 32-bit platforms, there is a slight performance advantage to doing all |
| 71 // of the array offset/index arithmetic with SMIs, since it's possible | 72 // of the array offset/index arithmetic with SMIs, since it's possible |
| (...skipping 1056 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1128 } | 1129 } |
| 1129 #else | 1130 #else |
| 1130 #define CSA_SLOW_ASSERT(csa, x) ((void)0) | 1131 #define CSA_SLOW_ASSERT(csa, x) ((void)0) |
| 1131 #endif | 1132 #endif |
| 1132 | 1133 |
| 1133 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); | 1134 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); |
| 1134 | 1135 |
| 1135 } // namespace internal | 1136 } // namespace internal |
| 1136 } // namespace v8 | 1137 } // namespace v8 |
| 1137 #endif // V8_CODE_STUB_ASSEMBLER_H_ | 1138 #endif // V8_CODE_STUB_ASSEMBLER_H_ |
| OLD | NEW |