| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index 8c63022db8a0ac94928987882ddf258aabc599fd..6b1e4fb68575b9b5071da4bfbc1afc3b45f22cec 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -4170,6 +4170,10 @@ class SharedFunctionInfo: public HeapObject {
|
| inline bool optimization_disabled();
|
| inline void set_optimization_disabled(bool value);
|
|
|
| + // Indicates whether the function is a strict mode function.
|
| + inline bool strict_mode();
|
| + inline void set_strict_mode(bool value);
|
| +
|
| // Indicates whether or not the code in the shared function support
|
| // deoptimization.
|
| inline bool has_deoptimization_support();
|
| @@ -4351,6 +4355,7 @@ class SharedFunctionInfo: public HeapObject {
|
| static const int kCodeAgeShift = 4;
|
| static const int kCodeAgeMask = 0x7;
|
| static const int kOptimizationDisabled = 7;
|
| + static const int kStrictModeFunction = 8;
|
|
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(SharedFunctionInfo);
|
| };
|
| @@ -4834,10 +4839,12 @@ class CompilationCacheTable: public HashTable<CompilationCacheShape,
|
| public:
|
| // Find cached value for a string key, otherwise return null.
|
| Object* Lookup(String* src);
|
| - Object* LookupEval(String* src, Context* context);
|
| + Object* LookupEval(String* src, Context* context, StrictModeFlag strict_mode);
|
| Object* LookupRegExp(String* source, JSRegExp::Flags flags);
|
| MaybeObject* Put(String* src, Object* value);
|
| - MaybeObject* PutEval(String* src, Context* context, Object* value);
|
| + MaybeObject* PutEval(String* src,
|
| + Context* context,
|
| + SharedFunctionInfo* value);
|
| MaybeObject* PutRegExp(String* src, JSRegExp::Flags flags, FixedArray* value);
|
|
|
| // Remove given value from cache.
|
|
|