| Index: src/x64/lithium-x64.h
|
| ===================================================================
|
| --- src/x64/lithium-x64.h (revision 7663)
|
| +++ src/x64/lithium-x64.h (working copy)
|
| @@ -408,17 +408,17 @@
|
| };
|
|
|
|
|
| -class LLabel: public LGap {
|
| +class LLabel: public LTemplateInstruction<0, 0, 0> {
|
| public:
|
| explicit LLabel(HBasicBlock* block)
|
| - : LGap(block), replacement_(NULL) { }
|
| + : block_(block), replacement_(NULL) { }
|
|
|
| DECLARE_CONCRETE_INSTRUCTION(Label, "label")
|
|
|
| virtual void PrintDataTo(StringStream* stream);
|
|
|
| - int block_id() const { return block()->block_id(); }
|
| - bool is_loop_header() const { return block()->IsLoopHeader(); }
|
| + int block_id() const { return block_->block_id(); }
|
| + bool is_loop_header() const { return block_->IsLoopHeader(); }
|
| Label* label() { return &label_; }
|
| LLabel* replacement() const { return replacement_; }
|
| void set_replacement(LLabel* label) { replacement_ = label; }
|
| @@ -426,6 +426,7 @@
|
|
|
| private:
|
| Label label_;
|
| + HBasicBlock* block_;
|
| LLabel* replacement_;
|
| };
|
|
|
| @@ -2004,6 +2005,10 @@
|
| int first_instruction = block->first_instruction_index();
|
| return LLabel::cast(instructions_[first_instruction]);
|
| }
|
| + LGap* GetFirstGap(HBasicBlock* block) const {
|
| + int first_instruction = block->first_instruction_index();
|
| + return LGap::cast(instructions_[first_instruction + 1]);
|
| + }
|
| int LookupDestination(int block_id) const {
|
| LLabel* cur = GetLabel(block_id);
|
| while (cur->replacement() != NULL) {
|
|
|