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

Unified Diff: test/cctest/wasm/test-run-wasm-js.cc

Issue 1587763002: Revert of [wasm] Add tests for JS wrappers to test-run-wasm. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « test/cctest/wasm/test-run-wasm.cc ('k') | test/cctest/wasm/wasm-run-utils.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/cctest/wasm/test-run-wasm-js.cc
diff --git a/test/cctest/wasm/test-run-wasm-js.cc b/test/cctest/wasm/test-run-wasm-js.cc
deleted file mode 100644
index 65fa2e8148e44fd43586bc079cf2166fe3fc6a1a..0000000000000000000000000000000000000000
--- a/test/cctest/wasm/test-run-wasm-js.cc
+++ /dev/null
@@ -1,141 +0,0 @@
-// Copyright 2015 the V8 project authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <stdint.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "src/wasm/wasm-macro-gen.h"
-
-#include "test/cctest/cctest.h"
-#include "test/cctest/wasm/test-signatures.h"
-#include "test/cctest/wasm/wasm-run-utils.h"
-
-using namespace v8::base;
-using namespace v8::internal;
-using namespace v8::internal::compiler;
-using namespace v8::internal::wasm;
-
-#define BUILD(r, ...) \
- do { \
- byte code[] = {__VA_ARGS__}; \
- r.Build(code, code + arraysize(code)); \
- } while (false)
-
-
-static uint32_t AddJsFunction(TestingModule* module, FunctionSig* sig,
- const char* source) {
- Handle<JSFunction> jsfunc = Handle<JSFunction>::cast(v8::Utils::OpenHandle(
- *v8::Local<v8::Function>::Cast(CompileRun(source))));
- module->AddFunction(sig, Handle<Code>::null());
- uint32_t index = static_cast<uint32_t>(module->module->functions->size() - 1);
- Isolate* isolate = CcTest::InitIsolateOnce();
- Handle<Code> code = CompileWasmToJSWrapper(isolate, module, jsfunc, index);
- module->function_code->at(index) = code;
- return index;
-}
-
-
-static Handle<JSFunction> WrapCode(ModuleEnv* module, uint32_t index) {
- Isolate* isolate = module->module->shared_isolate;
- // Wrap the code so it can be called as a JS function.
- Handle<String> name = isolate->factory()->NewStringFromStaticChars("main");
- Handle<JSObject> module_object = Handle<JSObject>(0, isolate);
- Handle<Code> code = module->function_code->at(index);
- WasmJs::InstallWasmFunctionMap(isolate, isolate->native_context());
- return compiler::CompileJSToWasmWrapper(isolate, module, name, code,
- module_object, index);
-}
-
-
-static void EXPECT_CALL(double expected, Handle<JSFunction> jsfunc, double a,
- double b) {
- Isolate* isolate = jsfunc->GetIsolate();
- Handle<Object> buffer[] = {isolate->factory()->NewNumber(a),
- isolate->factory()->NewNumber(b)};
- Handle<Object> undefined(isolate->heap()->undefined_value(), isolate);
- MaybeHandle<Object> retval =
- Execution::Call(isolate, jsfunc, undefined, 2, buffer);
-
- CHECK(!retval.is_null());
- Handle<Object> result = retval.ToHandleChecked();
- if (result->IsSmi()) {
- CHECK_EQ(expected, Smi::cast(*result)->value());
- } else {
- CHECK(result->IsHeapNumber());
- CHECK_EQ(expected, HeapNumber::cast(*result)->value());
- }
-}
-
-
-TEST(Run_Int32Sub_jswrapped) {
- TestSignatures sigs;
- TestingModule module;
- WasmFunctionCompiler t(sigs.i_ii());
- BUILD(t, WASM_I32_SUB(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)));
- Handle<JSFunction> jsfunc = WrapCode(&module, t.CompileAndAdd(&module));
-
- EXPECT_CALL(33, jsfunc, 44, 11);
- EXPECT_CALL(-8723487, jsfunc, -8000000, 723487);
-}
-
-
-TEST(Run_Float32Div_jswrapped) {
- TestSignatures sigs;
- TestingModule module;
- WasmFunctionCompiler t(sigs.f_ff());
- BUILD(t, WASM_F32_DIV(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)));
- Handle<JSFunction> jsfunc = WrapCode(&module, t.CompileAndAdd(&module));
-
- EXPECT_CALL(92, jsfunc, 46, 0.5);
- EXPECT_CALL(64, jsfunc, -16, -0.25);
-}
-
-
-TEST(Run_Float64Add_jswrapped) {
- TestSignatures sigs;
- TestingModule module;
- WasmFunctionCompiler t(sigs.d_dd());
- BUILD(t, WASM_F64_ADD(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)));
- Handle<JSFunction> jsfunc = WrapCode(&module, t.CompileAndAdd(&module));
-
- EXPECT_CALL(3, jsfunc, 2, 1);
- EXPECT_CALL(-5.5, jsfunc, -5.25, -0.25);
-}
-
-
-TEST(Run_I32Popcount_jswrapped) {
- TestSignatures sigs;
- TestingModule module;
- WasmFunctionCompiler t(sigs.i_i());
- BUILD(t, WASM_I32_POPCNT(WASM_GET_LOCAL(0)));
- Handle<JSFunction> jsfunc = WrapCode(&module, t.CompileAndAdd(&module));
-
- EXPECT_CALL(2, jsfunc, 9, 0);
- EXPECT_CALL(3, jsfunc, 11, 0);
- EXPECT_CALL(6, jsfunc, 0x3F, 0);
-
- USE(AddJsFunction);
-}
-
-
-#if !V8_TARGET_ARCH_ARM64
-// TODO(titzer): fix wasm->JS calls on arm64 (wrapper issues)
-
-TEST(Run_CallJS_Add_jswrapped) {
- TestSignatures sigs;
- TestingModule module;
- WasmFunctionCompiler t(sigs.i_i(), &module);
- uint32_t js_index =
- AddJsFunction(&module, sigs.i_i(), "(function(a) { return a + 99; })");
- BUILD(t, WASM_CALL_FUNCTION(js_index, WASM_GET_LOCAL(0)));
-
- Handle<JSFunction> jsfunc = WrapCode(&module, t.CompileAndAdd(&module));
-
- EXPECT_CALL(101, jsfunc, 2, -8);
- EXPECT_CALL(199, jsfunc, 100, -1);
- EXPECT_CALL(-666666801, jsfunc, -666666900, -1);
-}
-
-#endif
« no previous file with comments | « test/cctest/wasm/test-run-wasm.cc ('k') | test/cctest/wasm/wasm-run-utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698