Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Side by Side Diff: src/wasm/wasm-macro-gen.h

Issue 1775873002: [Wasm] Convert many of the fixed-size values to LEB128. (Closed) Base URL: http://chromium.googlesource.com/v8/v8.git@master
Patch Set: fix windows Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/wasm/module-decoder.cc ('k') | src/wasm/wasm-module.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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) \
11 static_cast<byte>(v), static_cast<byte>((v) >> 8), \ 11 static_cast<byte>(v), static_cast<byte>((v) >> 8), \
12 static_cast<byte>((v) >> 16), static_cast<byte>((v) >> 24) 12 static_cast<byte>((v) >> 16), static_cast<byte>((v) >> 24)
13 13
14 #define U16_LE(v) static_cast<byte>(v), static_cast<byte>((v) >> 8) 14 #define U16_LE(v) static_cast<byte>(v), static_cast<byte>((v) >> 8)
15 15
16 #define WASM_MODULE_HEADER U32_LE(kWasmMagic), U32_LE(kWasmVersion) 16 #define WASM_MODULE_HEADER U32_LE(kWasmMagic), U32_LE(kWasmVersion)
17 17
18 #define SIG_INDEX(v) U16_LE(v) 18 #define SIG_INDEX(v) U16_LE(v)
19 #define FUNC_INDEX(v) U16_LE(v) 19 #define FUNC_INDEX(v) U32V_1(v)
20 #define NAME_OFFSET(v) U32_LE(v) 20 #define NAME_OFFSET(v) U32_LE(v)
21 #define BR_TARGET(v) U16_LE(v) 21
22 #define BR_TARGET(v) U32_LE(v)
22 23
23 #define MASK_7 ((1 << 7) - 1) 24 #define MASK_7 ((1 << 7) - 1)
24 #define MASK_14 ((1 << 14) - 1) 25 #define MASK_14 ((1 << 14) - 1)
25 #define MASK_21 ((1 << 21) - 1) 26 #define MASK_21 ((1 << 21) - 1)
26 #define MASK_28 ((1 << 28) - 1) 27 #define MASK_28 ((1 << 28) - 1)
27 28
28 #define U32V_1(x) static_cast<byte>((x)&MASK_7) 29 #define U32V_1(x) static_cast<byte>((x)&MASK_7)
29 #define U32V_2(x) \ 30 #define U32V_2(x) \
30 static_cast<byte>(((x)&MASK_7) | 0x80), static_cast<byte>(((x) >> 7) & MASK_7) 31 static_cast<byte>(((x)&MASK_7) | 0x80), static_cast<byte>(((x) >> 7) & MASK_7)
31 #define U32V_3(x) \ 32 #define U32V_3(x) \
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 #define WASM_BRV_IF(depth, val, cond) \ 65 #define WASM_BRV_IF(depth, val, cond) \
65 kExprBrIf, static_cast<byte>(depth), val, cond 66 kExprBrIf, static_cast<byte>(depth), val, cond
66 #define WASM_BREAK(depth) kExprBr, static_cast<byte>(depth + 1), kExprNop 67 #define WASM_BREAK(depth) kExprBr, static_cast<byte>(depth + 1), kExprNop
67 #define WASM_CONTINUE(depth) kExprBr, static_cast<byte>(depth), kExprNop 68 #define WASM_CONTINUE(depth) kExprBr, static_cast<byte>(depth), kExprNop
68 #define WASM_BREAKV(depth, val) kExprBr, static_cast<byte>(depth + 1), val 69 #define WASM_BREAKV(depth, val) kExprBr, static_cast<byte>(depth + 1), val
69 #define WASM_RETURN0 kExprReturn 70 #define WASM_RETURN0 kExprReturn
70 #define WASM_RETURN(...) kExprReturn, __VA_ARGS__ 71 #define WASM_RETURN(...) kExprReturn, __VA_ARGS__
71 #define WASM_UNREACHABLE kExprUnreachable 72 #define WASM_UNREACHABLE kExprUnreachable
72 73
73 #define WASM_BR_TABLE(key, count, ...) \ 74 #define WASM_BR_TABLE(key, count, ...) \
74 kExprBrTable, U16_LE(count), __VA_ARGS__, key 75 kExprBrTable, U32V_1(count), __VA_ARGS__, key
75 76
76 #define WASM_CASE(x) static_cast<byte>(x), static_cast<byte>(x >> 8) 77 #define WASM_CASE(x) static_cast<byte>(x), static_cast<byte>(x >> 8)
77 #define WASM_CASE_BR(x) static_cast<byte>(x), static_cast<byte>(0x80 | (x) >> 8) 78 #define WASM_CASE_BR(x) static_cast<byte>(x), static_cast<byte>(0x80 | (x) >> 8)
78 79
79 //------------------------------------------------------------------------------ 80 //------------------------------------------------------------------------------
80 // Misc expressions. 81 // Misc expressions.
81 //------------------------------------------------------------------------------ 82 //------------------------------------------------------------------------------
82 #define WASM_ID(...) __VA_ARGS__ 83 #define WASM_ID(...) __VA_ARGS__
83 #define WASM_ZERO kExprI8Const, 0 84 #define WASM_ZERO kExprI8Const, 0
84 #define WASM_ONE kExprI8Const, 1 85 #define WASM_ONE kExprI8Const, 1
(...skipping 415 matching lines...) Expand 10 before | Expand all | Expand 10 after
500 #define WASM_F64_SCONVERT_I32(x) kExprF64SConvertI32, x 501 #define WASM_F64_SCONVERT_I32(x) kExprF64SConvertI32, x
501 #define WASM_F64_UCONVERT_I32(x) kExprF64UConvertI32, x 502 #define WASM_F64_UCONVERT_I32(x) kExprF64UConvertI32, x
502 #define WASM_F64_SCONVERT_I64(x) kExprF64SConvertI64, x 503 #define WASM_F64_SCONVERT_I64(x) kExprF64SConvertI64, x
503 #define WASM_F64_UCONVERT_I64(x) kExprF64UConvertI64, x 504 #define WASM_F64_UCONVERT_I64(x) kExprF64UConvertI64, x
504 #define WASM_F64_CONVERT_F32(x) kExprF64ConvertF32, x 505 #define WASM_F64_CONVERT_F32(x) kExprF64ConvertF32, x
505 #define WASM_F64_REINTERPRET_I64(x) kExprF64ReinterpretI64, x 506 #define WASM_F64_REINTERPRET_I64(x) kExprF64ReinterpretI64, x
506 #define WASM_I32_REINTERPRET_F32(x) kExprI32ReinterpretF32, x 507 #define WASM_I32_REINTERPRET_F32(x) kExprI32ReinterpretF32, x
507 #define WASM_I64_REINTERPRET_F64(x) kExprI64ReinterpretF64, x 508 #define WASM_I64_REINTERPRET_F64(x) kExprI64ReinterpretF64, x
508 509
509 #endif // V8_WASM_MACRO_GEN_H_ 510 #endif // V8_WASM_MACRO_GEN_H_
OLDNEW
« no previous file with comments | « src/wasm/module-decoder.cc ('k') | src/wasm/wasm-module.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698