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

Side by Side Diff: test/cctest/wasm/wasm-run-utils.h

Issue 2055803002: [wasm] Fix CFI failures due to Wasm threads. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 6 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 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 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 #ifndef WASM_RUN_UTILS_H 5 #ifndef WASM_RUN_UTILS_H
6 #define WASM_RUN_UTILS_H 6 #define WASM_RUN_UTILS_H
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 #include <stdlib.h> 9 #include <stdlib.h>
10 #include <string.h> 10 #include <string.h>
(...skipping 688 matching lines...) Expand 10 before | Expand all | Expand 10 after
699 int32_t result = runner.Call<void*, void*, void*, void*, void*>( 699 int32_t result = runner.Call<void*, void*, void*, void*, void*>(
700 &p0, &p1, &p2, &p3, &return_value); 700 &p0, &p1, &p2, &p3, &return_value);
701 CHECK_EQ(WASM_WRAPPER_RETURN_VALUE, result); 701 CHECK_EQ(WASM_WRAPPER_RETURN_VALUE, result);
702 return return_value; 702 return return_value;
703 } 703 }
704 } 704 }
705 705
706 ReturnType CallInterpreter(Vector<WasmVal> args) { 706 ReturnType CallInterpreter(Vector<WasmVal> args) {
707 CHECK_EQ(args.length(), 707 CHECK_EQ(args.length(),
708 static_cast<int>(compiler_.function_->sig->parameter_count())); 708 static_cast<int>(compiler_.function_->sig->parameter_count()));
709 WasmInterpreter::Thread& thread = interpreter()->GetThread(0); 709 WasmInterpreter::Thread* thread = interpreter()->GetThread(0);
710 thread.Reset(); 710 thread->Reset();
711 thread.PushFrame(compiler_.function_, args.start()); 711 thread->PushFrame(compiler_.function_, args.start());
712 if (thread.Run() == WasmInterpreter::FINISHED) { 712 if (thread->Run() == WasmInterpreter::FINISHED) {
713 WasmVal val = thread.GetReturnValue(); 713 WasmVal val = thread->GetReturnValue();
714 return val.to<ReturnType>(); 714 return val.to<ReturnType>();
715 } else if (thread.state() == WasmInterpreter::TRAPPED) { 715 } else if (thread->state() == WasmInterpreter::TRAPPED) {
716 // TODO(titzer): return the correct trap code 716 // TODO(titzer): return the correct trap code
717 int64_t result = 0xdeadbeefdeadbeef; 717 int64_t result = 0xdeadbeefdeadbeef;
718 return static_cast<ReturnType>(result); 718 return static_cast<ReturnType>(result);
719 } else { 719 } else {
720 // TODO(titzer): falling off end 720 // TODO(titzer): falling off end
721 ReturnType val = 0; 721 ReturnType val = 0;
722 return val; 722 return val;
723 } 723 }
724 } 724 }
725 725
(...skipping 29 matching lines...) Expand all
755 // interpreter. 755 // interpreter.
756 #define WASM_EXEC_TEST(name) \ 756 #define WASM_EXEC_TEST(name) \
757 void RunWasm_##name(WasmExecutionMode execution_mode); \ 757 void RunWasm_##name(WasmExecutionMode execution_mode); \
758 TEST(RunWasmCompiled_##name) { RunWasm_##name(kExecuteCompiled); } \ 758 TEST(RunWasmCompiled_##name) { RunWasm_##name(kExecuteCompiled); } \
759 TEST(RunWasmInterpreted_##name) { RunWasm_##name(kExecuteInterpreted); } \ 759 TEST(RunWasmInterpreted_##name) { RunWasm_##name(kExecuteInterpreted); } \
760 void RunWasm_##name(WasmExecutionMode execution_mode) 760 void RunWasm_##name(WasmExecutionMode execution_mode)
761 761
762 } // namespace 762 } // namespace
763 763
764 #endif 764 #endif
OLDNEW
« src/wasm/wasm-interpreter.cc ('K') | « test/cctest/wasm/test-run-wasm-interpreter.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698