| Index: src/code-stubs.h
|
| diff --git a/src/code-stubs.h b/src/code-stubs.h
|
| index b38d0aab2c5ac815fa9eb77fc3043940e0c26a58..c2af01a025ba7c503e823be07e84f5999879c2f8 100644
|
| --- a/src/code-stubs.h
|
| +++ b/src/code-stubs.h
|
| @@ -199,8 +199,8 @@ class CodeStub BASE_EMBEDDED {
|
| virtual InlineCacheState GetICState() {
|
| return UNINITIALIZED;
|
| }
|
| - virtual Code::ExtraICState GetExtraICState() {
|
| - return Code::kNoExtraICState;
|
| + virtual ExtraICState GetExtraICState() {
|
| + return kNoExtraICState;
|
| }
|
| virtual Code::StubType GetStubType() {
|
| return Code::NORMAL;
|
| @@ -854,8 +854,8 @@ class StoreICStub: public ICStub {
|
| : ICStub(kind), strict_mode_(strict_mode) { }
|
|
|
| protected:
|
| - virtual Code::ExtraICState GetExtraICState() {
|
| - return strict_mode_;
|
| + virtual ExtraICState GetExtraICState() {
|
| + return StoreIC::ComputeExtraICState(strict_mode_);
|
| }
|
|
|
| private:
|
| @@ -966,9 +966,8 @@ class LoadFieldStub: public HandlerStub {
|
|
|
| class StoreGlobalStub : public HandlerStub {
|
| public:
|
| - StoreGlobalStub(StrictModeFlag strict_mode, bool is_constant) {
|
| - bit_field_ = StrictModeBits::encode(strict_mode) |
|
| - IsConstantBits::encode(is_constant);
|
| + explicit StoreGlobalStub(bool is_constant) {
|
| + bit_field_ = IsConstantBits::encode(is_constant);
|
| }
|
|
|
| Handle<Code> GetCodeCopyFromTemplate(Isolate* isolate,
|
| @@ -991,7 +990,7 @@ class StoreGlobalStub : public HandlerStub {
|
| Isolate* isolate,
|
| CodeStubInterfaceDescriptor* descriptor);
|
|
|
| - virtual Code::ExtraICState GetExtraICState() { return bit_field_; }
|
| + virtual ExtraICState GetExtraICState() { return bit_field_; }
|
|
|
| bool is_constant() {
|
| return IsConstantBits::decode(bit_field_);
|
| @@ -1011,9 +1010,8 @@ class StoreGlobalStub : public HandlerStub {
|
| virtual int NotMissMinorKey() { return GetExtraICState(); }
|
| Major MajorKey() { return StoreGlobal; }
|
|
|
| - class StrictModeBits: public BitField<StrictModeFlag, 0, 1> {};
|
| - class IsConstantBits: public BitField<bool, 1, 1> {};
|
| - class RepresentationBits: public BitField<Representation::Kind, 2, 8> {};
|
| + class IsConstantBits: public BitField<bool, 0, 1> {};
|
| + class RepresentationBits: public BitField<Representation::Kind, 1, 8> {};
|
|
|
| int bit_field_;
|
|
|
| @@ -1046,7 +1044,7 @@ class KeyedArrayCallStub: public HICStub {
|
| }
|
|
|
| virtual Code::Kind kind() const { return Code::KEYED_CALL_IC; }
|
| - virtual Code::ExtraICState GetExtraICState() { return bit_field_; }
|
| + virtual ExtraICState GetExtraICState() { return bit_field_; }
|
|
|
| ElementsKind elements_kind() {
|
| return HoleyBits::decode(bit_field_) ? FAST_HOLEY_ELEMENTS : FAST_ELEMENTS;
|
| @@ -1056,7 +1054,7 @@ class KeyedArrayCallStub: public HICStub {
|
| virtual int GetStubFlags() { return argc(); }
|
|
|
| static bool IsHoley(Handle<Code> code) {
|
| - Code::ExtraICState state = code->extra_ic_state();
|
| + ExtraICState state = code->extra_ic_state();
|
| return HoleyBits::decode(state);
|
| }
|
|
|
| @@ -1091,7 +1089,7 @@ class BinaryOpStub: public HydrogenCodeStub {
|
| Initialize();
|
| }
|
|
|
| - explicit BinaryOpStub(Code::ExtraICState state)
|
| + explicit BinaryOpStub(ExtraICState state)
|
| : op_(decode_token(OpBits::decode(state))),
|
| mode_(OverwriteModeField::decode(state)),
|
| fixed_right_arg_(
|
| @@ -1134,7 +1132,7 @@ class BinaryOpStub: public HydrogenCodeStub {
|
| ASSERT(CpuFeatures::VerifyCrossCompiling(SSE2));
|
| }
|
|
|
| - virtual Code::ExtraICState GetExtraICState() {
|
| + virtual ExtraICState GetExtraICState() {
|
| bool sse_field = Max(result_state_, Max(left_state_, right_state_)) > SMI &&
|
| CpuFeatures::IsSafeForSnapshot(SSE2);
|
|
|
| @@ -1374,7 +1372,7 @@ class CompareNilICStub : public HydrogenCodeStub {
|
|
|
| explicit CompareNilICStub(NilValue nil) : nil_value_(nil) { }
|
|
|
| - CompareNilICStub(Code::ExtraICState ic_state,
|
| + CompareNilICStub(ExtraICState ic_state,
|
| InitializationState init_state = INITIALIZED)
|
| : HydrogenCodeStub(init_state),
|
| nil_value_(NilValueField::decode(ic_state)),
|
| @@ -1411,7 +1409,7 @@ class CompareNilICStub : public HydrogenCodeStub {
|
|
|
| virtual Handle<Code> GenerateCode(Isolate* isolate);
|
|
|
| - virtual Code::ExtraICState GetExtraICState() {
|
| + virtual ExtraICState GetExtraICState() {
|
| return NilValueField::encode(nil_value_) |
|
| TypesField::encode(state_.ToIntegral());
|
| }
|
| @@ -2364,7 +2362,7 @@ class ToBooleanStub: public HydrogenCodeStub {
|
|
|
| explicit ToBooleanStub(Types types = Types())
|
| : types_(types) { }
|
| - explicit ToBooleanStub(Code::ExtraICState state)
|
| + explicit ToBooleanStub(ExtraICState state)
|
| : types_(static_cast<byte>(state)) { }
|
|
|
| bool UpdateStatus(Handle<Object> object);
|
| @@ -2391,7 +2389,7 @@ class ToBooleanStub: public HydrogenCodeStub {
|
| return ToBooleanStub(UNINITIALIZED).GetCode(isolate);
|
| }
|
|
|
| - virtual Code::ExtraICState GetExtraICState() {
|
| + virtual ExtraICState GetExtraICState() {
|
| return types_.ToIntegral();
|
| }
|
|
|
|
|