|  | // Copyright 2018 the V8 project authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | // Flags: --allow-natives-syntax --liftoff --wasm-trap-handler | 
|  |  | 
|  | // A simple test to make sure Liftoff can compile memory operations with trap | 
|  | // handlers enabled. | 
|  |  | 
|  | load("test/mjsunit/wasm/wasm-module-builder.js"); | 
|  |  | 
|  | function testCompileLoadStore() { | 
|  | const builder = new WasmModuleBuilder(); | 
|  | // These functions generate statically out of bounds accesses. | 
|  | builder.addFunction("load", kSig_i_i) | 
|  | .addBody([kExprLocalGet, 0, kExprI32LoadMem, 0, 0x80, 0x80, 0x80, 1]) | 
|  | .exportFunc(); | 
|  | builder.addFunction("store", kSig_i_ii) | 
|  | .addBody([kExprLocalGet, 0, | 
|  | kExprLocalGet, 1, | 
|  | kExprI32StoreMem, 0, 0x80, 0x80, 0x80, 1, | 
|  | kExprLocalGet, 1]) | 
|  | .exportFunc(); | 
|  | builder.addMemory(1, 1, false); | 
|  | const instance = builder.instantiate(); | 
|  | } | 
|  | testCompileLoadStore(); |