| 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,
|
|
|