| 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/code-assembler.h" | 5 #include "src/compiler/code-assembler.h" | 
| 6 | 6 | 
| 7 #include <ostream> | 7 #include <ostream> | 
| 8 | 8 | 
| 9 #include "src/code-factory.h" | 9 #include "src/code-factory.h" | 
| 10 #include "src/compiler/graph.h" | 10 #include "src/compiler/graph.h" | 
| (...skipping 582 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 593 // properly be verified. | 593 // properly be verified. | 
| 594 class CodeAssembler::Variable::Impl : public ZoneObject { | 594 class CodeAssembler::Variable::Impl : public ZoneObject { | 
| 595  public: | 595  public: | 
| 596   explicit Impl(MachineRepresentation rep) : value_(nullptr), rep_(rep) {} | 596   explicit Impl(MachineRepresentation rep) : value_(nullptr), rep_(rep) {} | 
| 597   Node* value_; | 597   Node* value_; | 
| 598   MachineRepresentation rep_; | 598   MachineRepresentation rep_; | 
| 599 }; | 599 }; | 
| 600 | 600 | 
| 601 CodeAssembler::Variable::Variable(CodeAssembler* assembler, | 601 CodeAssembler::Variable::Variable(CodeAssembler* assembler, | 
| 602                                   MachineRepresentation rep) | 602                                   MachineRepresentation rep) | 
| 603     : impl_(new (assembler->zone()) Impl(rep)) { | 603     : impl_(new (assembler->zone()) Impl(rep)), assembler_(assembler) { | 
| 604   assembler->variables_.push_back(impl_); | 604   assembler->variables_.insert(impl_); | 
| 605 } | 605 } | 
| 606 | 606 | 
|  | 607 CodeAssembler::Variable::~Variable() { assembler_->variables_.erase(impl_); } | 
|  | 608 | 
| 607 void CodeAssembler::Variable::Bind(Node* value) { impl_->value_ = value; } | 609 void CodeAssembler::Variable::Bind(Node* value) { impl_->value_ = value; } | 
| 608 | 610 | 
| 609 Node* CodeAssembler::Variable::value() const { | 611 Node* CodeAssembler::Variable::value() const { | 
| 610   DCHECK_NOT_NULL(impl_->value_); | 612   DCHECK_NOT_NULL(impl_->value_); | 
| 611   return impl_->value_; | 613   return impl_->value_; | 
| 612 } | 614 } | 
| 613 | 615 | 
| 614 MachineRepresentation CodeAssembler::Variable::rep() const { | 616 MachineRepresentation CodeAssembler::Variable::rep() const { | 
| 615   return impl_->rep_; | 617   return impl_->rep_; | 
| 616 } | 618 } | 
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 730       } | 732       } | 
| 731     } | 733     } | 
| 732   } | 734   } | 
| 733 | 735 | 
| 734   bound_ = true; | 736   bound_ = true; | 
| 735 } | 737 } | 
| 736 | 738 | 
| 737 }  // namespace compiler | 739 }  // namespace compiler | 
| 738 }  // namespace internal | 740 }  // namespace internal | 
| 739 }  // namespace v8 | 741 }  // namespace v8 | 
| OLD | NEW | 
|---|