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/compiler/wasm-compiler.h

Issue 2122853002: Implement UnaligedLoad and UnaligedStore turbofan operators. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Nits. Fixes some errors Created 4 years, 5 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
« no previous file with comments | « src/compiler/verifier.cc ('k') | src/compiler/wasm-compiler.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #ifndef V8_COMPILER_WASM_COMPILER_H_ 5 #ifndef V8_COMPILER_WASM_COMPILER_H_
6 #define V8_COMPILER_WASM_COMPILER_H_ 6 #define V8_COMPILER_WASM_COMPILER_H_
7 7
8 // Clients of this interface shouldn't depend on lots of compiler internals. 8 // Clients of this interface shouldn't depend on lots of compiler internals.
9 // Do not include anything from src/compiler here! 9 // Do not include anything from src/compiler here!
10 #include "src/compiler.h" 10 #include "src/compiler.h"
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 227
228 // Internal helper methods. 228 // Internal helper methods.
229 JSGraph* jsgraph() { return jsgraph_; } 229 JSGraph* jsgraph() { return jsgraph_; }
230 Graph* graph(); 230 Graph* graph();
231 231
232 Node* String(const char* string); 232 Node* String(const char* string);
233 Node* MemBuffer(uint32_t offset); 233 Node* MemBuffer(uint32_t offset);
234 void BoundsCheckMem(MachineType memtype, Node* index, uint32_t offset, 234 void BoundsCheckMem(MachineType memtype, Node* index, uint32_t offset,
235 wasm::WasmCodePosition position); 235 wasm::WasmCodePosition position);
236 236
237 MachineType GetTypeForUnalignedAccess(uint32_t alignment,
238 bool signExtend = false);
239
240 Node* GetUnalignedLoadOffsetNode(Node* baseOffset, int numberOfBytes,
241 int stride, int current);
242
243 Node* BuildUnalignedLoad(wasm::LocalType type, MachineType memtype,
244 Node* index, uint32_t offset, uint32_t alignment);
245 Node* GetUnalignedStoreOffsetNode(Node* baseOffset, int numberOfBytes,
246 int stride, int current);
247 Node* BuildUnalignedStore(MachineType memtype, Node* index, uint32_t offset,
248 uint32_t alignment, Node* val);
249
250 Node* BuildChangeEndianness(Node* node, MachineType type, 237 Node* BuildChangeEndianness(Node* node, MachineType type,
251 wasm::LocalType wasmtype = wasm::kAstStmt); 238 wasm::LocalType wasmtype = wasm::kAstStmt);
252 239
253 Node* MaskShiftCount32(Node* node); 240 Node* MaskShiftCount32(Node* node);
254 Node* MaskShiftCount64(Node* node); 241 Node* MaskShiftCount64(Node* node);
255 242
256 Node* BuildCCall(MachineSignature* sig, Node** args); 243 Node* BuildCCall(MachineSignature* sig, Node** args);
257 Node* BuildWasmCall(wasm::FunctionSig* sig, Node** args, 244 Node* BuildWasmCall(wasm::FunctionSig* sig, Node** args,
258 wasm::WasmCodePosition position); 245 wasm::WasmCodePosition position);
259 246
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
363 } 350 }
364 351
365 // Simd helper functions 352 // Simd helper functions
366 MachineOperatorBuilder* simd(); 353 MachineOperatorBuilder* simd();
367 }; 354 };
368 } // namespace compiler 355 } // namespace compiler
369 } // namespace internal 356 } // namespace internal
370 } // namespace v8 357 } // namespace v8
371 358
372 #endif // V8_COMPILER_WASM_COMPILER_H_ 359 #endif // V8_COMPILER_WASM_COMPILER_H_
OLDNEW
« no previous file with comments | « src/compiler/verifier.cc ('k') | src/compiler/wasm-compiler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698