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

Unified Diff: src/lithium-allocator.h

Issue 5990005: Optimize instanceof further... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 10 years 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
Index: src/lithium-allocator.h
===================================================================
--- src/lithium-allocator.h (revision 6109)
+++ src/lithium-allocator.h (working copy)
@@ -482,7 +482,11 @@
class InstructionSummary: public ZoneObject {
public:
InstructionSummary()
- : output_operand_(NULL), input_count_(0), operands_(4), is_call_(false) {}
+ : output_operand_(NULL),
+ input_count_(0),
+ operands_(4),
+ is_call_(false),
+ is_save_doubles_(false) {}
// Output operands.
LOperand* Output() const { return output_operand_; }
@@ -510,11 +514,15 @@
void MarkAsCall() { is_call_ = true; }
bool IsCall() const { return is_call_; }
+ void MarkAsSaveDoubles() { is_save_doubles_ = true; }
+ bool IsSaveDoubles() const { return is_save_doubles_; }
+
private:
LOperand* output_operand_;
int input_count_;
ZoneList<LOperand*> operands_;
bool is_call_;
+ bool is_save_doubles_;
};
// Representation of the non-empty interval [start,end[.
@@ -789,6 +797,9 @@
// Marks the current instruction as a call.
void MarkAsCall();
+ // Marks the current instruction as a requiring saving double registers.
Mads Ager (chromium) 2011/01/04 17:25:58 as a -> as
Søren Thygesen Gjesse 2011/01/05 09:28:00 Done.
+ void MarkAsSaveDoubles();
+
// Checks whether the value of a given virtual register is tagged.
bool HasTaggedValue(int virtual_register) const;

Powered by Google App Engine
This is Rietveld 408576698