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

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

Issue 14146005: Track representations of fields (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Only verify representation while transitioning Created 7 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
Index: src/ia32/lithium-ia32.h
diff --git a/src/ia32/lithium-ia32.h b/src/ia32/lithium-ia32.h
index 032d17e5c41422b01770bc6f02f558ec34a1b775..5e53ee1e0f66699240bba4c29954e90a87e6096e 100644
--- a/src/ia32/lithium-ia32.h
+++ b/src/ia32/lithium-ia32.h
@@ -1489,13 +1489,15 @@ class LReturn: public LTemplateInstruction<0, 3, 0> {
};
-class LLoadNamedField: public LTemplateInstruction<1, 1, 0> {
+class LLoadNamedField: public LTemplateInstruction<1, 1, 1> {
public:
- explicit LLoadNamedField(LOperand* object) {
+ explicit LLoadNamedField(LOperand* object, LOperand* temp) {
inputs_[0] = object;
+ temps_[0] = temp;
}
LOperand* object() { return inputs_[0]; }
+ LOperand* temp() { return temps_[0]; }
DECLARE_CONCRETE_INSTRUCTION(LoadNamedField, "load-named-field")
DECLARE_HYDROGEN_ACCESSOR(LoadNamedField)
@@ -2186,7 +2188,9 @@ class LStoreNamedField: public LTemplateInstruction<0, 2, 2> {
LStoreNamedField(LOperand* obj,
LOperand* val,
LOperand* temp,
- LOperand* temp_map) {
+ LOperand* temp_map,
+ Representation representation)
+ : representation_(representation) {
inputs_[0] = obj;
inputs_[1] = val;
temps_[0] = temp;
@@ -2207,6 +2211,10 @@ class LStoreNamedField: public LTemplateInstruction<0, 2, 2> {
bool is_in_object() { return hydrogen()->is_in_object(); }
int offset() { return hydrogen()->offset(); }
Handle<Map> transition() const { return hydrogen()->transition(); }
+ Representation representation() const { return representation_; }
+
+ private:
+ Representation representation_;
};

Powered by Google App Engine
This is Rietveld 408576698