| Index: src/full-codegen.h
|
| diff --git a/src/full-codegen.h b/src/full-codegen.h
|
| index 11d5341ecab48ee877a05f3ceb7b5d56a80cc287..de1ae5e1cd21445aa3af80b2304a6ba9f74fb170 100644
|
| --- a/src/full-codegen.h
|
| +++ b/src/full-codegen.h
|
| @@ -483,7 +483,7 @@ class FullCodeGenerator: public AstVisitor {
|
|
|
| // Platform-specific code sequences for calls
|
| void EmitCallWithStub(Call* expr, CallFunctionFlags flags);
|
| - void EmitCallWithIC(Call* expr, Handle<Object> name, RelocInfo::Mode mode);
|
| + void EmitCallWithIC(Call* expr, Handle<Object> name, ContextualMode mode);
|
| void EmitKeyedCallWithIC(Call* expr, Expression* key);
|
|
|
| // Platform-specific code for inline runtime calls.
|
| @@ -565,9 +565,14 @@ class FullCodeGenerator: public AstVisitor {
|
| void EmitKeyedPropertyAssignment(Assignment* expr);
|
|
|
| void CallIC(Handle<Code> code,
|
| - RelocInfo::Mode rmode = RelocInfo::CODE_TARGET,
|
| + ContextualMode mode = NOT_CONTEXTUAL,
|
| TypeFeedbackId id = TypeFeedbackId::None());
|
|
|
| + void CallLoadIC(ContextualMode mode,
|
| + TypeFeedbackId id = TypeFeedbackId::None());
|
| + void CallStoreIC(ContextualMode mode,
|
| + TypeFeedbackId id = TypeFeedbackId::None());
|
| +
|
| void SetFunctionPosition(FunctionLiteral* fun);
|
| void SetReturnPosition(FunctionLiteral* fun);
|
| void SetStatementPosition(Statement* stmt);
|
| @@ -597,6 +602,9 @@ class FullCodeGenerator: public AstVisitor {
|
| bool is_eval() { return info_->is_eval(); }
|
| bool is_native() { return info_->is_native(); }
|
| bool is_classic_mode() { return language_mode() == CLASSIC_MODE; }
|
| + StrictModeFlag strict_mode() {
|
| + return is_classic_mode() ? kNonStrictMode : kStrictMode;
|
| + }
|
| LanguageMode language_mode() { return function()->language_mode(); }
|
| FunctionLiteral* function() { return info_->function(); }
|
| Scope* scope() { return scope_; }
|
|
|