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

Side by Side Diff: src/wasm/wasm-interpreter.cc

Issue 2440953002: [wasm] Binary 0xD: update encoding of opcodes, types, and add immediates. (Closed)
Patch Set: Created 4 years, 2 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 #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 1574 matching lines...) Expand 10 before | Expand all | Expand 10 after
1585 break; \ 1585 break; \
1586 } 1586 }
1587 1587
1588 ASMJS_STORE_CASE(I32AsmjsStoreMem8, int32_t, int8_t); 1588 ASMJS_STORE_CASE(I32AsmjsStoreMem8, int32_t, int8_t);
1589 ASMJS_STORE_CASE(I32AsmjsStoreMem16, int32_t, int16_t); 1589 ASMJS_STORE_CASE(I32AsmjsStoreMem16, int32_t, int16_t);
1590 ASMJS_STORE_CASE(I32AsmjsStoreMem, int32_t, int32_t); 1590 ASMJS_STORE_CASE(I32AsmjsStoreMem, int32_t, int32_t);
1591 ASMJS_STORE_CASE(F32AsmjsStoreMem, float, float); 1591 ASMJS_STORE_CASE(F32AsmjsStoreMem, float, float);
1592 ASMJS_STORE_CASE(F64AsmjsStoreMem, double, double); 1592 ASMJS_STORE_CASE(F64AsmjsStoreMem, double, double);
1593 #undef ASMJS_STORE_CASE 1593 #undef ASMJS_STORE_CASE
1594 case kExprGrowMemory: { 1594 case kExprGrowMemory: {
1595 MemoryIndexOperand operand(&decoder, code->at(pc));
1595 uint32_t delta_pages = Pop().to<uint32_t>(); 1596 uint32_t delta_pages = Pop().to<uint32_t>();
1596 Push(pc, WasmVal(ExecuteGrowMemory(delta_pages, instance()))); 1597 Push(pc, WasmVal(ExecuteGrowMemory(delta_pages, instance())));
1598 len = 1 + operand.length;
1597 break; 1599 break;
1598 } 1600 }
1599 case kExprMemorySize: { 1601 case kExprMemorySize: {
1602 MemoryIndexOperand operand(&decoder, code->at(pc));
1600 Push(pc, WasmVal(static_cast<uint32_t>(instance()->mem_size / 1603 Push(pc, WasmVal(static_cast<uint32_t>(instance()->mem_size /
1601 WasmModule::kPageSize))); 1604 WasmModule::kPageSize)));
1605 len = 1 + operand.length;
1602 break; 1606 break;
1603 } 1607 }
1604 #define EXECUTE_SIMPLE_BINOP(name, ctype, op) \ 1608 #define EXECUTE_SIMPLE_BINOP(name, ctype, op) \
1605 case kExpr##name: { \ 1609 case kExpr##name: { \
1606 WasmVal rval = Pop(); \ 1610 WasmVal rval = Pop(); \
1607 WasmVal lval = Pop(); \ 1611 WasmVal lval = Pop(); \
1608 WasmVal result(lval.to<ctype>() op rval.to<ctype>()); \ 1612 WasmVal result(lval.to<ctype>() op rval.to<ctype>()); \
1609 Push(pc, result); \ 1613 Push(pc, result); \
1610 break; \ 1614 break; \
1611 } 1615 }
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
1881 1885
1882 ControlTransferMap WasmInterpreter::ComputeControlTransfersForTesting( 1886 ControlTransferMap WasmInterpreter::ComputeControlTransfersForTesting(
1883 Zone* zone, const byte* start, const byte* end) { 1887 Zone* zone, const byte* start, const byte* end) {
1884 ControlTransfers targets(zone, nullptr, nullptr, start, end); 1888 ControlTransfers targets(zone, nullptr, nullptr, start, end);
1885 return targets.map_; 1889 return targets.map_;
1886 } 1890 }
1887 1891
1888 } // namespace wasm 1892 } // namespace wasm
1889 } // namespace internal 1893 } // namespace internal
1890 } // namespace v8 1894 } // namespace v8
OLDNEW
« no previous file with comments | « src/wasm/ast-decoder.cc ('k') | src/wasm/wasm-macro-gen.h » ('j') | src/wasm/wasm-opcodes.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698