Index: src/code-stubs.h |
diff --git a/src/code-stubs.h b/src/code-stubs.h |
index f1f27279117581ba3d9b07bcc6335f367c7a617e..090f88423a70c1830dca40be5434556a10772464 100644 |
--- a/src/code-stubs.h |
+++ b/src/code-stubs.h |
@@ -57,6 +57,7 @@ |
V(VectorStoreIC) \ |
V(VectorKeyedStoreIC) \ |
/* HydrogenCodeStubs */ \ |
+ V(Allocate) \ |
V(ArrayNArgumentsConstructor) \ |
V(ArrayNoArgumentConstructor) \ |
V(ArraySingleArgumentConstructor) \ |
@@ -2749,6 +2750,23 @@ |
SIMD128_TYPES(SIMD128_ALLOC_STUB) |
#undef SIMD128_ALLOC_STUB |
+class AllocateStub final : public HydrogenCodeStub { |
+ public: |
+ AllocateStub(Isolate* isolate, PretenureFlag pretenure_flag) |
+ : HydrogenCodeStub(isolate) { |
+ set_sub_minor_key(PretenureFlagBits::encode(pretenure_flag)); |
+ } |
+ |
+ PretenureFlag pretenure_flag() const { |
+ return PretenureFlagBits::decode(sub_minor_key()); |
+ } |
+ |
+ private: |
+ typedef BitField<PretenureFlag, 0, 1> PretenureFlagBits; |
+ DEFINE_CALL_INTERFACE_DESCRIPTOR(Allocate); |
+ DEFINE_HYDROGEN_CODE_STUB(Allocate, HydrogenCodeStub); |
+}; |
+ |
class ArrayConstructorStubBase : public HydrogenCodeStub { |
public: |
ArrayConstructorStubBase(Isolate* isolate, |