| 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 <stdint.h> | 5 #include <stdint.h> |
| 6 #include <stdio.h> | 6 #include <stdio.h> |
| 7 #include <stdlib.h> | 7 #include <stdlib.h> |
| 8 #include <string.h> | 8 #include <string.h> |
| 9 | 9 |
| 10 #include "src/wasm/wasm-macro-gen.h" | 10 #include "src/wasm/wasm-macro-gen.h" |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 void EXPECT_CALL(double expected, Handle<JSFunction> jsfunc, double a, | 90 void EXPECT_CALL(double expected, Handle<JSFunction> jsfunc, double a, |
| 91 double b) { | 91 double b) { |
| 92 Isolate* isolate = jsfunc->GetIsolate(); | 92 Isolate* isolate = jsfunc->GetIsolate(); |
| 93 Handle<Object> buffer[] = {isolate->factory()->NewNumber(a), | 93 Handle<Object> buffer[] = {isolate->factory()->NewNumber(a), |
| 94 isolate->factory()->NewNumber(b)}; | 94 isolate->factory()->NewNumber(b)}; |
| 95 EXPECT_CALL(expected, jsfunc, buffer, 2); | 95 EXPECT_CALL(expected, jsfunc, buffer, 2); |
| 96 } | 96 } |
| 97 } // namespace | 97 } // namespace |
| 98 | 98 |
| 99 TEST(Run_Int32Sub_jswrapped) { | 99 TEST(Run_Int32Sub_jswrapped) { |
| 100 CcTest::InitializeVM(); |
| 100 TestSignatures sigs; | 101 TestSignatures sigs; |
| 101 TestingModule module; | 102 TestingModule module; |
| 102 WasmFunctionCompiler t(sigs.i_ii(), &module); | 103 WasmFunctionCompiler t(sigs.i_ii(), &module); |
| 103 BUILD(t, WASM_I32_SUB(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1))); | 104 BUILD(t, WASM_I32_SUB(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1))); |
| 104 Handle<JSFunction> jsfunc = module.WrapCode(t.CompileAndAdd()); | 105 Handle<JSFunction> jsfunc = module.WrapCode(t.CompileAndAdd()); |
| 105 | 106 |
| 106 EXPECT_CALL(33, jsfunc, 44, 11); | 107 EXPECT_CALL(33, jsfunc, 44, 11); |
| 107 EXPECT_CALL(-8723487, jsfunc, -8000000, 723487); | 108 EXPECT_CALL(-8723487, jsfunc, -8000000, 723487); |
| 108 } | 109 } |
| 109 | 110 |
| 110 TEST(Run_Float32Div_jswrapped) { | 111 TEST(Run_Float32Div_jswrapped) { |
| 112 CcTest::InitializeVM(); |
| 111 TestSignatures sigs; | 113 TestSignatures sigs; |
| 112 TestingModule module; | 114 TestingModule module; |
| 113 WasmFunctionCompiler t(sigs.f_ff(), &module); | 115 WasmFunctionCompiler t(sigs.f_ff(), &module); |
| 114 BUILD(t, WASM_F32_DIV(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1))); | 116 BUILD(t, WASM_F32_DIV(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1))); |
| 115 Handle<JSFunction> jsfunc = module.WrapCode(t.CompileAndAdd()); | 117 Handle<JSFunction> jsfunc = module.WrapCode(t.CompileAndAdd()); |
| 116 | 118 |
| 117 EXPECT_CALL(92, jsfunc, 46, 0.5); | 119 EXPECT_CALL(92, jsfunc, 46, 0.5); |
| 118 EXPECT_CALL(64, jsfunc, -16, -0.25); | 120 EXPECT_CALL(64, jsfunc, -16, -0.25); |
| 119 } | 121 } |
| 120 | 122 |
| 121 TEST(Run_Float64Add_jswrapped) { | 123 TEST(Run_Float64Add_jswrapped) { |
| 124 CcTest::InitializeVM(); |
| 122 TestSignatures sigs; | 125 TestSignatures sigs; |
| 123 TestingModule module; | 126 TestingModule module; |
| 124 WasmFunctionCompiler t(sigs.d_dd(), &module); | 127 WasmFunctionCompiler t(sigs.d_dd(), &module); |
| 125 BUILD(t, WASM_F64_ADD(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1))); | 128 BUILD(t, WASM_F64_ADD(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1))); |
| 126 Handle<JSFunction> jsfunc = module.WrapCode(t.CompileAndAdd()); | 129 Handle<JSFunction> jsfunc = module.WrapCode(t.CompileAndAdd()); |
| 127 | 130 |
| 128 EXPECT_CALL(3, jsfunc, 2, 1); | 131 EXPECT_CALL(3, jsfunc, 2, 1); |
| 129 EXPECT_CALL(-5.5, jsfunc, -5.25, -0.25); | 132 EXPECT_CALL(-5.5, jsfunc, -5.25, -0.25); |
| 130 } | 133 } |
| 131 | 134 |
| 132 TEST(Run_I32Popcount_jswrapped) { | 135 TEST(Run_I32Popcount_jswrapped) { |
| 136 CcTest::InitializeVM(); |
| 133 TestSignatures sigs; | 137 TestSignatures sigs; |
| 134 TestingModule module; | 138 TestingModule module; |
| 135 WasmFunctionCompiler t(sigs.i_i(), &module); | 139 WasmFunctionCompiler t(sigs.i_i(), &module); |
| 136 BUILD(t, WASM_I32_POPCNT(WASM_GET_LOCAL(0))); | 140 BUILD(t, WASM_I32_POPCNT(WASM_GET_LOCAL(0))); |
| 137 Handle<JSFunction> jsfunc = module.WrapCode(t.CompileAndAdd()); | 141 Handle<JSFunction> jsfunc = module.WrapCode(t.CompileAndAdd()); |
| 138 | 142 |
| 139 EXPECT_CALL(2, jsfunc, 9, 0); | 143 EXPECT_CALL(2, jsfunc, 9, 0); |
| 140 EXPECT_CALL(3, jsfunc, 11, 0); | 144 EXPECT_CALL(3, jsfunc, 11, 0); |
| 141 EXPECT_CALL(6, jsfunc, 0x3F, 0); | 145 EXPECT_CALL(6, jsfunc, 0x3F, 0); |
| 142 } | 146 } |
| 143 | 147 |
| 144 TEST(Run_CallJS_Add_jswrapped) { | 148 TEST(Run_CallJS_Add_jswrapped) { |
| 149 CcTest::InitializeVM(); |
| 145 TestSignatures sigs; | 150 TestSignatures sigs; |
| 146 TestingModule module; | 151 TestingModule module; |
| 147 WasmFunctionCompiler t(sigs.i_i(), &module); | 152 WasmFunctionCompiler t(sigs.i_i(), &module); |
| 148 uint32_t js_index = | 153 uint32_t js_index = |
| 149 module.AddJsFunction(sigs.i_i(), "(function(a) { return a + 99; })"); | 154 module.AddJsFunction(sigs.i_i(), "(function(a) { return a + 99; })"); |
| 150 BUILD(t, WASM_CALL_FUNCTION1(js_index, WASM_GET_LOCAL(0))); | 155 BUILD(t, WASM_CALL_FUNCTION1(js_index, WASM_GET_LOCAL(0))); |
| 151 | 156 |
| 152 Handle<JSFunction> jsfunc = module.WrapCode(t.CompileAndAdd()); | 157 Handle<JSFunction> jsfunc = module.WrapCode(t.CompileAndAdd()); |
| 153 | 158 |
| 154 EXPECT_CALL(101, jsfunc, 2, -8); | 159 EXPECT_CALL(101, jsfunc, 2, -8); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 184 code.push_back(0); | 189 code.push_back(0); |
| 185 t.Build(&code[0], &code[end]); | 190 t.Build(&code[0], &code[end]); |
| 186 } | 191 } |
| 187 | 192 |
| 188 Handle<JSFunction> jsfunc = module.WrapCode(t.CompileAndAdd()); | 193 Handle<JSFunction> jsfunc = module.WrapCode(t.CompileAndAdd()); |
| 189 double expected = inputs.arg_d(which); | 194 double expected = inputs.arg_d(which); |
| 190 EXPECT_CALL(expected, jsfunc, 0.0, 0.0); | 195 EXPECT_CALL(expected, jsfunc, 0.0, 0.0); |
| 191 } | 196 } |
| 192 } | 197 } |
| 193 | 198 |
| 194 TEST(Run_JSSelect_0) { RunJSSelectTest(0); } | 199 TEST(Run_JSSelect_0) { |
| 200 CcTest::InitializeVM(); |
| 201 RunJSSelectTest(0); |
| 202 } |
| 195 | 203 |
| 196 TEST(Run_JSSelect_1) { RunJSSelectTest(1); } | 204 TEST(Run_JSSelect_1) { |
| 205 CcTest::InitializeVM(); |
| 206 RunJSSelectTest(1); |
| 207 } |
| 197 | 208 |
| 198 TEST(Run_JSSelect_2) { RunJSSelectTest(2); } | 209 TEST(Run_JSSelect_2) { |
| 210 CcTest::InitializeVM(); |
| 211 RunJSSelectTest(2); |
| 212 } |
| 199 | 213 |
| 200 TEST(Run_JSSelect_3) { RunJSSelectTest(3); } | 214 TEST(Run_JSSelect_3) { |
| 215 CcTest::InitializeVM(); |
| 216 RunJSSelectTest(3); |
| 217 } |
| 201 | 218 |
| 202 TEST(Run_JSSelect_4) { RunJSSelectTest(4); } | 219 TEST(Run_JSSelect_4) { |
| 220 CcTest::InitializeVM(); |
| 221 RunJSSelectTest(4); |
| 222 } |
| 203 | 223 |
| 204 TEST(Run_JSSelect_5) { RunJSSelectTest(5); } | 224 TEST(Run_JSSelect_5) { |
| 225 CcTest::InitializeVM(); |
| 226 RunJSSelectTest(5); |
| 227 } |
| 205 | 228 |
| 206 TEST(Run_JSSelect_6) { RunJSSelectTest(6); } | 229 TEST(Run_JSSelect_6) { |
| 230 CcTest::InitializeVM(); |
| 231 RunJSSelectTest(6); |
| 232 } |
| 207 | 233 |
| 208 TEST(Run_JSSelect_7) { RunJSSelectTest(7); } | 234 TEST(Run_JSSelect_7) { |
| 235 CcTest::InitializeVM(); |
| 236 RunJSSelectTest(7); |
| 237 } |
| 209 | 238 |
| 210 void RunWASMSelectTest(int which) { | 239 void RunWASMSelectTest(int which) { |
| 211 PredictableInputValues inputs(0x200); | 240 PredictableInputValues inputs(0x200); |
| 212 Isolate* isolate = CcTest::InitIsolateOnce(); | 241 Isolate* isolate = CcTest::InitIsolateOnce(); |
| 213 const int kMaxParams = 8; | 242 const int kMaxParams = 8; |
| 214 for (int num_params = which + 1; num_params < kMaxParams; num_params++) { | 243 for (int num_params = which + 1; num_params < kMaxParams; num_params++) { |
| 215 LocalType type = kAstF64; | 244 LocalType type = kAstF64; |
| 216 LocalType types[kMaxParams + 1] = {type, type, type, type, type, | 245 LocalType types[kMaxParams + 1] = {type, type, type, type, type, |
| 217 type, type, type, type}; | 246 type, type, type, type}; |
| 218 FunctionSig sig(1, num_params, types); | 247 FunctionSig sig(1, num_params, types); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 231 isolate->factory()->NewNumber(inputs.arg_d(5)), | 260 isolate->factory()->NewNumber(inputs.arg_d(5)), |
| 232 isolate->factory()->NewNumber(inputs.arg_d(6)), | 261 isolate->factory()->NewNumber(inputs.arg_d(6)), |
| 233 isolate->factory()->NewNumber(inputs.arg_d(7)), | 262 isolate->factory()->NewNumber(inputs.arg_d(7)), |
| 234 }; | 263 }; |
| 235 | 264 |
| 236 double expected = inputs.arg_d(which); | 265 double expected = inputs.arg_d(which); |
| 237 EXPECT_CALL(expected, jsfunc, args, kMaxParams); | 266 EXPECT_CALL(expected, jsfunc, args, kMaxParams); |
| 238 } | 267 } |
| 239 } | 268 } |
| 240 | 269 |
| 241 TEST(Run_WASMSelect_0) { RunWASMSelectTest(0); } | 270 TEST(Run_WASMSelect_0) { |
| 271 CcTest::InitializeVM(); |
| 272 RunWASMSelectTest(0); |
| 273 } |
| 242 | 274 |
| 243 TEST(Run_WASMSelect_1) { RunWASMSelectTest(1); } | 275 TEST(Run_WASMSelect_1) { |
| 276 CcTest::InitializeVM(); |
| 277 RunWASMSelectTest(1); |
| 278 } |
| 244 | 279 |
| 245 TEST(Run_WASMSelect_2) { RunWASMSelectTest(2); } | 280 TEST(Run_WASMSelect_2) { |
| 281 CcTest::InitializeVM(); |
| 282 RunWASMSelectTest(2); |
| 283 } |
| 246 | 284 |
| 247 TEST(Run_WASMSelect_3) { RunWASMSelectTest(3); } | 285 TEST(Run_WASMSelect_3) { |
| 286 CcTest::InitializeVM(); |
| 287 RunWASMSelectTest(3); |
| 288 } |
| 248 | 289 |
| 249 TEST(Run_WASMSelect_4) { RunWASMSelectTest(4); } | 290 TEST(Run_WASMSelect_4) { |
| 291 CcTest::InitializeVM(); |
| 292 RunWASMSelectTest(4); |
| 293 } |
| 250 | 294 |
| 251 TEST(Run_WASMSelect_5) { RunWASMSelectTest(5); } | 295 TEST(Run_WASMSelect_5) { |
| 296 CcTest::InitializeVM(); |
| 297 RunWASMSelectTest(5); |
| 298 } |
| 252 | 299 |
| 253 TEST(Run_WASMSelect_6) { RunWASMSelectTest(6); } | 300 TEST(Run_WASMSelect_6) { |
| 301 CcTest::InitializeVM(); |
| 302 RunWASMSelectTest(6); |
| 303 } |
| 254 | 304 |
| 255 TEST(Run_WASMSelect_7) { RunWASMSelectTest(7); } | 305 TEST(Run_WASMSelect_7) { |
| 306 CcTest::InitializeVM(); |
| 307 RunWASMSelectTest(7); |
| 308 } |
| 256 | 309 |
| 257 void RunWASMSelectAlignTest(int num_args, int num_params) { | 310 void RunWASMSelectAlignTest(int num_args, int num_params) { |
| 258 PredictableInputValues inputs(0x300); | 311 PredictableInputValues inputs(0x300); |
| 259 Isolate* isolate = CcTest::InitIsolateOnce(); | 312 Isolate* isolate = CcTest::InitIsolateOnce(); |
| 260 const int kMaxParams = 10; | 313 const int kMaxParams = 10; |
| 261 DCHECK_LE(num_args, kMaxParams); | 314 DCHECK_LE(num_args, kMaxParams); |
| 262 LocalType type = kAstF64; | 315 LocalType type = kAstF64; |
| 263 LocalType types[kMaxParams + 1] = {type, type, type, type, type, type, | 316 LocalType types[kMaxParams + 1] = {type, type, type, type, type, type, |
| 264 type, type, type, type, type}; | 317 type, type, type, type, type}; |
| 265 FunctionSig sig(1, num_params, types); | 318 FunctionSig sig(1, num_params, types); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 281 isolate->factory()->NewNumber(inputs.arg_d(8)), | 334 isolate->factory()->NewNumber(inputs.arg_d(8)), |
| 282 isolate->factory()->NewNumber(inputs.arg_d(9))}; | 335 isolate->factory()->NewNumber(inputs.arg_d(9))}; |
| 283 | 336 |
| 284 double nan = std::numeric_limits<double>::quiet_NaN(); | 337 double nan = std::numeric_limits<double>::quiet_NaN(); |
| 285 double expected = which < num_args ? inputs.arg_d(which) : nan; | 338 double expected = which < num_args ? inputs.arg_d(which) : nan; |
| 286 EXPECT_CALL(expected, jsfunc, args, num_args); | 339 EXPECT_CALL(expected, jsfunc, args, num_args); |
| 287 } | 340 } |
| 288 } | 341 } |
| 289 | 342 |
| 290 TEST(Run_WASMSelectAlign_0) { | 343 TEST(Run_WASMSelectAlign_0) { |
| 344 CcTest::InitializeVM(); |
| 291 RunWASMSelectAlignTest(0, 1); | 345 RunWASMSelectAlignTest(0, 1); |
| 292 RunWASMSelectAlignTest(0, 2); | 346 RunWASMSelectAlignTest(0, 2); |
| 293 } | 347 } |
| 294 | 348 |
| 295 TEST(Run_WASMSelectAlign_1) { | 349 TEST(Run_WASMSelectAlign_1) { |
| 350 CcTest::InitializeVM(); |
| 296 RunWASMSelectAlignTest(1, 2); | 351 RunWASMSelectAlignTest(1, 2); |
| 297 RunWASMSelectAlignTest(1, 3); | 352 RunWASMSelectAlignTest(1, 3); |
| 298 } | 353 } |
| 299 | 354 |
| 300 TEST(Run_WASMSelectAlign_2) { | 355 TEST(Run_WASMSelectAlign_2) { |
| 356 CcTest::InitializeVM(); |
| 301 RunWASMSelectAlignTest(2, 3); | 357 RunWASMSelectAlignTest(2, 3); |
| 302 RunWASMSelectAlignTest(2, 4); | 358 RunWASMSelectAlignTest(2, 4); |
| 303 } | 359 } |
| 304 | 360 |
| 305 TEST(Run_WASMSelectAlign_3) { | 361 TEST(Run_WASMSelectAlign_3) { |
| 362 CcTest::InitializeVM(); |
| 306 RunWASMSelectAlignTest(3, 3); | 363 RunWASMSelectAlignTest(3, 3); |
| 307 RunWASMSelectAlignTest(3, 4); | 364 RunWASMSelectAlignTest(3, 4); |
| 308 } | 365 } |
| 309 | 366 |
| 310 TEST(Run_WASMSelectAlign_4) { | 367 TEST(Run_WASMSelectAlign_4) { |
| 368 CcTest::InitializeVM(); |
| 311 RunWASMSelectAlignTest(4, 3); | 369 RunWASMSelectAlignTest(4, 3); |
| 312 RunWASMSelectAlignTest(4, 4); | 370 RunWASMSelectAlignTest(4, 4); |
| 313 } | 371 } |
| 314 | 372 |
| 315 TEST(Run_WASMSelectAlign_7) { | 373 TEST(Run_WASMSelectAlign_7) { |
| 374 CcTest::InitializeVM(); |
| 316 RunWASMSelectAlignTest(7, 5); | 375 RunWASMSelectAlignTest(7, 5); |
| 317 RunWASMSelectAlignTest(7, 6); | 376 RunWASMSelectAlignTest(7, 6); |
| 318 RunWASMSelectAlignTest(7, 7); | 377 RunWASMSelectAlignTest(7, 7); |
| 319 } | 378 } |
| 320 | 379 |
| 321 TEST(Run_WASMSelectAlign_8) { | 380 TEST(Run_WASMSelectAlign_8) { |
| 381 CcTest::InitializeVM(); |
| 322 RunWASMSelectAlignTest(8, 5); | 382 RunWASMSelectAlignTest(8, 5); |
| 323 RunWASMSelectAlignTest(8, 6); | 383 RunWASMSelectAlignTest(8, 6); |
| 324 RunWASMSelectAlignTest(8, 7); | 384 RunWASMSelectAlignTest(8, 7); |
| 325 RunWASMSelectAlignTest(8, 8); | 385 RunWASMSelectAlignTest(8, 8); |
| 326 } | 386 } |
| 327 | 387 |
| 328 TEST(Run_WASMSelectAlign_9) { | 388 TEST(Run_WASMSelectAlign_9) { |
| 389 CcTest::InitializeVM(); |
| 329 RunWASMSelectAlignTest(9, 6); | 390 RunWASMSelectAlignTest(9, 6); |
| 330 RunWASMSelectAlignTest(9, 7); | 391 RunWASMSelectAlignTest(9, 7); |
| 331 RunWASMSelectAlignTest(9, 8); | 392 RunWASMSelectAlignTest(9, 8); |
| 332 RunWASMSelectAlignTest(9, 9); | 393 RunWASMSelectAlignTest(9, 9); |
| 333 } | 394 } |
| 334 | 395 |
| 335 TEST(Run_WASMSelectAlign_10) { | 396 TEST(Run_WASMSelectAlign_10) { |
| 397 CcTest::InitializeVM(); |
| 336 RunWASMSelectAlignTest(10, 7); | 398 RunWASMSelectAlignTest(10, 7); |
| 337 RunWASMSelectAlignTest(10, 8); | 399 RunWASMSelectAlignTest(10, 8); |
| 338 RunWASMSelectAlignTest(10, 9); | 400 RunWASMSelectAlignTest(10, 9); |
| 339 RunWASMSelectAlignTest(10, 10); | 401 RunWASMSelectAlignTest(10, 10); |
| 340 } | 402 } |
| 341 | 403 |
| 342 void RunJSSelectAlignTest(int num_args, int num_params) { | 404 void RunJSSelectAlignTest(int num_args, int num_params) { |
| 343 PredictableInputValues inputs(0x400); | 405 PredictableInputValues inputs(0x400); |
| 344 Isolate* isolate = CcTest::InitIsolateOnce(); | 406 Isolate* isolate = CcTest::InitIsolateOnce(); |
| 345 Factory* factory = isolate->factory(); | 407 Factory* factory = isolate->factory(); |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 387 factory->NewNumber(inputs.arg_d(9)), | 449 factory->NewNumber(inputs.arg_d(9)), |
| 388 }; | 450 }; |
| 389 | 451 |
| 390 double nan = std::numeric_limits<double>::quiet_NaN(); | 452 double nan = std::numeric_limits<double>::quiet_NaN(); |
| 391 double expected = which < num_args ? inputs.arg_d(which) : nan; | 453 double expected = which < num_args ? inputs.arg_d(which) : nan; |
| 392 EXPECT_CALL(expected, jsfunc, args, num_args); | 454 EXPECT_CALL(expected, jsfunc, args, num_args); |
| 393 } | 455 } |
| 394 } | 456 } |
| 395 | 457 |
| 396 TEST(Run_JSSelectAlign_0) { | 458 TEST(Run_JSSelectAlign_0) { |
| 459 CcTest::InitializeVM(); |
| 397 RunJSSelectAlignTest(0, 1); | 460 RunJSSelectAlignTest(0, 1); |
| 398 RunJSSelectAlignTest(0, 2); | 461 RunJSSelectAlignTest(0, 2); |
| 399 } | 462 } |
| 400 | 463 |
| 401 TEST(Run_JSSelectAlign_1) { | 464 TEST(Run_JSSelectAlign_1) { |
| 465 CcTest::InitializeVM(); |
| 402 RunJSSelectAlignTest(1, 2); | 466 RunJSSelectAlignTest(1, 2); |
| 403 RunJSSelectAlignTest(1, 3); | 467 RunJSSelectAlignTest(1, 3); |
| 404 } | 468 } |
| 405 | 469 |
| 406 TEST(Run_JSSelectAlign_2) { | 470 TEST(Run_JSSelectAlign_2) { |
| 471 CcTest::InitializeVM(); |
| 407 RunJSSelectAlignTest(2, 3); | 472 RunJSSelectAlignTest(2, 3); |
| 408 RunJSSelectAlignTest(2, 4); | 473 RunJSSelectAlignTest(2, 4); |
| 409 } | 474 } |
| 410 | 475 |
| 411 TEST(Run_JSSelectAlign_3) { | 476 TEST(Run_JSSelectAlign_3) { |
| 477 CcTest::InitializeVM(); |
| 412 RunJSSelectAlignTest(3, 3); | 478 RunJSSelectAlignTest(3, 3); |
| 413 RunJSSelectAlignTest(3, 4); | 479 RunJSSelectAlignTest(3, 4); |
| 414 } | 480 } |
| 415 | 481 |
| 416 TEST(Run_JSSelectAlign_4) { | 482 TEST(Run_JSSelectAlign_4) { |
| 483 CcTest::InitializeVM(); |
| 417 RunJSSelectAlignTest(4, 3); | 484 RunJSSelectAlignTest(4, 3); |
| 418 RunJSSelectAlignTest(4, 4); | 485 RunJSSelectAlignTest(4, 4); |
| 419 } | 486 } |
| 420 | 487 |
| 421 TEST(Run_JSSelectAlign_7) { | 488 TEST(Run_JSSelectAlign_7) { |
| 489 CcTest::InitializeVM(); |
| 422 RunJSSelectAlignTest(7, 3); | 490 RunJSSelectAlignTest(7, 3); |
| 423 RunJSSelectAlignTest(7, 4); | 491 RunJSSelectAlignTest(7, 4); |
| 424 RunJSSelectAlignTest(7, 4); | 492 RunJSSelectAlignTest(7, 4); |
| 425 RunJSSelectAlignTest(7, 4); | 493 RunJSSelectAlignTest(7, 4); |
| 426 } | 494 } |
| 427 | 495 |
| 428 TEST(Run_JSSelectAlign_8) { | 496 TEST(Run_JSSelectAlign_8) { |
| 497 CcTest::InitializeVM(); |
| 429 RunJSSelectAlignTest(8, 5); | 498 RunJSSelectAlignTest(8, 5); |
| 430 RunJSSelectAlignTest(8, 6); | 499 RunJSSelectAlignTest(8, 6); |
| 431 RunJSSelectAlignTest(8, 7); | 500 RunJSSelectAlignTest(8, 7); |
| 432 RunJSSelectAlignTest(8, 8); | 501 RunJSSelectAlignTest(8, 8); |
| 433 } | 502 } |
| 434 | 503 |
| 435 TEST(Run_JSSelectAlign_9) { | 504 TEST(Run_JSSelectAlign_9) { |
| 505 CcTest::InitializeVM(); |
| 436 RunJSSelectAlignTest(9, 6); | 506 RunJSSelectAlignTest(9, 6); |
| 437 RunJSSelectAlignTest(9, 7); | 507 RunJSSelectAlignTest(9, 7); |
| 438 RunJSSelectAlignTest(9, 8); | 508 RunJSSelectAlignTest(9, 8); |
| 439 RunJSSelectAlignTest(9, 9); | 509 RunJSSelectAlignTest(9, 9); |
| 440 } | 510 } |
| 441 | 511 |
| 442 TEST(Run_JSSelectAlign_10) { | 512 TEST(Run_JSSelectAlign_10) { |
| 513 CcTest::InitializeVM(); |
| 443 RunJSSelectAlignTest(10, 7); | 514 RunJSSelectAlignTest(10, 7); |
| 444 RunJSSelectAlignTest(10, 8); | 515 RunJSSelectAlignTest(10, 8); |
| 445 RunJSSelectAlignTest(10, 9); | 516 RunJSSelectAlignTest(10, 9); |
| 446 RunJSSelectAlignTest(10, 10); | 517 RunJSSelectAlignTest(10, 10); |
| 447 } | 518 } |
| OLD | NEW |