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

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

Issue 2256603002: [wasm] Add stack checks at the beginning of each function. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 4 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
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-containers.h" 10 #include "src/zone-containers.h"
(...skipping 535 matching lines...) Expand 10 before | Expand all | Expand 10 after
546 local_type_vec_[index] == type) { 546 local_type_vec_[index] == type) {
547 // Do a whole run of like-typed locals at a time. 547 // Do a whole run of like-typed locals at a time.
548 ssa_env->locals[index++] = node; 548 ssa_env->locals[index++] = node;
549 } 549 }
550 } 550 }
551 builder_->set_module(module_); 551 builder_->set_module(module_);
552 } 552 }
553 ssa_env->control = start; 553 ssa_env->control = start;
554 ssa_env->effect = start; 554 ssa_env->effect = start;
555 SetEnv("initial", ssa_env); 555 SetEnv("initial", ssa_env);
556 builder_->InitStackCheck(position());
556 } 557 }
557 558
558 TFNode* DefaultValue(LocalType type) { 559 TFNode* DefaultValue(LocalType type) {
559 switch (type) { 560 switch (type) {
560 case kAstI32: 561 case kAstI32:
561 return builder_->Int32Constant(0); 562 return builder_->Int32Constant(0);
562 case kAstI64: 563 case kAstI64:
563 return builder_->Int64Constant(0); 564 return builder_->Int64Constant(0);
564 case kAstF32: 565 case kAstF32:
565 return builder_->Float32Constant(0); 566 return builder_->Float32Constant(0);
(...skipping 1307 matching lines...) Expand 10 before | Expand all | Expand 10 after
1873 BitVector* AnalyzeLoopAssignmentForTesting(Zone* zone, size_t num_locals, 1874 BitVector* AnalyzeLoopAssignmentForTesting(Zone* zone, size_t num_locals,
1874 const byte* start, const byte* end) { 1875 const byte* start, const byte* end) {
1875 FunctionBody body = {nullptr, nullptr, nullptr, start, end}; 1876 FunctionBody body = {nullptr, nullptr, nullptr, start, end};
1876 WasmFullDecoder decoder(zone, nullptr, body); 1877 WasmFullDecoder decoder(zone, nullptr, body);
1877 return decoder.AnalyzeLoopAssignmentForTesting(start, num_locals); 1878 return decoder.AnalyzeLoopAssignmentForTesting(start, num_locals);
1878 } 1879 }
1879 1880
1880 } // namespace wasm 1881 } // namespace wasm
1881 } // namespace internal 1882 } // namespace internal
1882 } // namespace v8 1883 } // namespace v8
OLDNEW
« src/compiler/wasm-compiler.cc ('K') | « src/messages.h ('k') | src/wasm/wasm-opcodes.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698