OLD | NEW |
---|---|
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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_WASM_MACRO_GEN_H_ | 5 #ifndef V8_WASM_MACRO_GEN_H_ |
6 #define V8_WASM_MACRO_GEN_H_ | 6 #define V8_WASM_MACRO_GEN_H_ |
7 | 7 |
8 #include "src/wasm/wasm-opcodes.h" | 8 #include "src/wasm/wasm-opcodes.h" |
9 | 9 |
10 #define U32_LE(v) \ | 10 #define U32_LE(v) \ |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
103 | 103 |
104 #define WASM_NO_LOCALS 0 | 104 #define WASM_NO_LOCALS 0 |
105 | 105 |
106 namespace v8 { | 106 namespace v8 { |
107 namespace internal { | 107 namespace internal { |
108 namespace wasm { | 108 namespace wasm { |
109 | 109 |
110 inline void CheckI32v(int32_t value, int length) { | 110 inline void CheckI32v(int32_t value, int length) { |
111 DCHECK(length >= 1 && length <= 5); | 111 DCHECK(length >= 1 && length <= 5); |
112 DCHECK(length == 5 || I32V_IN_RANGE(value, length)); | 112 DCHECK(length == 5 || I32V_IN_RANGE(value, length)); |
113 DCHECK(length == 1 || !I32V_IN_RANGE(value, length - 1)); | |
binji
2016/03/11 18:10:03
yeah, probably better this way.
| |
114 } | 113 } |
115 | 114 |
116 inline void CheckI64v(int64_t value, int length) { | 115 inline void CheckI64v(int64_t value, int length) { |
117 DCHECK(length >= 1 && length <= 10); | 116 DCHECK(length >= 1 && length <= 10); |
118 DCHECK(length == 10 || I64V_IN_RANGE(value, length)); | 117 DCHECK(length == 10 || I64V_IN_RANGE(value, length)); |
119 DCHECK(length == 1 || !I64V_IN_RANGE(value, length - 1)); | |
120 } | 118 } |
121 | 119 |
122 // A helper for encoding local declarations prepended to the body of a | 120 // A helper for encoding local declarations prepended to the body of a |
123 // function. | 121 // function. |
124 class LocalDeclEncoder { | 122 class LocalDeclEncoder { |
125 public: | 123 public: |
126 // Prepend local declarations by creating a new buffer and copying data | 124 // Prepend local declarations by creating a new buffer and copying data |
127 // over. The new buffer must be delete[]'d by the caller. | 125 // over. The new buffer must be delete[]'d by the caller. |
128 void Prepend(const byte** start, const byte** end) const { | 126 void Prepend(const byte** start, const byte** end) const { |
129 size_t size = (*end - *start); | 127 size_t size = (*end - *start); |
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
505 #define WASM_F64_SCONVERT_I32(x) kExprF64SConvertI32, x | 503 #define WASM_F64_SCONVERT_I32(x) kExprF64SConvertI32, x |
506 #define WASM_F64_UCONVERT_I32(x) kExprF64UConvertI32, x | 504 #define WASM_F64_UCONVERT_I32(x) kExprF64UConvertI32, x |
507 #define WASM_F64_SCONVERT_I64(x) kExprF64SConvertI64, x | 505 #define WASM_F64_SCONVERT_I64(x) kExprF64SConvertI64, x |
508 #define WASM_F64_UCONVERT_I64(x) kExprF64UConvertI64, x | 506 #define WASM_F64_UCONVERT_I64(x) kExprF64UConvertI64, x |
509 #define WASM_F64_CONVERT_F32(x) kExprF64ConvertF32, x | 507 #define WASM_F64_CONVERT_F32(x) kExprF64ConvertF32, x |
510 #define WASM_F64_REINTERPRET_I64(x) kExprF64ReinterpretI64, x | 508 #define WASM_F64_REINTERPRET_I64(x) kExprF64ReinterpretI64, x |
511 #define WASM_I32_REINTERPRET_F32(x) kExprI32ReinterpretF32, x | 509 #define WASM_I32_REINTERPRET_F32(x) kExprI32ReinterpretF32, x |
512 #define WASM_I64_REINTERPRET_F64(x) kExprI64ReinterpretF64, x | 510 #define WASM_I64_REINTERPRET_F64(x) kExprI64ReinterpretF64, x |
513 | 511 |
514 #endif // V8_WASM_MACRO_GEN_H_ | 512 #endif // V8_WASM_MACRO_GEN_H_ |
OLD | NEW |