Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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 <stdint.h> | 5 #include <stdint.h> |
| 6 #include <stdlib.h> | 6 #include <stdlib.h> |
| 7 #include <string.h> | 7 #include <string.h> |
| 8 | 8 |
| 9 #include "src/base/platform/elapsed-timer.h" | 9 #include "src/base/platform/elapsed-timer.h" |
| 10 | 10 |
| (...skipping 1602 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1613 WASM_GET_LOCAL(kSum)), | 1613 WASM_GET_LOCAL(kSum)), |
| 1614 WASM_GET_LOCAL(0))); | 1614 WASM_GET_LOCAL(0))); |
| 1615 | 1615 |
| 1616 CHECK_EQ(0, r.Call(4 * (kSize - 1))); | 1616 CHECK_EQ(0, r.Call(4 * (kSize - 1))); |
| 1617 CHECK_NE(-99.25, buffer[0]); | 1617 CHECK_NE(-99.25, buffer[0]); |
| 1618 CHECK_EQ(71256.0f, buffer[0]); | 1618 CHECK_EQ(71256.0f, buffer[0]); |
| 1619 } | 1619 } |
| 1620 | 1620 |
| 1621 template <typename T> | 1621 template <typename T> |
| 1622 T GenerateAndRunFold(WasmExecutionMode execution_mode, WasmOpcode binop, | 1622 T GenerateAndRunFold(WasmExecutionMode execution_mode, WasmOpcode binop, |
| 1623 T* buffer, size_t size, LocalType astType, | 1623 T* buffer, uint32_t size, LocalType astType, |
| 1624 MachineType memType) { | 1624 MachineType memType) { |
| 1625 TestingModule module(execution_mode); | 1625 TestingModule module(execution_mode); |
| 1626 module.AddMemoryElems<T>(size); | 1626 module.AddMemoryElems<T>(size); |
| 1627 for (size_t i = 0; i < size; i++) { | 1627 for (size_t i = 0; i < size; i++) { |
|
bradnelson
2016/06/16 21:11:23
-> uint32_t ?
Mircea Trofin
2016/06/16 21:55:25
Done.
| |
| 1628 module.raw_mem_start<T>()[i] = buffer[i]; | 1628 module.raw_mem_start<T>()[i] = buffer[i]; |
| 1629 } | 1629 } |
| 1630 WasmRunner<int32_t> r(&module, MachineType::Int32()); | 1630 WasmRunner<int32_t> r(&module, MachineType::Int32()); |
| 1631 const byte kAccum = r.AllocateLocal(astType); | 1631 const byte kAccum = r.AllocateLocal(astType); |
| 1632 | 1632 |
| 1633 BUILD( | 1633 BUILD( |
| 1634 r, | 1634 r, |
| 1635 WASM_BLOCK( | 1635 WASM_BLOCK( |
| 1636 4, WASM_SET_LOCAL(kAccum, WASM_LOAD_MEM(memType, WASM_ZERO)), | 1636 4, WASM_SET_LOCAL(kAccum, WASM_LOAD_MEM(memType, WASM_ZERO)), |
| 1637 WASM_WHILE( | 1637 WASM_WHILE( |
| (...skipping 1176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2814 MachineType::Int32()); | 2814 MachineType::Int32()); |
| 2815 BUILD(r, WASM_I32_REMS(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)), WASM_ZERO); | 2815 BUILD(r, WASM_I32_REMS(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)), WASM_ZERO); |
| 2816 const int32_t kMin = std::numeric_limits<int32_t>::min(); | 2816 const int32_t kMin = std::numeric_limits<int32_t>::min(); |
| 2817 CHECK_EQ(0, r.Call(133, 100)); | 2817 CHECK_EQ(0, r.Call(133, 100)); |
| 2818 CHECK_EQ(0, r.Call(kMin, -1)); | 2818 CHECK_EQ(0, r.Call(kMin, -1)); |
| 2819 CHECK_EQ(0, r.Call(0, 1)); | 2819 CHECK_EQ(0, r.Call(0, 1)); |
| 2820 CHECK_TRAP(r.Call(100, 0)); | 2820 CHECK_TRAP(r.Call(100, 0)); |
| 2821 CHECK_TRAP(r.Call(-1001, 0)); | 2821 CHECK_TRAP(r.Call(-1001, 0)); |
| 2822 CHECK_TRAP(r.Call(kMin, 0)); | 2822 CHECK_TRAP(r.Call(kMin, 0)); |
| 2823 } | 2823 } |
| OLD | NEW |