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

Side by Side Diff: src/wasm/module-decoder.h

Issue 2555243002: [wasm] Fix location for error in asm.js ToNumber conversion (Closed)
Patch Set: Fix gc error by storing callee_pc_address Created 4 years 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/objects.h ('k') | src/wasm/module-decoder.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_WASM_MODULE_DECODER_H_ 5 #ifndef V8_WASM_MODULE_DECODER_H_
6 #define V8_WASM_MODULE_DECODER_H_ 6 #define V8_WASM_MODULE_DECODER_H_
7 7
8 #include "src/globals.h" 8 #include "src/globals.h"
9 #include "src/wasm/ast-decoder.h" 9 #include "src/wasm/ast-decoder.h"
10 #include "src/wasm/wasm-module.h" 10 #include "src/wasm/wasm-module.h"
11 #include "src/wasm/wasm-result.h" 11 #include "src/wasm/wasm-result.h"
12 12
13 namespace v8 { 13 namespace v8 {
14 namespace internal { 14 namespace internal {
15 namespace wasm { 15 namespace wasm {
16 16
17 typedef Result<const WasmModule*> ModuleResult; 17 typedef Result<const WasmModule*> ModuleResult;
18 typedef Result<WasmFunction*> FunctionResult; 18 typedef Result<WasmFunction*> FunctionResult;
19 typedef std::vector<std::pair<int, int>> FunctionOffsets; 19 typedef std::vector<std::pair<int, int>> FunctionOffsets;
20 typedef Result<FunctionOffsets> FunctionOffsetsResult; 20 typedef Result<FunctionOffsets> FunctionOffsetsResult;
21 typedef std::vector<std::vector<std::pair<int, int>>> AsmJsOffsets; 21 struct AsmJsOffsetEntry {
22 int byte_offset;
23 int source_position_call;
24 int source_position_number_conversion;
25 };
26 typedef std::vector<std::vector<AsmJsOffsetEntry>> AsmJsOffsets;
22 typedef Result<AsmJsOffsets> AsmJsOffsetsResult; 27 typedef Result<AsmJsOffsets> AsmJsOffsetsResult;
23 28
24 // Decodes the bytes of a WASM module between {module_start} and {module_end}. 29 // Decodes the bytes of a WASM module between {module_start} and {module_end}.
25 V8_EXPORT_PRIVATE ModuleResult DecodeWasmModule(Isolate* isolate, 30 V8_EXPORT_PRIVATE ModuleResult DecodeWasmModule(Isolate* isolate,
26 const byte* module_start, 31 const byte* module_start,
27 const byte* module_end, 32 const byte* module_end,
28 bool verify_functions, 33 bool verify_functions,
29 ModuleOrigin origin); 34 ModuleOrigin origin);
30 35
31 // Exposed for testing. Decodes a single function signature, allocating it 36 // Exposed for testing. Decodes a single function signature, allocating it
(...skipping 25 matching lines...) Expand all
57 // failure if the wasm bytes are detected as invalid. Note that this validation 62 // failure if the wasm bytes are detected as invalid. Note that this validation
58 // is not complete. 63 // is not complete.
59 AsmJsOffsetsResult DecodeAsmJsOffsets(const byte* module_start, 64 AsmJsOffsetsResult DecodeAsmJsOffsets(const byte* module_start,
60 const byte* module_end); 65 const byte* module_end);
61 66
62 } // namespace wasm 67 } // namespace wasm
63 } // namespace internal 68 } // namespace internal
64 } // namespace v8 69 } // namespace v8
65 70
66 #endif // V8_WASM_MODULE_DECODER_H_ 71 #endif // V8_WASM_MODULE_DECODER_H_
OLDNEW
« no previous file with comments | « src/objects.h ('k') | src/wasm/module-decoder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698