OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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/compiler/ast-graph-builder.h" | 5 #include "src/compiler/ast-graph-builder.h" |
6 | 6 |
7 #include "src/ast/compile-time-value.h" | 7 #include "src/ast/compile-time-value.h" |
8 #include "src/ast/scopes.h" | 8 #include "src/ast/scopes.h" |
9 #include "src/compilation-info.h" | 9 #include "src/compilation-info.h" |
10 #include "src/compiler.h" | 10 #include "src/compiler.h" |
(...skipping 2210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2221 void AstGraphBuilder::VisitIfNotNull(Statement* stmt) { | 2221 void AstGraphBuilder::VisitIfNotNull(Statement* stmt) { |
2222 if (stmt == nullptr) return; | 2222 if (stmt == nullptr) return; |
2223 Visit(stmt); | 2223 Visit(stmt); |
2224 } | 2224 } |
2225 | 2225 |
2226 | 2226 |
2227 void AstGraphBuilder::VisitIterationBody(IterationStatement* stmt, | 2227 void AstGraphBuilder::VisitIterationBody(IterationStatement* stmt, |
2228 LoopBuilder* loop, | 2228 LoopBuilder* loop, |
2229 BailoutId stack_check_id) { | 2229 BailoutId stack_check_id) { |
2230 ControlScopeForIteration scope(this, stmt, loop); | 2230 ControlScopeForIteration scope(this, stmt, loop); |
2231 if (FLAG_turbo_loop_stackcheck || !info()->shared_info()->asm_function()) { | 2231 Node* node = NewNode(javascript()->StackCheck()); |
2232 Node* node = NewNode(javascript()->StackCheck()); | 2232 PrepareFrameState(node, stack_check_id); |
2233 PrepareFrameState(node, stack_check_id); | |
2234 } | |
2235 Visit(stmt->body()); | 2233 Visit(stmt->body()); |
2236 } | 2234 } |
2237 | 2235 |
2238 | 2236 |
2239 void AstGraphBuilder::VisitDelete(UnaryOperation* expr) { | 2237 void AstGraphBuilder::VisitDelete(UnaryOperation* expr) { |
2240 Node* value; | 2238 Node* value; |
2241 if (expr->expression()->IsVariableProxy()) { | 2239 if (expr->expression()->IsVariableProxy()) { |
2242 // Delete of an unqualified identifier is disallowed in strict mode but | 2240 // Delete of an unqualified identifier is disallowed in strict mode but |
2243 // "delete this" is allowed. | 2241 // "delete this" is allowed. |
2244 Variable* variable = expr->expression()->AsVariableProxy()->var(); | 2242 Variable* variable = expr->expression()->AsVariableProxy()->var(); |
(...skipping 1057 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3302 float invocation_frequency, LoopAssignmentAnalysis* loop_assignment, | 3300 float invocation_frequency, LoopAssignmentAnalysis* loop_assignment, |
3303 SourcePositionTable* source_positions, int inlining_id) | 3301 SourcePositionTable* source_positions, int inlining_id) |
3304 : AstGraphBuilder(local_zone, info, jsgraph, invocation_frequency, | 3302 : AstGraphBuilder(local_zone, info, jsgraph, invocation_frequency, |
3305 loop_assignment), | 3303 loop_assignment), |
3306 source_positions_(source_positions), | 3304 source_positions_(source_positions), |
3307 start_position_(info->shared_info()->start_position(), inlining_id) {} | 3305 start_position_(info->shared_info()->start_position(), inlining_id) {} |
3308 | 3306 |
3309 } // namespace compiler | 3307 } // namespace compiler |
3310 } // namespace internal | 3308 } // namespace internal |
3311 } // namespace v8 | 3309 } // namespace v8 |
OLD | NEW |