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

Unified Diff: vm/intermediate_language.h

Issue 10829164: Replace InstanceSetterComp instruction with a plain instance call. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/runtime/
Patch Set: Created 8 years, 4 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 | « vm/il_printer.cc ('k') | vm/intermediate_language.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: vm/intermediate_language.h
===================================================================
--- vm/intermediate_language.h (revision 10227)
+++ vm/intermediate_language.h (working copy)
@@ -75,7 +75,6 @@
M(NativeCall, NativeCallComp) \
M(LoadIndexed, LoadIndexedComp) \
M(StoreIndexed, StoreIndexedComp) \
- M(InstanceSetter, InstanceSetterComp) \
M(LoadInstanceField, LoadInstanceFieldComp) \
M(StoreInstanceField, StoreInstanceFieldComp) \
M(LoadStaticField, LoadStaticFieldComp) \
@@ -532,6 +531,7 @@
ASSERT(Token::IsBinaryToken(token_kind) ||
Token::IsUnaryToken(token_kind) ||
token_kind == Token::kGET ||
+ token_kind == Token::kSET ||
token_kind == Token::kILLEGAL);
}
@@ -883,7 +883,7 @@
StoreInstanceFieldComp(const Field& field,
Value* instance,
Value* value,
- InstanceSetterComp* original) // Maybe NULL.
+ InstanceCallComp* original) // Maybe NULL.
: field_(field), original_(original) {
ASSERT(instance != NULL);
ASSERT(value != NULL);
@@ -898,7 +898,7 @@
Value* instance() const { return inputs_[0]; }
Value* value() const { return inputs_[1]; }
- const InstanceSetterComp* original() const { return original_; }
+ const InstanceCallComp* original() const { return original_; }
virtual void PrintOperandsTo(BufferFormatter* f) const;
@@ -906,7 +906,7 @@
private:
const Field& field_;
- const InstanceSetterComp* original_; // For optimizations.
+ const InstanceCallComp* original_; // For optimizations.
DISALLOW_COPY_AND_ASSIGN(StoreInstanceFieldComp);
};
@@ -1041,43 +1041,6 @@
};
-// TODO(fschneider): Make this an instance call.
-class InstanceSetterComp : public Computation {
- public:
- InstanceSetterComp(intptr_t token_pos,
- intptr_t try_index,
- const String& field_name,
- ZoneGrowableArray<PushArgumentInstr*>* arguments)
- : token_pos_(token_pos),
- try_index_(try_index),
- field_name_(field_name),
- arguments_(arguments) { }
-
- DECLARE_CALL_COMPUTATION(InstanceSetter)
-
- intptr_t token_pos() const { return token_pos_; }
- intptr_t try_index() const { return try_index_; }
- const String& field_name() const { return field_name_; }
-
- virtual intptr_t ArgumentCount() const { return arguments_->length(); }
- PushArgumentInstr* ArgumentAt(intptr_t index) const {
- return (*arguments_)[index];
- }
-
- virtual bool CanDeoptimize() const { return true; }
-
- virtual void PrintOperandsTo(BufferFormatter* f) const;
-
- private:
- const intptr_t token_pos_;
- const intptr_t try_index_;
- const String& field_name_;
- ZoneGrowableArray<PushArgumentInstr*>* arguments_;
-
- DISALLOW_COPY_AND_ASSIGN(InstanceSetterComp);
-};
-
-
// Note overrideable, built-in: value? false : true.
class BooleanNegateComp : public TemplateComputation<1> {
public:
« no previous file with comments | « vm/il_printer.cc ('k') | vm/intermediate_language.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698