Index: src/code-stubs.h |
diff --git a/src/code-stubs.h b/src/code-stubs.h |
index 0eefe8c91900821d7e0397c465853cecb28feb51..e4cbe1863a2c117db9916c950c7f1ae9e924bcc9 100644 |
--- a/src/code-stubs.h |
+++ b/src/code-stubs.h |
@@ -66,6 +66,7 @@ namespace internal { |
V(FastNewBlockContext) \ |
V(FastCloneShallowArray) \ |
V(FastCloneShallowObject) \ |
+ V(CreateAllocationSite) \ |
V(ToBoolean) \ |
V(ToNumber) \ |
V(ArgumentsAccess) \ |
@@ -738,6 +739,28 @@ class FastCloneShallowObjectStub : public HydrogenCodeStub { |
}; |
+class CreateAllocationSiteStub : public HydrogenCodeStub { |
+ public: |
+ explicit CreateAllocationSiteStub() { } |
+ |
+ virtual Handle<Code> GenerateCode(); |
+ |
+ virtual bool IsPregenerated() { return true; } |
+ |
+ static void GenerateAheadOfTime(Isolate* isolate); |
+ |
+ virtual void InitializeInterfaceDescriptor( |
+ Isolate* isolate, |
+ CodeStubInterfaceDescriptor* descriptor); |
+ |
+ private: |
+ Major MajorKey() { return CreateAllocationSite; } |
+ int NotMissMinorKey() { return 0; } |
+ |
+ DISALLOW_COPY_AND_ASSIGN(CreateAllocationSiteStub); |
+}; |
+ |
+ |
class InstanceofStub: public PlatformCodeStub { |
public: |
enum Flags { |
@@ -1873,7 +1896,7 @@ class ArrayConstructorStubBase : public HydrogenCodeStub { |
// if there is a difference between the global allocation site policy |
// for an ElementsKind and the desired usage of the stub. |
ASSERT(override_mode != DISABLE_ALLOCATION_SITES || |
- AllocationSiteInfo::GetMode(kind) == TRACK_ALLOCATION_SITE); |
+ AllocationSite::GetMode(kind) == TRACK_ALLOCATION_SITE); |
bit_field_ = ElementsKindBits::encode(kind) | |
AllocationSiteOverrideModeBits::encode(override_mode) | |
ContextCheckModeBits::encode(context_mode); |