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

Side by Side Diff: test/cctest/wasm/test-run-wasm-js.cc

Issue 1830663002: [wasm] Binary 11: AST changes. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: 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
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 #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 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 for (int num_params = which + 1; num_params < kMaxParams; num_params++) { 203 for (int num_params = which + 1; num_params < kMaxParams; num_params++) {
204 HandleScope scope(CcTest::InitIsolateOnce()); 204 HandleScope scope(CcTest::InitIsolateOnce());
205 FunctionSig sig(1, num_params, types); 205 FunctionSig sig(1, num_params, types);
206 206
207 TestingModule module; 207 TestingModule module;
208 uint32_t js_index = AddJSSelector(&module, &sig, which); 208 uint32_t js_index = AddJSSelector(&module, &sig, which);
209 WasmFunctionCompiler t(&sig, &module); 209 WasmFunctionCompiler t(&sig, &module);
210 210
211 { 211 {
212 std::vector<byte> code; 212 std::vector<byte> code;
213 ADD_CODE(code, kExprCallFunction, static_cast<byte>(js_index));
214 213
215 for (int i = 0; i < num_params; i++) { 214 for (int i = 0; i < num_params; i++) {
216 ADD_CODE(code, WASM_F64(inputs.arg_d(i))); 215 ADD_CODE(code, WASM_F64(inputs.arg_d(i)));
217 } 216 }
218 217
218 ADD_CODE(code, kExprCallFunction, static_cast<byte>(js_index));
219
219 size_t end = code.size(); 220 size_t end = code.size();
220 code.push_back(0); 221 code.push_back(0);
221 t.Build(&code[0], &code[end]); 222 t.Build(&code[0], &code[end]);
222 } 223 }
223 224
224 Handle<JSFunction> jsfunc = WrapCode(&module, t.CompileAndAdd()); 225 Handle<JSFunction> jsfunc = WrapCode(&module, t.CompileAndAdd());
225 double expected = inputs.arg_d(which); 226 double expected = inputs.arg_d(which);
226 EXPECT_CALL(expected, jsfunc, 0.0, 0.0); 227 EXPECT_CALL(expected, jsfunc, 0.0, 0.0);
227 } 228 }
228 #endif 229 #endif
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 Factory* factory = isolate->factory(); 361 Factory* factory = isolate->factory();
361 const int kMaxParams = 4; 362 const int kMaxParams = 4;
362 CHECK_LE(num_args, kMaxParams); 363 CHECK_LE(num_args, kMaxParams);
363 CHECK_LE(num_params, kMaxParams); 364 CHECK_LE(num_params, kMaxParams);
364 LocalType type = kAstF64; 365 LocalType type = kAstF64;
365 LocalType types[kMaxParams + 1] = {type, type, type, type, type}; 366 LocalType types[kMaxParams + 1] = {type, type, type, type, type};
366 FunctionSig sig(1, num_params, types); 367 FunctionSig sig(1, num_params, types);
367 368
368 // Build the calling code. 369 // Build the calling code.
369 std::vector<byte> code; 370 std::vector<byte> code;
370 ADD_CODE(code, kExprCallFunction, 0);
371 371
372 for (int i = 0; i < num_params; i++) { 372 for (int i = 0; i < num_params; i++) {
373 ADD_CODE(code, WASM_GET_LOCAL(i)); 373 ADD_CODE(code, WASM_GET_LOCAL(i));
374 } 374 }
375 375
376 ADD_CODE(code, kExprCallFunction, 0);
377
376 size_t end = code.size(); 378 size_t end = code.size();
377 code.push_back(0); 379 code.push_back(0);
378 380
379 // Call different select JS functions. 381 // Call different select JS functions.
380 for (int which = 0; which < num_params; which++) { 382 for (int which = 0; which < num_params; which++) {
381 HandleScope scope(isolate); 383 HandleScope scope(isolate);
382 TestingModule module; 384 TestingModule module;
383 uint32_t js_index = AddJSSelector(&module, &sig, which); 385 uint32_t js_index = AddJSSelector(&module, &sig, which);
384 CHECK_EQ(0, js_index); 386 CHECK_EQ(0, js_index);
385 WasmFunctionCompiler t(&sig, &module); 387 WasmFunctionCompiler t(&sig, &module);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
425 RunJSSelectAlignTest(1, 2); 427 RunJSSelectAlignTest(1, 2);
426 RunJSSelectAlignTest(1, 3); 428 RunJSSelectAlignTest(1, 3);
427 } 429 }
428 430
429 431
430 TEST(Run_JSSelectAlign_3) { 432 TEST(Run_JSSelectAlign_3) {
431 RunJSSelectAlignTest(3, 3); 433 RunJSSelectAlignTest(3, 3);
432 RunJSSelectAlignTest(3, 4); 434 RunJSSelectAlignTest(3, 4);
433 } 435 }
434 #endif 436 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698