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

Unified Diff: src/ia32/lithium-ia32.h

Issue 6873075: Lithium LLabel instruction are no longer used as gap instructions. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 9 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/ia32/lithium-codegen-ia32.cc ('k') | src/ia32/lithium-ia32.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/ia32/lithium-ia32.h
===================================================================
--- src/ia32/lithium-ia32.h (revision 7663)
+++ src/ia32/lithium-ia32.h (working copy)
@@ -409,17 +409,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; }
@@ -427,6 +427,7 @@
private:
Label label_;
+ HBasicBlock* block_;
LLabel* replacement_;
};
@@ -2081,6 +2082,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) {
« no previous file with comments | « src/ia32/lithium-codegen-ia32.cc ('k') | src/ia32/lithium-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698