| Index: src/wasm/wasm-debug.cc
|
| diff --git a/src/wasm/wasm-debug.cc b/src/wasm/wasm-debug.cc
|
| index 0327c1f1414166e6946096f5a19b4eb84b04f808..fe6d5fd584c32f51f8bddc11cd8088e95ca5d2a0 100644
|
| --- a/src/wasm/wasm-debug.cc
|
| +++ b/src/wasm/wasm-debug.cc
|
| @@ -133,11 +133,11 @@ class InterpreterHandle {
|
| ScopedVector<WasmVal> wasm_args(num_params);
|
| uint8_t* arg_buf_ptr = arg_buffer;
|
| for (int i = 0; i < num_params; ++i) {
|
| - int param_size = 1 << ElementSizeLog2Of(sig->GetParam(i));
|
| + uint32_t param_size = 1 << ElementSizeLog2Of(sig->GetParam(i));
|
| #define CASE_ARG_TYPE(type, ctype) \
|
| case type: \
|
| DCHECK_EQ(param_size, sizeof(ctype)); \
|
| - wasm_args[i] = WasmVal(*reinterpret_cast<ctype*>(arg_buf_ptr)); \
|
| + wasm_args[i] = WasmVal(ReadUnalignedValue<ctype>(arg_buf_ptr)); \
|
| break;
|
| switch (sig->GetParam(i)) {
|
| CASE_ARG_TYPE(kWasmI32, uint32_t)
|
| @@ -148,7 +148,7 @@ class InterpreterHandle {
|
| default:
|
| UNREACHABLE();
|
| }
|
| - arg_buf_ptr += RoundUpToMultipleOfPowOf2(param_size, 8);
|
| + arg_buf_ptr += param_size;
|
| }
|
|
|
| WasmInterpreter::Thread* thread = interpreter_.GetThread(0);
|
| @@ -197,7 +197,7 @@ class InterpreterHandle {
|
| #define CASE_RET_TYPE(type, ctype) \
|
| case type: \
|
| DCHECK_EQ(1 << ElementSizeLog2Of(sig->GetReturn(0)), sizeof(ctype)); \
|
| - *reinterpret_cast<ctype*>(arg_buffer) = ret_val.to<ctype>(); \
|
| + WriteUnalignedValue<ctype>(arg_buffer, ret_val.to<ctype>()); \
|
| break;
|
| switch (sig->GetReturn(0)) {
|
| CASE_RET_TYPE(kWasmI32, uint32_t)
|
|
|