OLD | NEW |
---|---|
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 #include "src/wasm/wasm-interpreter.h" | 5 #include "src/wasm/wasm-interpreter.h" |
6 | 6 |
7 #include "src/utils.h" | 7 #include "src/utils.h" |
8 #include "src/wasm/ast-decoder.h" | 8 #include "src/wasm/ast-decoder.h" |
9 #include "src/wasm/decoder.h" | 9 #include "src/wasm/decoder.h" |
10 #include "src/wasm/wasm-external-refs.h" | 10 #include "src/wasm/wasm-external-refs.h" |
(...skipping 1018 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1029 TRACE(" => PushFrame(#%u @%zu)\n", code->function->func_index, | 1029 TRACE(" => PushFrame(#%u @%zu)\n", code->function->func_index, |
1030 frames_.back().ret_pc); | 1030 frames_.back().ret_pc); |
1031 } | 1031 } |
1032 | 1032 |
1033 virtual WasmInterpreter::State Run() { | 1033 virtual WasmInterpreter::State Run() { |
1034 do { | 1034 do { |
1035 TRACE(" => Run()\n"); | 1035 TRACE(" => Run()\n"); |
1036 if (state_ == WasmInterpreter::STOPPED || | 1036 if (state_ == WasmInterpreter::STOPPED || |
1037 state_ == WasmInterpreter::PAUSED) { | 1037 state_ == WasmInterpreter::PAUSED) { |
1038 state_ = WasmInterpreter::RUNNING; | 1038 state_ = WasmInterpreter::RUNNING; |
1039 Execute(frames_.back().code, frames_.back().ret_pc, kRunSteps); | 1039 Execute(codemap()->Preprocess(frames_.back().code), |
titzer
2016/09/22 14:18:24
Maybe PushFrame should do this?
ahaas
2016/09/22 14:40:37
I moved Preprocess to FindCode in the CodeMap. I t
| |
1040 frames_.back().ret_pc, kRunSteps); | |
1040 } | 1041 } |
1041 } while (state_ == WasmInterpreter::STOPPED); | 1042 } while (state_ == WasmInterpreter::STOPPED); |
1042 return state_; | 1043 return state_; |
1043 } | 1044 } |
1044 | 1045 |
1045 virtual WasmInterpreter::State Step() { | 1046 virtual WasmInterpreter::State Step() { |
1046 TRACE(" => Step()\n"); | 1047 TRACE(" => Step()\n"); |
1047 if (state_ == WasmInterpreter::STOPPED || | 1048 if (state_ == WasmInterpreter::STOPPED || |
1048 state_ == WasmInterpreter::PAUSED) { | 1049 state_ == WasmInterpreter::PAUSED) { |
1049 state_ = WasmInterpreter::RUNNING; | 1050 state_ = WasmInterpreter::RUNNING; |
(...skipping 800 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1850 | 1851 |
1851 ControlTransferMap WasmInterpreter::ComputeControlTransfersForTesting( | 1852 ControlTransferMap WasmInterpreter::ComputeControlTransfersForTesting( |
1852 Zone* zone, const byte* start, const byte* end) { | 1853 Zone* zone, const byte* start, const byte* end) { |
1853 ControlTransfers targets(zone, 0, start, end); | 1854 ControlTransfers targets(zone, 0, start, end); |
1854 return targets.map_; | 1855 return targets.map_; |
1855 } | 1856 } |
1856 | 1857 |
1857 } // namespace wasm | 1858 } // namespace wasm |
1858 } // namespace internal | 1859 } // namespace internal |
1859 } // namespace v8 | 1860 } // namespace v8 |
OLD | NEW |