Index: src/hydrogen.h |
diff --git a/src/hydrogen.h b/src/hydrogen.h |
index a07ed2274c34c167531e78b89c829e15e3e24cba..5c8d2ec027aff71512e78139ae6c6ebbd63e0abc 100644 |
--- a/src/hydrogen.h |
+++ b/src/hydrogen.h |
@@ -1863,6 +1863,10 @@ class HGraphBuilder { |
HInstruction* BuildGetNativeContext(); |
HInstruction* BuildGetScriptContext(int context_index); |
HInstruction* BuildGetArrayFunction(); |
+ HValue* BuildArrayBufferViewFieldAccessor(HValue* object, |
+ HValue* checked_object, |
+ FieldIndex index); |
+ |
protected: |
void SetSourcePosition(int position) { |
@@ -2555,6 +2559,20 @@ class HOptimizedGraphBuilder : public HGraphBuilder, public AstVisitor { |
return false; |
} |
+ bool IsJSArrayBufferViewFieldAccessor() { |
+ int offset; // unused |
+ return Accessors::IsJSArrayBufferViewFieldAccessor(map_, name_, &offset); |
+ } |
+ |
+ bool GetJSArrayBufferViewFieldAccess(HObjectAccess* access) { |
+ int offset; |
+ if (Accessors::IsJSArrayBufferViewFieldAccessor(map_, name_, &offset)) { |
+ *access = HObjectAccess::ForMapAndOffset(map_, offset); |
+ return true; |
+ } |
+ return false; |
+ } |
+ |
bool has_holder() { return !holder_.is_null(); } |
bool IsLoad() const { return access_type_ == LOAD; } |
@@ -2679,22 +2697,15 @@ class HOptimizedGraphBuilder : public HGraphBuilder, public AstVisitor { |
PropertyDetails details_; |
}; |
- HInstruction* BuildMonomorphicAccess(PropertyAccessInfo* info, |
- HValue* object, |
- HValue* checked_object, |
- HValue* value, |
- BailoutId ast_id, |
- BailoutId return_id, |
- bool can_inline_accessor = true); |
- |
- HInstruction* BuildNamedAccess(PropertyAccessType access, |
- BailoutId ast_id, |
- BailoutId reutrn_id, |
- Expression* expr, |
- HValue* object, |
- Handle<String> name, |
- HValue* value, |
- bool is_uninitialized = false); |
+ HValue* BuildMonomorphicAccess(PropertyAccessInfo* info, HValue* object, |
+ HValue* checked_object, HValue* value, |
+ BailoutId ast_id, BailoutId return_id, |
+ bool can_inline_accessor = true); |
+ |
+ HValue* BuildNamedAccess(PropertyAccessType access, BailoutId ast_id, |
+ BailoutId reutrn_id, Expression* expr, |
+ HValue* object, Handle<String> name, HValue* value, |
+ bool is_uninitialized = false); |
void HandlePolymorphicCallNamed(Call* expr, |
HValue* receiver, |