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

Unified Diff: runtime/vm/intermediate_language.h

Issue 154393003: Implement eager instantiation and canonicalization of type arguments at run (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years, 10 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: runtime/vm/intermediate_language.h
===================================================================
--- runtime/vm/intermediate_language.h (revision 32446)
+++ runtime/vm/intermediate_language.h (working copy)
@@ -632,7 +632,6 @@
M(CreateArray) \
M(CreateClosure) \
M(AllocateObject) \
- M(AllocateObjectWithBoundsCheck) \
M(LoadField) \
M(StoreVMField) \
M(LoadUntagged) \
@@ -4063,34 +4062,6 @@
};
-class AllocateObjectWithBoundsCheckInstr : public TemplateDefinition<0> {
- public:
- explicit AllocateObjectWithBoundsCheckInstr(ConstructorCallNode* node)
- : ast_node_(*node) {
- }
-
- DECLARE_INSTRUCTION(AllocateObjectWithBoundsCheck)
-
- virtual intptr_t ArgumentCount() const { return 4; }
-
- const Function& constructor() const { return ast_node_.constructor(); }
- intptr_t token_pos() const { return ast_node_.token_pos(); }
-
- virtual void PrintOperandsTo(BufferFormatter* f) const;
-
- virtual bool CanDeoptimize() const { return true; }
-
- virtual EffectSet Effects() const { return EffectSet::None(); }
-
- virtual bool MayThrow() const { return false; }
-
- private:
- const ConstructorCallNode& ast_node_;
-
- DISALLOW_COPY_AND_ASSIGN(AllocateObjectWithBoundsCheckInstr);
-};
-
-
class CreateArrayInstr : public TemplateDefinition<2> {
public:
CreateArrayInstr(intptr_t token_pos,
@@ -4390,7 +4361,7 @@
class InstantiateTypeArgumentsInstr : public TemplateDefinition<1> {
public:
InstantiateTypeArgumentsInstr(intptr_t token_pos,
- const AbstractTypeArguments& type_arguments,
+ const TypeArguments& type_arguments,
const Class& instantiator_class,
Value* instantiator)
: token_pos_(token_pos),
@@ -4403,7 +4374,7 @@
DECLARE_INSTRUCTION(InstantiateTypeArguments)
Value* instantiator() const { return inputs_[0]; }
- const AbstractTypeArguments& type_arguments() const {
+ const TypeArguments& type_arguments() const {
return type_arguments_;
}
const Class& instantiator_class() const { return instantiator_class_; }
@@ -4419,7 +4390,7 @@
private:
const intptr_t token_pos_;
- const AbstractTypeArguments& type_arguments_;
+ const TypeArguments& type_arguments_;
const Class& instantiator_class_;
DISALLOW_COPY_AND_ASSIGN(InstantiateTypeArgumentsInstr);
@@ -4430,7 +4401,7 @@
public:
ExtractConstructorTypeArgumentsInstr(
intptr_t token_pos,
- const AbstractTypeArguments& type_arguments,
+ const TypeArguments& type_arguments,
const Class& instantiator_class,
Value* instantiator)
: token_pos_(token_pos),
@@ -4442,7 +4413,7 @@
DECLARE_INSTRUCTION(ExtractConstructorTypeArguments)
Value* instantiator() const { return inputs_[0]; }
- const AbstractTypeArguments& type_arguments() const {
+ const TypeArguments& type_arguments() const {
return type_arguments_;
}
const Class& instantiator_class() const { return instantiator_class_; }
@@ -4458,7 +4429,7 @@
private:
const intptr_t token_pos_;
- const AbstractTypeArguments& type_arguments_;
+ const TypeArguments& type_arguments_;
const Class& instantiator_class_;
DISALLOW_COPY_AND_ASSIGN(ExtractConstructorTypeArgumentsInstr);
@@ -4477,7 +4448,7 @@
DECLARE_INSTRUCTION(ExtractConstructorInstantiator)
Value* instantiator() const { return inputs_[0]; }
- const AbstractTypeArguments& type_arguments() const {
+ const TypeArguments& type_arguments() const {
return ast_node_.type_arguments();
}
const Function& constructor() const { return ast_node_.constructor(); }

Powered by Google App Engine
This is Rietveld 408576698