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

Side by Side Diff: src/wasm/ast-decoder.cc

Issue 2400863003: [wasm] Simd128 types should not be available in asmjs modules. (Closed)
Patch Set: Fix test Created 4 years, 2 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/wasm/ast-decoder.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 #include "src/signature.h" 5 #include "src/signature.h"
6 6
7 #include "src/bit-vector.h" 7 #include "src/bit-vector.h"
8 #include "src/flags.h" 8 #include "src/flags.h"
9 #include "src/handles.h" 9 #include "src/handles.h"
10 #include "src/zone/zone-containers.h" 10 #include "src/zone/zone-containers.h"
(...skipping 14 matching lines...) Expand all
25 #if DEBUG 25 #if DEBUG
26 #define TRACE(...) \ 26 #define TRACE(...) \
27 do { \ 27 do { \
28 if (FLAG_trace_wasm_decoder) PrintF(__VA_ARGS__); \ 28 if (FLAG_trace_wasm_decoder) PrintF(__VA_ARGS__); \
29 } while (false) 29 } while (false)
30 #else 30 #else
31 #define TRACE(...) 31 #define TRACE(...)
32 #endif 32 #endif
33 33
34 #define CHECK_PROTOTYPE_OPCODE(flag) \ 34 #define CHECK_PROTOTYPE_OPCODE(flag) \
35 if (module_ && module_->origin == kAsmJsOrigin) { \
36 error("Opcode not supported for asmjs modules"); \
37 } \
35 if (!FLAG_##flag) { \ 38 if (!FLAG_##flag) { \
36 error("Invalid opcode (enable with --" #flag ")"); \ 39 error("Invalid opcode (enable with --" #flag ")"); \
37 break; \ 40 break; \
38 } 41 }
39 // TODO(titzer): this is only for intermediate migration. 42 // TODO(titzer): this is only for intermediate migration.
40 #define IMPLICIT_FUNCTION_END 1 43 #define IMPLICIT_FUNCTION_END 1
41 44
42 // An SsaEnv environment carries the current local variable renaming 45 // An SsaEnv environment carries the current local variable renaming
43 // as well as the current effect and control dependency in the TF graph. 46 // as well as the current effect and control dependency in the TF graph.
44 // It maintains a control state that tracks whether the environment 47 // It maintains a control state that tracks whether the environment
(...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after
493 switch (type) { 496 switch (type) {
494 case kAstI32: 497 case kAstI32:
495 return builder_->Int32Constant(0); 498 return builder_->Int32Constant(0);
496 case kAstI64: 499 case kAstI64:
497 return builder_->Int64Constant(0); 500 return builder_->Int64Constant(0);
498 case kAstF32: 501 case kAstF32:
499 return builder_->Float32Constant(0); 502 return builder_->Float32Constant(0);
500 case kAstF64: 503 case kAstF64:
501 return builder_->Float64Constant(0); 504 return builder_->Float64Constant(0);
502 case kAstS128: 505 case kAstS128:
503 return builder_->DefaultS128Value(); 506 return builder_->CreateS128Value(0);
504 default: 507 default:
505 UNREACHABLE(); 508 UNREACHABLE();
506 return nullptr; 509 return nullptr;
507 } 510 }
508 } 511 }
509 512
510 char* indentation() { 513 char* indentation() {
511 static const int kMaxIndent = 64; 514 static const int kMaxIndent = 64;
512 static char bytes[kMaxIndent + 1]; 515 static char bytes[kMaxIndent + 1];
513 for (int i = 0; i < kMaxIndent; ++i) bytes[i] = ' '; 516 for (int i = 0; i < kMaxIndent; ++i) bytes[i] = ' ';
(...skipping 1419 matching lines...) Expand 10 before | Expand all | Expand 10 after
1933 BitVector* AnalyzeLoopAssignmentForTesting(Zone* zone, size_t num_locals, 1936 BitVector* AnalyzeLoopAssignmentForTesting(Zone* zone, size_t num_locals,
1934 const byte* start, const byte* end) { 1937 const byte* start, const byte* end) {
1935 FunctionBody body = {nullptr, nullptr, nullptr, start, end}; 1938 FunctionBody body = {nullptr, nullptr, nullptr, start, end};
1936 WasmFullDecoder decoder(zone, nullptr, body); 1939 WasmFullDecoder decoder(zone, nullptr, body);
1937 return decoder.AnalyzeLoopAssignmentForTesting(start, num_locals); 1940 return decoder.AnalyzeLoopAssignmentForTesting(start, num_locals);
1938 } 1941 }
1939 1942
1940 } // namespace wasm 1943 } // namespace wasm
1941 } // namespace internal 1944 } // namespace internal
1942 } // namespace v8 1945 } // namespace v8
OLDNEW
« no previous file with comments | « src/wasm/ast-decoder.h ('k') | src/wasm/module-decoder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698