| Index: src/full-codegen.h
|
| diff --git a/src/full-codegen.h b/src/full-codegen.h
|
| index 008493bcb7cebb37694f9dfe9480c402da4e8463..3fa7457a5c3b400c546efd15306375112852ba67 100644
|
| --- a/src/full-codegen.h
|
| +++ b/src/full-codegen.h
|
| @@ -486,7 +486,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.
|
| @@ -568,9 +568,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);
|
| @@ -600,6 +605,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_; }
|
|
|