Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 27ab86541832f88f6320286b40007dce0e7f9bb1..af077278043d75a52d073d5e2779921ae3f84f50 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -1033,9 +1033,6 @@ |
// ES6, section 7.2.3 IsCallable. |
INLINE(bool IsCallable() const); |
- // ES6, section 7.2.4 IsConstructor. |
- INLINE(bool IsConstructor() const); |
- |
INLINE(bool IsSpecObject()) const; |
INLINE(bool IsTemplateInfo()) const; |
INLINE(bool IsNameDictionary() const); |
@@ -5365,10 +5362,11 @@ |
inline void set_non_instance_prototype(bool value); |
inline bool has_non_instance_prototype(); |
- // Tells whether the instance has a [[Construct]] internal method. |
- // This property is implemented according to ES6, section 7.2.4. |
- inline void set_is_constructor(bool value); |
- inline bool is_constructor() const; |
+ // Tells whether function has special prototype property. If not, prototype |
+ // property will not be created when accessed (will return undefined), |
+ // and construction from this function will not be allowed. |
+ inline void set_function_with_prototype(bool value); |
+ inline bool function_with_prototype(); |
// Tells whether the instance with this map should be ignored by the |
// Object.getPrototypeOf() function and the __proto__ accessor. |
@@ -5396,7 +5394,7 @@ |
inline void set_is_observed(); |
inline bool is_observed(); |
- // Tells whether the instance has a [[Call]] internal method. |
+ // Tells whether the instance has a [[Call]] internal field. |
// This property is implemented according to ES6, section 7.2.3. |
inline void set_is_callable(); |
inline bool is_callable() const; |
@@ -5726,7 +5724,6 @@ |
inline bool IsPrimitiveMap(); |
inline bool IsJSObjectMap(); |
inline bool IsJSArrayMap(); |
- inline bool IsJSFunctionMap(); |
inline bool IsStringMap(); |
inline bool IsJSProxyMap(); |
inline bool IsJSGlobalProxyMap(); |
@@ -5831,7 +5828,7 @@ |
static const int kIsUndetectable = 4; |
static const int kIsObserved = 5; |
static const int kIsAccessCheckNeeded = 6; |
- static const int kIsConstructor = 7; |
+ class FunctionWithPrototype: public BitField<bool, 7, 1> {}; |
// Bit positions for bit field 2 |
static const int kIsExtensible = 0; |
@@ -7133,6 +7130,7 @@ |
// After prototype is removed, it will not be created when accessed, and |
// [[Construct]] from this function will not be allowed. |
bool RemovePrototype(); |
+ inline bool should_have_prototype(); |
// Accessor for this function's initial map's [[class]] |
// property. This is primarily used by ECMA native functions. This |