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

Unified Diff: runtime/vm/intermediate_language.h

Issue 731943004: Box values of LoadCodeUnits that fall outside of smi range on 32bit platforms. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: might_box Created 6 years, 1 month 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 | « runtime/vm/flow_graph_optimizer.cc ('k') | runtime/vm/intermediate_language_arm.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/intermediate_language.h
diff --git a/runtime/vm/intermediate_language.h b/runtime/vm/intermediate_language.h
index b92de0a9de275dcd022df81ca1008c41eb82943f..903d31906b9436b0d5663be2445d60b2fad9b477 100644
--- a/runtime/vm/intermediate_language.h
+++ b/runtime/vm/intermediate_language.h
@@ -3701,7 +3701,8 @@ class LoadCodeUnitsInstr : public TemplateDefinition<2, NoThrow> {
intptr_t token_pos)
: class_id_(class_id),
token_pos_(token_pos),
- element_count_(element_count) {
+ element_count_(element_count),
+ representation_(kTagged) {
ASSERT(element_count == 1 || element_count == 2 || element_count == 4);
ASSERT(class_id == kOneByteStringCid || class_id == kTwoByteStringCid);
SetInputAt(0, str);
@@ -3729,7 +3730,8 @@ class LoadCodeUnitsInstr : public TemplateDefinition<2, NoThrow> {
virtual bool CanDeoptimize() const { return false; }
- virtual Representation representation() const;
+ virtual Representation representation() const { return representation_; }
+ void set_representation(Representation repr) { representation_ = repr; }
virtual void InferRange(RangeAnalysis* analysis, Range* range);
virtual EffectSet Effects() const { return EffectSet::None(); }
@@ -3738,6 +3740,7 @@ class LoadCodeUnitsInstr : public TemplateDefinition<2, NoThrow> {
const intptr_t class_id_;
const intptr_t token_pos_;
const intptr_t element_count_;
+ Representation representation_;
DISALLOW_COPY_AND_ASSIGN(LoadCodeUnitsInstr);
};
« no previous file with comments | « runtime/vm/flow_graph_optimizer.cc ('k') | runtime/vm/intermediate_language_arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698