| Index: src/code-stubs.h
|
| diff --git a/src/code-stubs.h b/src/code-stubs.h
|
| index 242e1adbadaac6f4523d80b95e02561484dab420..86cad65a806fead8d8b8076e85aa2fec0050cfb3 100644
|
| --- a/src/code-stubs.h
|
| +++ b/src/code-stubs.h
|
| @@ -1061,8 +1061,8 @@ class KeyedArrayCallStub: public HICStub {
|
| }
|
|
|
| class ContextualBits: public BitField<bool, 0, 1> {};
|
| - STATIC_ASSERT(CallICBase::Contextual::kShift == ContextualBits::kShift);
|
| - STATIC_ASSERT(CallICBase::Contextual::kSize == ContextualBits::kSize);
|
| + STATIC_ASSERT(IC::Contextual::kShift == ContextualBits::kShift);
|
| + STATIC_ASSERT(IC::Contextual::kSize == ContextualBits::kSize);
|
| class HoleyBits: public BitField<bool, 1, 1> {};
|
| STATIC_ASSERT(Code::kArgumentsBits <= kStubMinorKeyBits - 2);
|
| class ArgcBits: public BitField<int, 2, Code::kArgumentsBits> {};
|
| @@ -1179,6 +1179,9 @@ class BinaryOpICWithAllocationSiteStub V8_FINAL : public PlatformCodeStub {
|
|
|
| class BinaryOpWithAllocationSiteStub V8_FINAL : public BinaryOpICStub {
|
| public:
|
| + BinaryOpWithAllocationSiteStub(Token::Value op, OverwriteMode mode)
|
| + : BinaryOpICStub(op, mode) {}
|
| +
|
| explicit BinaryOpWithAllocationSiteStub(const BinaryOpIC::State& state)
|
| : BinaryOpICStub(state) {}
|
|
|
| @@ -1558,8 +1561,8 @@ class CallFunctionStub: public PlatformCodeStub {
|
| virtual void PrintName(StringStream* stream);
|
|
|
| // Minor key encoding in 32 bits with Bitfield <Type, shift, size>.
|
| - class FlagBits: public BitField<CallFunctionFlags, 0, 2> {};
|
| - class ArgcBits: public BitField<unsigned, 2, 32 - 2> {};
|
| + class FlagBits: public BitField<CallFunctionFlags, 0, 1> {};
|
| + class ArgcBits: public BitField<unsigned, 1, 32 - 1> {};
|
|
|
| Major MajorKey() { return CallFunction; }
|
| int MinorKey() {
|
| @@ -1567,10 +1570,6 @@ class CallFunctionStub: public PlatformCodeStub {
|
| return FlagBits::encode(flags_) | ArgcBits::encode(argc_);
|
| }
|
|
|
| - bool ReceiverMightBeImplicit() {
|
| - return (flags_ & RECEIVER_MIGHT_BE_IMPLICIT) != 0;
|
| - }
|
| -
|
| bool RecordCallTarget() {
|
| return (flags_ & RECORD_CALL_TARGET) != 0;
|
| }
|
| @@ -2012,26 +2011,17 @@ class TransitionElementsKindStub : public HydrogenCodeStub {
|
| };
|
|
|
|
|
| -enum ContextCheckMode {
|
| - CONTEXT_CHECK_REQUIRED,
|
| - CONTEXT_CHECK_NOT_REQUIRED,
|
| - LAST_CONTEXT_CHECK_MODE = CONTEXT_CHECK_NOT_REQUIRED
|
| -};
|
| -
|
| -
|
| class ArrayConstructorStubBase : public HydrogenCodeStub {
|
| public:
|
| - ArrayConstructorStubBase(ElementsKind kind, ContextCheckMode context_mode,
|
| + ArrayConstructorStubBase(ElementsKind kind,
|
| AllocationSiteOverrideMode override_mode) {
|
| // It only makes sense to override local allocation site behavior
|
| // if there is a difference between the global allocation site policy
|
| // for an ElementsKind and the desired usage of the stub.
|
| - ASSERT(!(FLAG_track_allocation_sites &&
|
| - override_mode == DISABLE_ALLOCATION_SITES) ||
|
| + ASSERT(override_mode != DISABLE_ALLOCATION_SITES ||
|
| AllocationSite::GetMode(kind) == TRACK_ALLOCATION_SITE);
|
| bit_field_ = ElementsKindBits::encode(kind) |
|
| - AllocationSiteOverrideModeBits::encode(override_mode) |
|
| - ContextCheckModeBits::encode(context_mode);
|
| + AllocationSiteOverrideModeBits::encode(override_mode);
|
| }
|
|
|
| ElementsKind elements_kind() const {
|
| @@ -2042,10 +2032,6 @@ class ArrayConstructorStubBase : public HydrogenCodeStub {
|
| return AllocationSiteOverrideModeBits::decode(bit_field_);
|
| }
|
|
|
| - ContextCheckMode context_mode() const {
|
| - return ContextCheckModeBits::decode(bit_field_);
|
| - }
|
| -
|
| static void GenerateStubsAheadOfTime(Isolate* isolate);
|
| static void InstallDescriptors(Isolate* isolate);
|
|
|
| @@ -2061,12 +2047,10 @@ class ArrayConstructorStubBase : public HydrogenCodeStub {
|
|
|
| // Ensure data fits within available bits.
|
| STATIC_ASSERT(LAST_ALLOCATION_SITE_OVERRIDE_MODE == 1);
|
| - STATIC_ASSERT(LAST_CONTEXT_CHECK_MODE == 1);
|
|
|
| class ElementsKindBits: public BitField<ElementsKind, 0, 8> {};
|
| class AllocationSiteOverrideModeBits: public
|
| BitField<AllocationSiteOverrideMode, 8, 1> {}; // NOLINT
|
| - class ContextCheckModeBits: public BitField<ContextCheckMode, 9, 1> {};
|
| uint32_t bit_field_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ArrayConstructorStubBase);
|
| @@ -2077,9 +2061,8 @@ class ArrayNoArgumentConstructorStub : public ArrayConstructorStubBase {
|
| public:
|
| ArrayNoArgumentConstructorStub(
|
| ElementsKind kind,
|
| - ContextCheckMode context_mode = CONTEXT_CHECK_REQUIRED,
|
| AllocationSiteOverrideMode override_mode = DONT_OVERRIDE)
|
| - : ArrayConstructorStubBase(kind, context_mode, override_mode) {
|
| + : ArrayConstructorStubBase(kind, override_mode) {
|
| }
|
|
|
| virtual Handle<Code> GenerateCode(Isolate* isolate);
|
| @@ -2103,9 +2086,8 @@ class ArraySingleArgumentConstructorStub : public ArrayConstructorStubBase {
|
| public:
|
| ArraySingleArgumentConstructorStub(
|
| ElementsKind kind,
|
| - ContextCheckMode context_mode = CONTEXT_CHECK_REQUIRED,
|
| AllocationSiteOverrideMode override_mode = DONT_OVERRIDE)
|
| - : ArrayConstructorStubBase(kind, context_mode, override_mode) {
|
| + : ArrayConstructorStubBase(kind, override_mode) {
|
| }
|
|
|
| virtual Handle<Code> GenerateCode(Isolate* isolate);
|
| @@ -2129,9 +2111,8 @@ class ArrayNArgumentsConstructorStub : public ArrayConstructorStubBase {
|
| public:
|
| ArrayNArgumentsConstructorStub(
|
| ElementsKind kind,
|
| - ContextCheckMode context_mode = CONTEXT_CHECK_REQUIRED,
|
| AllocationSiteOverrideMode override_mode = DONT_OVERRIDE)
|
| - : ArrayConstructorStubBase(kind, context_mode, override_mode) {
|
| + : ArrayConstructorStubBase(kind, override_mode) {
|
| }
|
|
|
| virtual Handle<Code> GenerateCode(Isolate* isolate);
|
|
|