OLD | NEW |
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/compiler/bytecode-graph-builder.h" | 5 #include "src/compiler/bytecode-graph-builder.h" |
6 | 6 |
7 #include "src/ast/ast.h" | 7 #include "src/ast/ast.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/bytecode-branch-analysis.h" | 10 #include "src/compiler/bytecode-branch-analysis.h" |
(...skipping 1669 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1680 } | 1680 } |
1681 | 1681 |
1682 void BytecodeGraphBuilder::VisitDeletePropertyStrict() { | 1682 void BytecodeGraphBuilder::VisitDeletePropertyStrict() { |
1683 BuildDelete(LanguageMode::STRICT); | 1683 BuildDelete(LanguageMode::STRICT); |
1684 } | 1684 } |
1685 | 1685 |
1686 void BytecodeGraphBuilder::VisitDeletePropertySloppy() { | 1686 void BytecodeGraphBuilder::VisitDeletePropertySloppy() { |
1687 BuildDelete(LanguageMode::SLOPPY); | 1687 BuildDelete(LanguageMode::SLOPPY); |
1688 } | 1688 } |
1689 | 1689 |
| 1690 void BytecodeGraphBuilder::VisitGetSuperConstructor() { |
| 1691 Node* node = NewNode(javascript()->GetSuperConstructor(), |
| 1692 environment()->LookupAccumulator()); |
| 1693 environment()->BindAccumulator(node); |
| 1694 } |
| 1695 |
1690 void BytecodeGraphBuilder::BuildCompareOp(const Operator* js_op) { | 1696 void BytecodeGraphBuilder::BuildCompareOp(const Operator* js_op) { |
1691 FrameStateBeforeAndAfter states(this); | 1697 FrameStateBeforeAndAfter states(this); |
1692 Node* left = | 1698 Node* left = |
1693 environment()->LookupRegister(bytecode_iterator().GetRegisterOperand(0)); | 1699 environment()->LookupRegister(bytecode_iterator().GetRegisterOperand(0)); |
1694 Node* right = environment()->LookupAccumulator(); | 1700 Node* right = environment()->LookupAccumulator(); |
1695 Node* node = NewNode(js_op, left, right); | 1701 Node* node = NewNode(js_op, left, right); |
1696 environment()->BindAccumulator(node, &states); | 1702 environment()->BindAccumulator(node, &states); |
1697 } | 1703 } |
1698 | 1704 |
1699 void BytecodeGraphBuilder::VisitTestEqual() { | 1705 void BytecodeGraphBuilder::VisitTestEqual() { |
(...skipping 581 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2281 source_positions_->set_current_position(it->source_position()); | 2287 source_positions_->set_current_position(it->source_position()); |
2282 it->Advance(); | 2288 it->Advance(); |
2283 } else { | 2289 } else { |
2284 DCHECK_GT(it->code_offset(), offset); | 2290 DCHECK_GT(it->code_offset(), offset); |
2285 } | 2291 } |
2286 } | 2292 } |
2287 | 2293 |
2288 } // namespace compiler | 2294 } // namespace compiler |
2289 } // namespace internal | 2295 } // namespace internal |
2290 } // namespace v8 | 2296 } // namespace v8 |
OLD | NEW |