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

Side by Side Diff: src/asmjs/asm-names.h

Issue 2751693002: [wasm][asm.js] Adding custom asm.js lexer. (Closed)
Patch Set: fix Created 3 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
OLDNEW
(Empty)
1 // Copyright 2017 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef V8_ASMJS_ASM_NAMES_H_
6 #define V8_ASMJS_ASM_NAMES_H_
7
8 #define STDLIB_MATH_VALUE_LIST(V) \
9 V(E) \
10 V(LN10) \
11 V(LN2) \
12 V(LOG2E) \
13 V(LOG10E) \
14 V(PI) \
15 V(SQRT1_2) \
16 V(SQRT2)
17
18 // V(stdlib.Math.<name>, Name, wasm-opcode, asm-js-type)
19 #define STDLIB_MATH_FUNCTION_MONOMORPHIC_LIST(V) \
20 V(acos, Acos, kExprF64Acos, dq2d) \
21 V(asin, Asin, kExprF64Asin, dq2d) \
22 V(atan, Atan, kExprF64Atan, dq2d) \
23 V(cos, Cos, kExprF64Cos, dq2d) \
24 V(sin, Sin, kExprF64Sin, dq2d) \
25 V(tan, Tan, kExprF64Tan, dq2d) \
26 V(exp, Exp, kExprF64Exp, dq2d) \
27 V(log, Log, kExprF64Log, dq2d) \
28 V(atan2, Atan2, kExprF64Atan2, dqdq2d) \
29 V(pow, Pow, kExprF64Pow, dqdq2d) \
30 V(imul, Imul, kExprI32Mul, ii2s) \
31 V(clz32, Clz32, kExprI32Clz, i2s)
32
33 // V(stdlib.Math.<name>, Name, unused, asm-js-type)
34 #define STDLIB_MATH_FUNCTION_CEIL_LIKE_LIST(V) \
35 V(ceil, Ceil, x, ceil_like) \
36 V(floor, Floor, x, ceil_like) \
37 V(sqrt, Sqrt, x, ceil_like)
38
39 // V(stdlib.Math.<name>, Name, unused, asm-js-type)
40 #define STDLIB_MATH_FUNCTION_LIST(V) \
41 V(min, Min, x, minmax) \
42 V(max, Max, x, minmax) \
43 V(abs, Abs, x, abs) \
44 V(fround, Fround, x, fround) \
45 STDLIB_MATH_FUNCTION_MONOMORPHIC_LIST(V) \
46 STDLIB_MATH_FUNCTION_CEIL_LIKE_LIST(V)
47
48 // V(stdlib.<name>, wasm-load-type, wasm-store-type, wasm-type)
49 #define STDLIB_ARRAY_TYPE_LIST(V) \
50 V(Int8Array, Mem8S, Mem8, I32) \
51 V(Uint8Array, Mem8U, Mem8, I32) \
52 V(Int16Array, Mem16S, Mem16, I32) \
53 V(Uint16Array, Mem16U, Mem16, I32) \
54 V(Int32Array, Mem, Mem, I32) \
55 V(Uint32Array, Mem, Mem, I32) \
56 V(Float32Array, Mem, Mem, F32) \
57 V(Float64Array, Mem, Mem, F64)
58
59 #define STDLIB_OTHER_LIST(V) \
60 V(Infinity) \
61 V(NaN) \
62 V(Math)
63
64 // clang-format off (for return)
65 #define KEYWORD_NAME_LIST(V) \
66 V(arguments) \
67 V(break) \
68 V(case) \
69 V(const) \
70 V(continue) \
71 V(default) \
72 V(do) \
73 V(else) \
74 V(eval) \
75 V(for) \
76 V(function) \
77 V(if) \
78 V(new) \
79 V(return ) \
80 V(switch) \
81 V(var) \
82 V(while)
83 // clang-format on
84
85 // V(token-string, token-name)
86 #define LONG_SYMBOL_NAME_LIST(V) \
87 V("<=", LE) \
88 V(">=", GE) \
89 V("==", EQ) \
90 V("!=", NE) \
91 V("<<", SHL) \
92 V(">>", SAR) \
93 V(">>>", SHR) \
94 V("'use asm'", UseAsm)
95
96 // clang-format off
97 #define SIMPLE_SINGLE_TOKEN_LIST(V) \
98 V('+') V('-') V('*') V('%') V('~') V('^') V('&') V('|') V('(') V(')') \
99 V('[') V(']') V('{') V('}') V(':') V(';') V(',') V('?')
100 // clang-format on
101
102 // V(name, value, string-name)
103 #define SPECIAL_TOKEN_LIST(V) \
104 V(kUninitialized, 0, "{uninitalized}") \
105 V(kEndOfInput, -1, "{end of input}") \
106 V(kParseError, -2, "{parse error}") \
107 V(kUnsigned, -3, "{unsigned value}") \
108 V(kDouble, -4, "{double value}")
109
110 #endif
OLDNEW
« no previous file with comments | « BUILD.gn ('k') | src/asmjs/asm-scanner.h » ('j') | src/asmjs/asm-scanner.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698