| 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 #include "test/unittests/test-utils.h" | 5 #include "test/unittests/test-utils.h" |
| 6 | 6 |
| 7 #include "src/v8.h" | 7 #include "src/v8.h" |
| 8 | 8 |
| 9 #include "test/cctest/wasm/test-signatures.h" | 9 #include "test/cctest/wasm/test-signatures.h" |
| 10 | 10 |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 45 #define EXPECT_VERIFIES(env, x) Verify(kSuccess, env, x, x + arraysize(x)) | 45 #define EXPECT_VERIFIES(env, x) Verify(kSuccess, env, x, x + arraysize(x)) |
| 46 | 46 |
| 47 #define EXPECT_FAILURE(env, x) Verify(kError, env, x, x + arraysize(x)) | 47 #define EXPECT_FAILURE(env, x) Verify(kError, env, x, x + arraysize(x)) |
| 48 | 48 |
| 49 #define EXPECT_VERIFIES_INLINE(env, ...) \ | 49 #define EXPECT_VERIFIES_INLINE(env, ...) \ |
| 50 do { \ | 50 do { \ |
| 51 static byte code[] = {__VA_ARGS__}; \ | 51 static byte code[] = {__VA_ARGS__}; \ |
| 52 Verify(kSuccess, env, code, code + arraysize(code)); \ | 52 Verify(kSuccess, env, code, code + arraysize(code)); \ |
| 53 } while (false) | 53 } while (false) |
| 54 | 54 |
| 55 | |
| 56 #define EXPECT_FAILURE_INLINE(env, ...) \ | 55 #define EXPECT_FAILURE_INLINE(env, ...) \ |
| 57 do { \ | 56 do { \ |
| 58 static byte code[] = {__VA_ARGS__}; \ | 57 static byte code[] = {__VA_ARGS__}; \ |
| 59 Verify(kError, env, code, code + arraysize(code)); \ | 58 Verify(kError, env, code, code + arraysize(code)); \ |
| 60 } while (false) | 59 } while (false) |
| 61 | 60 |
| 62 #define VERIFY(...) \ | 61 #define VERIFY(...) \ |
| 63 do { \ | 62 do { \ |
| 64 static const byte code[] = {__VA_ARGS__}; \ | 63 static const byte code[] = {__VA_ARGS__}; \ |
| 65 Verify(kSuccess, sigs.v_i(), code, code + sizeof(code)); \ | 64 Verify(kSuccess, sigs.v_i(), code, code + sizeof(code)); \ |
| (...skipping 1077 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1143 FunctionSig sig(0, 1, &local_type); | 1142 FunctionSig sig(0, 1, &local_type); |
| 1144 if (local_type == WasmOpcodes::LocalTypeFor(mem_type)) { | 1143 if (local_type == WasmOpcodes::LocalTypeFor(mem_type)) { |
| 1145 EXPECT_VERIFIES(&sig, code); | 1144 EXPECT_VERIFIES(&sig, code); |
| 1146 } else { | 1145 } else { |
| 1147 EXPECT_FAILURE(&sig, code); | 1146 EXPECT_FAILURE(&sig, code); |
| 1148 } | 1147 } |
| 1149 } | 1148 } |
| 1150 } | 1149 } |
| 1151 } | 1150 } |
| 1152 | 1151 |
| 1153 | |
| 1154 namespace { | 1152 namespace { |
| 1155 // A helper for tests that require a module environment for functions and | 1153 // A helper for tests that require a module environment for functions and |
| 1156 // globals. | 1154 // globals. |
| 1157 class TestModuleEnv : public ModuleEnv { | 1155 class TestModuleEnv : public ModuleEnv { |
| 1158 public: | 1156 public: |
| 1159 TestModuleEnv() { | 1157 TestModuleEnv() { |
| 1160 instance = nullptr; | 1158 instance = nullptr; |
| 1161 module = &mod; | 1159 module = &mod; |
| 1162 linker = nullptr; | 1160 linker = nullptr; |
| 1163 } | 1161 } |
| (...skipping 691 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1855 | 1853 |
| 1856 EXPECT_FAILURE_INLINE( | 1854 EXPECT_FAILURE_INLINE( |
| 1857 sigs.i_i(), | 1855 sigs.i_i(), |
| 1858 WASM_SELECT(WASM_GET_LOCAL(0), WASM_F64(0.25), WASM_GET_LOCAL(0))); | 1856 WASM_SELECT(WASM_GET_LOCAL(0), WASM_F64(0.25), WASM_GET_LOCAL(0))); |
| 1859 | 1857 |
| 1860 EXPECT_FAILURE_INLINE( | 1858 EXPECT_FAILURE_INLINE( |
| 1861 sigs.i_i(), | 1859 sigs.i_i(), |
| 1862 WASM_SELECT(WASM_F32(9.9), WASM_GET_LOCAL(0), WASM_I64V_1(0))); | 1860 WASM_SELECT(WASM_F32(9.9), WASM_GET_LOCAL(0), WASM_I64V_1(0))); |
| 1863 } | 1861 } |
| 1864 | 1862 |
| 1865 | |
| 1866 class WasmOpcodeLengthTest : public TestWithZone { | 1863 class WasmOpcodeLengthTest : public TestWithZone { |
| 1867 public: | 1864 public: |
| 1868 WasmOpcodeLengthTest() : TestWithZone() {} | 1865 WasmOpcodeLengthTest() : TestWithZone() {} |
| 1869 }; | 1866 }; |
| 1870 | 1867 |
| 1871 #define EXPECT_LENGTH(expected, opcode) \ | 1868 #define EXPECT_LENGTH(expected, opcode) \ |
| 1872 { \ | 1869 { \ |
| 1873 static const byte code[] = {opcode, 0, 0, 0, 0, 0, 0, 0, 0}; \ | 1870 static const byte code[] = {opcode, 0, 0, 0, 0, 0, 0, 0, 0}; \ |
| 1874 EXPECT_EQ(expected, OpcodeLength(code, code + sizeof(code))); \ | 1871 EXPECT_EQ(expected, OpcodeLength(code, code + sizeof(code))); \ |
| 1875 } | 1872 } |
| 1876 | 1873 |
| 1877 #define EXPECT_LENGTH_N(expected, ...) \ | 1874 #define EXPECT_LENGTH_N(expected, ...) \ |
| 1878 { \ | 1875 { \ |
| 1879 static const byte code[] = {__VA_ARGS__}; \ | 1876 static const byte code[] = {__VA_ARGS__}; \ |
| 1880 EXPECT_EQ(expected, OpcodeLength(code, code + sizeof(code))); \ | 1877 EXPECT_EQ(expected, OpcodeLength(code, code + sizeof(code))); \ |
| 1881 } | 1878 } |
| 1882 | 1879 |
| 1883 TEST_F(WasmOpcodeLengthTest, Statements) { | 1880 TEST_F(WasmOpcodeLengthTest, Statements) { |
| 1884 EXPECT_LENGTH(1, kExprNop); | 1881 EXPECT_LENGTH(1, kExprNop); |
| 1885 EXPECT_LENGTH(1, kExprBlock); | 1882 EXPECT_LENGTH(1, kExprBlock); |
| 1886 EXPECT_LENGTH(1, kExprLoop); | 1883 EXPECT_LENGTH(1, kExprLoop); |
| 1887 EXPECT_LENGTH(1, kExprIf); | 1884 EXPECT_LENGTH(1, kExprIf); |
| 1888 EXPECT_LENGTH(1, kExprElse); | 1885 EXPECT_LENGTH(1, kExprElse); |
| 1889 EXPECT_LENGTH(1, kExprEnd); | 1886 EXPECT_LENGTH(1, kExprEnd); |
| 1890 EXPECT_LENGTH(1, kExprSelect); | 1887 EXPECT_LENGTH(1, kExprSelect); |
| 1891 EXPECT_LENGTH(3, kExprBr); | 1888 EXPECT_LENGTH(3, kExprBr); |
| 1892 EXPECT_LENGTH(3, kExprBrIf); | 1889 EXPECT_LENGTH(3, kExprBrIf); |
| 1893 } | 1890 } |
| 1894 | 1891 |
| 1895 | |
| 1896 TEST_F(WasmOpcodeLengthTest, MiscExpressions) { | 1892 TEST_F(WasmOpcodeLengthTest, MiscExpressions) { |
| 1897 EXPECT_LENGTH(2, kExprI8Const); | 1893 EXPECT_LENGTH(2, kExprI8Const); |
| 1898 EXPECT_LENGTH(5, kExprF32Const); | 1894 EXPECT_LENGTH(5, kExprF32Const); |
| 1899 EXPECT_LENGTH(9, kExprF64Const); | 1895 EXPECT_LENGTH(9, kExprF64Const); |
| 1900 EXPECT_LENGTH(2, kExprGetLocal); | 1896 EXPECT_LENGTH(2, kExprGetLocal); |
| 1901 EXPECT_LENGTH(2, kExprSetLocal); | 1897 EXPECT_LENGTH(2, kExprSetLocal); |
| 1902 EXPECT_LENGTH(2, kExprLoadGlobal); | 1898 EXPECT_LENGTH(2, kExprLoadGlobal); |
| 1903 EXPECT_LENGTH(2, kExprStoreGlobal); | 1899 EXPECT_LENGTH(2, kExprStoreGlobal); |
| 1904 EXPECT_LENGTH(3, kExprCallFunction); | 1900 EXPECT_LENGTH(3, kExprCallFunction); |
| 1905 EXPECT_LENGTH(3, kExprCallImport); | 1901 EXPECT_LENGTH(3, kExprCallImport); |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1959 EXPECT_LENGTH(3, kExprI32StoreMem16); | 1955 EXPECT_LENGTH(3, kExprI32StoreMem16); |
| 1960 EXPECT_LENGTH(3, kExprI32StoreMem); | 1956 EXPECT_LENGTH(3, kExprI32StoreMem); |
| 1961 EXPECT_LENGTH(3, kExprI64StoreMem8); | 1957 EXPECT_LENGTH(3, kExprI64StoreMem8); |
| 1962 EXPECT_LENGTH(3, kExprI64StoreMem16); | 1958 EXPECT_LENGTH(3, kExprI64StoreMem16); |
| 1963 EXPECT_LENGTH(3, kExprI64StoreMem32); | 1959 EXPECT_LENGTH(3, kExprI64StoreMem32); |
| 1964 EXPECT_LENGTH(3, kExprI64StoreMem); | 1960 EXPECT_LENGTH(3, kExprI64StoreMem); |
| 1965 EXPECT_LENGTH(3, kExprF32StoreMem); | 1961 EXPECT_LENGTH(3, kExprF32StoreMem); |
| 1966 EXPECT_LENGTH(3, kExprF64StoreMem); | 1962 EXPECT_LENGTH(3, kExprF64StoreMem); |
| 1967 } | 1963 } |
| 1968 | 1964 |
| 1969 | |
| 1970 TEST_F(WasmOpcodeLengthTest, MiscMemExpressions) { | 1965 TEST_F(WasmOpcodeLengthTest, MiscMemExpressions) { |
| 1971 EXPECT_LENGTH(1, kExprMemorySize); | 1966 EXPECT_LENGTH(1, kExprMemorySize); |
| 1972 EXPECT_LENGTH(1, kExprGrowMemory); | 1967 EXPECT_LENGTH(1, kExprGrowMemory); |
| 1973 } | 1968 } |
| 1974 | 1969 |
| 1975 | |
| 1976 TEST_F(WasmOpcodeLengthTest, SimpleExpressions) { | 1970 TEST_F(WasmOpcodeLengthTest, SimpleExpressions) { |
| 1977 EXPECT_LENGTH(1, kExprI32Add); | 1971 EXPECT_LENGTH(1, kExprI32Add); |
| 1978 EXPECT_LENGTH(1, kExprI32Sub); | 1972 EXPECT_LENGTH(1, kExprI32Sub); |
| 1979 EXPECT_LENGTH(1, kExprI32Mul); | 1973 EXPECT_LENGTH(1, kExprI32Mul); |
| 1980 EXPECT_LENGTH(1, kExprI32DivS); | 1974 EXPECT_LENGTH(1, kExprI32DivS); |
| 1981 EXPECT_LENGTH(1, kExprI32DivU); | 1975 EXPECT_LENGTH(1, kExprI32DivU); |
| 1982 EXPECT_LENGTH(1, kExprI32RemS); | 1976 EXPECT_LENGTH(1, kExprI32RemS); |
| 1983 EXPECT_LENGTH(1, kExprI32RemU); | 1977 EXPECT_LENGTH(1, kExprI32RemU); |
| 1984 EXPECT_LENGTH(1, kExprI32And); | 1978 EXPECT_LENGTH(1, kExprI32And); |
| 1985 EXPECT_LENGTH(1, kExprI32Ior); | 1979 EXPECT_LENGTH(1, kExprI32Ior); |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2087 EXPECT_LENGTH(1, kExprF64SConvertI32); | 2081 EXPECT_LENGTH(1, kExprF64SConvertI32); |
| 2088 EXPECT_LENGTH(1, kExprF64UConvertI32); | 2082 EXPECT_LENGTH(1, kExprF64UConvertI32); |
| 2089 EXPECT_LENGTH(1, kExprF64SConvertI64); | 2083 EXPECT_LENGTH(1, kExprF64SConvertI64); |
| 2090 EXPECT_LENGTH(1, kExprF64UConvertI64); | 2084 EXPECT_LENGTH(1, kExprF64UConvertI64); |
| 2091 EXPECT_LENGTH(1, kExprF64ConvertF32); | 2085 EXPECT_LENGTH(1, kExprF64ConvertF32); |
| 2092 EXPECT_LENGTH(1, kExprF64ReinterpretI64); | 2086 EXPECT_LENGTH(1, kExprF64ReinterpretI64); |
| 2093 EXPECT_LENGTH(1, kExprI32ReinterpretF32); | 2087 EXPECT_LENGTH(1, kExprI32ReinterpretF32); |
| 2094 EXPECT_LENGTH(1, kExprI64ReinterpretF64); | 2088 EXPECT_LENGTH(1, kExprI64ReinterpretF64); |
| 2095 } | 2089 } |
| 2096 | 2090 |
| 2097 | |
| 2098 class WasmOpcodeArityTest : public TestWithZone { | 2091 class WasmOpcodeArityTest : public TestWithZone { |
| 2099 public: | 2092 public: |
| 2100 WasmOpcodeArityTest() : TestWithZone() {} | 2093 WasmOpcodeArityTest() : TestWithZone() {} |
| 2101 }; | 2094 }; |
| 2102 | 2095 |
| 2103 #define EXPECT_ARITY(expected, ...) \ | 2096 #define EXPECT_ARITY(expected, ...) \ |
| 2104 { \ | 2097 { \ |
| 2105 static const byte code[] = {__VA_ARGS__}; \ | 2098 static const byte code[] = {__VA_ARGS__}; \ |
| 2106 EXPECT_EQ(expected, OpcodeArity(code, code + sizeof(code))); \ | 2099 EXPECT_EQ(expected, OpcodeArity(code, code + sizeof(code))); \ |
| 2107 } | 2100 } |
| (...skipping 22 matching lines...) Expand all Loading... |
| 2130 EXPECT_ARITY(1, kExprBr, ARITY_1); | 2123 EXPECT_ARITY(1, kExprBr, ARITY_1); |
| 2131 EXPECT_ARITY(2, kExprBrIf, ARITY_1); | 2124 EXPECT_ARITY(2, kExprBrIf, ARITY_1); |
| 2132 EXPECT_ARITY(2, kExprBrTable, ARITY_1); | 2125 EXPECT_ARITY(2, kExprBrTable, ARITY_1); |
| 2133 | 2126 |
| 2134 { | 2127 { |
| 2135 EXPECT_ARITY(0, kExprReturn, ARITY_0); | 2128 EXPECT_ARITY(0, kExprReturn, ARITY_0); |
| 2136 EXPECT_ARITY(1, kExprReturn, ARITY_1); | 2129 EXPECT_ARITY(1, kExprReturn, ARITY_1); |
| 2137 } | 2130 } |
| 2138 } | 2131 } |
| 2139 | 2132 |
| 2140 | |
| 2141 TEST_F(WasmOpcodeArityTest, Misc) { | 2133 TEST_F(WasmOpcodeArityTest, Misc) { |
| 2142 EXPECT_ARITY(0, kExprI8Const); | 2134 EXPECT_ARITY(0, kExprI8Const); |
| 2143 EXPECT_ARITY(0, kExprI32Const); | 2135 EXPECT_ARITY(0, kExprI32Const); |
| 2144 EXPECT_ARITY(0, kExprF32Const); | 2136 EXPECT_ARITY(0, kExprF32Const); |
| 2145 EXPECT_ARITY(0, kExprI64Const); | 2137 EXPECT_ARITY(0, kExprI64Const); |
| 2146 EXPECT_ARITY(0, kExprF64Const); | 2138 EXPECT_ARITY(0, kExprF64Const); |
| 2147 EXPECT_ARITY(0, kExprGetLocal); | 2139 EXPECT_ARITY(0, kExprGetLocal); |
| 2148 EXPECT_ARITY(1, kExprSetLocal); | 2140 EXPECT_ARITY(1, kExprSetLocal); |
| 2149 EXPECT_ARITY(0, kExprLoadGlobal); | 2141 EXPECT_ARITY(0, kExprLoadGlobal); |
| 2150 EXPECT_ARITY(1, kExprStoreGlobal); | 2142 EXPECT_ARITY(1, kExprStoreGlobal); |
| 2151 } | 2143 } |
| 2152 | 2144 |
| 2153 | |
| 2154 TEST_F(WasmOpcodeArityTest, Calls) { | 2145 TEST_F(WasmOpcodeArityTest, Calls) { |
| 2155 { | 2146 { |
| 2156 EXPECT_ARITY(2, kExprCallFunction, 2, 0); | 2147 EXPECT_ARITY(2, kExprCallFunction, 2, 0); |
| 2157 EXPECT_ARITY(2, kExprCallImport, 2, 0); | 2148 EXPECT_ARITY(2, kExprCallImport, 2, 0); |
| 2158 EXPECT_ARITY(3, kExprCallIndirect, 2, 0); | 2149 EXPECT_ARITY(3, kExprCallIndirect, 2, 0); |
| 2159 | 2150 |
| 2160 EXPECT_ARITY(1, kExprBr, ARITY_1); | 2151 EXPECT_ARITY(1, kExprBr, ARITY_1); |
| 2161 EXPECT_ARITY(2, kExprBrIf, ARITY_1); | 2152 EXPECT_ARITY(2, kExprBrIf, ARITY_1); |
| 2162 EXPECT_ARITY(2, kExprBrTable, ARITY_1); | 2153 EXPECT_ARITY(2, kExprBrTable, ARITY_1); |
| 2163 | 2154 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 2174 EXPECT_ARITY(1, kExprBr, ARITY_1); | 2165 EXPECT_ARITY(1, kExprBr, ARITY_1); |
| 2175 EXPECT_ARITY(2, kExprBrIf, ARITY_1); | 2166 EXPECT_ARITY(2, kExprBrIf, ARITY_1); |
| 2176 EXPECT_ARITY(2, kExprBrTable, ARITY_1); | 2167 EXPECT_ARITY(2, kExprBrTable, ARITY_1); |
| 2177 | 2168 |
| 2178 EXPECT_ARITY(0, kExprBr, ARITY_0); | 2169 EXPECT_ARITY(0, kExprBr, ARITY_0); |
| 2179 EXPECT_ARITY(1, kExprBrIf, ARITY_0); | 2170 EXPECT_ARITY(1, kExprBrIf, ARITY_0); |
| 2180 EXPECT_ARITY(1, kExprBrTable, ARITY_0); | 2171 EXPECT_ARITY(1, kExprBrTable, ARITY_0); |
| 2181 } | 2172 } |
| 2182 } | 2173 } |
| 2183 | 2174 |
| 2184 | |
| 2185 TEST_F(WasmOpcodeArityTest, LoadsAndStores) { | 2175 TEST_F(WasmOpcodeArityTest, LoadsAndStores) { |
| 2186 EXPECT_ARITY(1, kExprI32LoadMem8S); | 2176 EXPECT_ARITY(1, kExprI32LoadMem8S); |
| 2187 EXPECT_ARITY(1, kExprI32LoadMem8U); | 2177 EXPECT_ARITY(1, kExprI32LoadMem8U); |
| 2188 EXPECT_ARITY(1, kExprI32LoadMem16S); | 2178 EXPECT_ARITY(1, kExprI32LoadMem16S); |
| 2189 EXPECT_ARITY(1, kExprI32LoadMem16U); | 2179 EXPECT_ARITY(1, kExprI32LoadMem16U); |
| 2190 EXPECT_ARITY(1, kExprI32LoadMem); | 2180 EXPECT_ARITY(1, kExprI32LoadMem); |
| 2191 | 2181 |
| 2192 EXPECT_ARITY(1, kExprI64LoadMem8S); | 2182 EXPECT_ARITY(1, kExprI64LoadMem8S); |
| 2193 EXPECT_ARITY(1, kExprI64LoadMem8U); | 2183 EXPECT_ARITY(1, kExprI64LoadMem8U); |
| 2194 EXPECT_ARITY(1, kExprI64LoadMem16S); | 2184 EXPECT_ARITY(1, kExprI64LoadMem16S); |
| 2195 EXPECT_ARITY(1, kExprI64LoadMem16U); | 2185 EXPECT_ARITY(1, kExprI64LoadMem16U); |
| 2196 EXPECT_ARITY(1, kExprI64LoadMem32S); | 2186 EXPECT_ARITY(1, kExprI64LoadMem32S); |
| 2197 EXPECT_ARITY(1, kExprI64LoadMem32U); | 2187 EXPECT_ARITY(1, kExprI64LoadMem32U); |
| 2198 EXPECT_ARITY(1, kExprI64LoadMem); | 2188 EXPECT_ARITY(1, kExprI64LoadMem); |
| 2199 EXPECT_ARITY(1, kExprF32LoadMem); | 2189 EXPECT_ARITY(1, kExprF32LoadMem); |
| 2200 EXPECT_ARITY(1, kExprF64LoadMem); | 2190 EXPECT_ARITY(1, kExprF64LoadMem); |
| 2201 | 2191 |
| 2202 EXPECT_ARITY(2, kExprI32StoreMem8); | 2192 EXPECT_ARITY(2, kExprI32StoreMem8); |
| 2203 EXPECT_ARITY(2, kExprI32StoreMem16); | 2193 EXPECT_ARITY(2, kExprI32StoreMem16); |
| 2204 EXPECT_ARITY(2, kExprI32StoreMem); | 2194 EXPECT_ARITY(2, kExprI32StoreMem); |
| 2205 EXPECT_ARITY(2, kExprI64StoreMem8); | 2195 EXPECT_ARITY(2, kExprI64StoreMem8); |
| 2206 EXPECT_ARITY(2, kExprI64StoreMem16); | 2196 EXPECT_ARITY(2, kExprI64StoreMem16); |
| 2207 EXPECT_ARITY(2, kExprI64StoreMem32); | 2197 EXPECT_ARITY(2, kExprI64StoreMem32); |
| 2208 EXPECT_ARITY(2, kExprI64StoreMem); | 2198 EXPECT_ARITY(2, kExprI64StoreMem); |
| 2209 EXPECT_ARITY(2, kExprF32StoreMem); | 2199 EXPECT_ARITY(2, kExprF32StoreMem); |
| 2210 EXPECT_ARITY(2, kExprF64StoreMem); | 2200 EXPECT_ARITY(2, kExprF64StoreMem); |
| 2211 } | 2201 } |
| 2212 | 2202 |
| 2213 | |
| 2214 TEST_F(WasmOpcodeArityTest, MiscMemExpressions) { | 2203 TEST_F(WasmOpcodeArityTest, MiscMemExpressions) { |
| 2215 EXPECT_ARITY(0, kExprMemorySize); | 2204 EXPECT_ARITY(0, kExprMemorySize); |
| 2216 EXPECT_ARITY(1, kExprGrowMemory); | 2205 EXPECT_ARITY(1, kExprGrowMemory); |
| 2217 } | 2206 } |
| 2218 | 2207 |
| 2219 | |
| 2220 TEST_F(WasmOpcodeArityTest, SimpleExpressions) { | 2208 TEST_F(WasmOpcodeArityTest, SimpleExpressions) { |
| 2221 EXPECT_ARITY(2, kExprI32Add); | 2209 EXPECT_ARITY(2, kExprI32Add); |
| 2222 EXPECT_ARITY(2, kExprI32Sub); | 2210 EXPECT_ARITY(2, kExprI32Sub); |
| 2223 EXPECT_ARITY(2, kExprI32Mul); | 2211 EXPECT_ARITY(2, kExprI32Mul); |
| 2224 EXPECT_ARITY(2, kExprI32DivS); | 2212 EXPECT_ARITY(2, kExprI32DivS); |
| 2225 EXPECT_ARITY(2, kExprI32DivU); | 2213 EXPECT_ARITY(2, kExprI32DivU); |
| 2226 EXPECT_ARITY(2, kExprI32RemS); | 2214 EXPECT_ARITY(2, kExprI32RemS); |
| 2227 EXPECT_ARITY(2, kExprI32RemU); | 2215 EXPECT_ARITY(2, kExprI32RemU); |
| 2228 EXPECT_ARITY(2, kExprI32And); | 2216 EXPECT_ARITY(2, kExprI32And); |
| 2229 EXPECT_ARITY(2, kExprI32Ior); | 2217 EXPECT_ARITY(2, kExprI32Ior); |
| (...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2454 size_t pos = 0; | 2442 size_t pos = 0; |
| 2455 pos = ExpectRun(map, pos, kAstF32, 5); | 2443 pos = ExpectRun(map, pos, kAstF32, 5); |
| 2456 pos = ExpectRun(map, pos, kAstI32, 1337); | 2444 pos = ExpectRun(map, pos, kAstI32, 1337); |
| 2457 pos = ExpectRun(map, pos, kAstI64, 212); | 2445 pos = ExpectRun(map, pos, kAstI64, 212); |
| 2458 delete[] data; | 2446 delete[] data; |
| 2459 } | 2447 } |
| 2460 | 2448 |
| 2461 } // namespace wasm | 2449 } // namespace wasm |
| 2462 } // namespace internal | 2450 } // namespace internal |
| 2463 } // namespace v8 | 2451 } // namespace v8 |
| OLD | NEW |