| Index: src/ic.h
|
| diff --git a/src/ic.h b/src/ic.h
|
| index 9a42b75fc1894fe2026c88ba5baa29e7103c3b23..8a32a40447a80f55afd09a39f734a9ff6473b61a 100644
|
| --- a/src/ic.h
|
| +++ b/src/ic.h
|
| @@ -124,7 +124,7 @@ class IC {
|
| // access to properties.
|
| bool IsUndeclaredGlobal(Handle<Object> receiver) {
|
| if (receiver->IsGlobalObject()) {
|
| - return IsContextual();
|
| + return IsCallStub() || IsContextual();
|
| } else {
|
| ASSERT(!IsContextual());
|
| return false;
|
| @@ -140,10 +140,10 @@ class IC {
|
| return target()->is_store_stub() || target()->is_keyed_store_stub();
|
| }
|
|
|
| +#endif
|
| bool IsCallStub() {
|
| return target()->is_call_stub() || target()->is_keyed_call_stub();
|
| }
|
| -#endif
|
|
|
| // Determines which map must be used for keeping the code stub.
|
| // These methods should not be called with undefined or null.
|
| @@ -323,10 +323,9 @@ enum StringStubFeedback {
|
| class CallICBase: public IC {
|
| public:
|
| // ExtraICState bits
|
| - class StringStubState: public BitField<StringStubFeedback, 1, 1> {};
|
| - static ExtraICState ComputeExtraICState(ContextualMode mode,
|
| - StringStubFeedback feedback) {
|
| - return Contextual::encode(mode) | StringStubState::encode(feedback);
|
| + class StringStubState: public BitField<StringStubFeedback, 0, 1> {};
|
| + static ExtraICState ComputeExtraICState(StringStubFeedback feedback) {
|
| + return StringStubState::encode(feedback);
|
| }
|
|
|
| // Returns a JSFunction or a Failure.
|
|
|