Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index f977a750d946a6b24d657b08229fc4a238c368b2..57f40e58e5badb9a077acc0fcd210dfdda98d48e 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -5108,7 +5108,7 @@ class HInnerAllocatedObject: public HTemplateInstruction<1> { |
private: |
HInnerAllocatedObject(HValue* value, int offset, HType type = HType::Tagged()) |
: HTemplateInstruction<1>(type), offset_(offset) { |
- ASSERT(value->IsAllocate()); |
+ // ASSERT(value->IsAllocate()); |
SetOperandAt(0, value); |
set_type(type); |
set_representation(Representation::Tagged()); |
@@ -5393,6 +5393,14 @@ class HObjectAccess { |
return HObjectAccess(kElementsPointer, JSObject::kElementsOffset); |
} |
+ static HObjectAccess ForLiteralsPointer() { |
+ return HObjectAccess(kInobject, JSFunction::kLiteralsOffset); |
+ } |
+ |
+ static HObjectAccess ForNextFunctionLinkPointer() { |
+ return HObjectAccess(kInobject, JSFunction::kNextFunctionLinkOffset); |
+ } |
+ |
static HObjectAccess ForArrayLength(ElementsKind elements_kind) { |
return HObjectAccess( |
kArrayLengths, |
@@ -5437,6 +5445,35 @@ class HObjectAccess { |
return HObjectAccess(kInobject, JSFunction::kPrototypeOrInitialMapOffset); |
} |
+ static HObjectAccess ForSharedFunctionInfoPointer() { |
+ return HObjectAccess(kInobject, JSFunction::kSharedFunctionInfoOffset); |
+ } |
+ |
+ static HObjectAccess ForCodeEntryPointer() { |
+ return HObjectAccess(kInobject, JSFunction::kCodeEntryOffset); |
+ } |
+ |
+ static HObjectAccess ForCodeOffset() { |
+ return HObjectAccess(kInobject, SharedFunctionInfo::kCodeOffset); |
+ } |
+ |
+ static HObjectAccess ForFirstCodeSlot() { |
+ return HObjectAccess(kInobject, SharedFunctionInfo::kFirstCodeSlot); |
+ } |
+ |
+ static HObjectAccess ForFirstContextSlot() { |
+ return HObjectAccess(kInobject, SharedFunctionInfo::kFirstContextSlot); |
+ } |
+ |
+ static HObjectAccess ForOptimizedCodeMap() { |
+ return HObjectAccess(kInobject, |
+ SharedFunctionInfo::kOptimizedCodeMapOffset); |
+ } |
+ |
+ static HObjectAccess ForFunctionContextPointer() { |
+ return HObjectAccess(kInobject, JSFunction::kContextOffset); |
+ } |
+ |
static HObjectAccess ForMap() { |
return HObjectAccess(kMaps, JSObject::kMapOffset); |
} |
@@ -5467,6 +5504,8 @@ class HObjectAccess { |
// Create an access to an in-object property in a JSArray. |
static HObjectAccess ForJSArrayOffset(int offset); |
+ static HObjectAccess ForContextSlot(int index); |
+ |
// Create an access to the backing store of an object. |
static HObjectAccess ForBackingStoreOffset(int offset, |
Representation representation = Representation::Tagged()); |