Index: src/hydrogen.h |
diff --git a/src/hydrogen.h b/src/hydrogen.h |
index bd42896c7e062503d23d9ca0e15ab0675b923c8c..0e70fc7ae7428c04817fdd8b4ad253574d061bb2 100644 |
--- a/src/hydrogen.h |
+++ b/src/hydrogen.h |
@@ -2255,6 +2255,7 @@ class HOptimizedGraphBuilder : public HGraphBuilder, public AstVisitor { |
LookupResult* lookup() { return &lookup_; } |
Handle<Map> map() { return map_; } |
+ Handle<String> name() { return name_; } |
Handle<JSObject> holder() { return holder_; } |
Handle<JSFunction> accessor() { return accessor_; } |
Handle<Object> constant() { return constant_; } |
@@ -2268,6 +2269,21 @@ class HOptimizedGraphBuilder : public HGraphBuilder, public AstVisitor { |
name_->Equals(isolate()->heap()->length_string()); |
} |
+ bool IsFloat32x4OrInt32x4PropertyCallback() { |
+ return (((map_->instance_type() == FLOAT32x4_TYPE || |
+ map_->instance_type() == INT32x4_TYPE) && |
+ (name_->Equals(isolate()->heap()->signMask()) || |
+ name_->Equals(isolate()->heap()->x()) || |
+ name_->Equals(isolate()->heap()->y()) || |
+ name_->Equals(isolate()->heap()->z()) || |
+ name_->Equals(isolate()->heap()->w()))) || |
+ (map_->instance_type() == INT32x4_TYPE && |
+ (name_->Equals(isolate()->heap()->flagX()) || |
+ name_->Equals(isolate()->heap()->flagY()) || |
+ name_->Equals(isolate()->heap()->flagZ()) || |
+ name_->Equals(isolate()->heap()->flagW())))); |
+ } |
+ |
bool IsArrayLength() { |
return map_->instance_type() == JS_ARRAY_TYPE && |
name_->Equals(isolate()->heap()->length_string()); |