| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index 164f59bf53193dfd2123b4c93ada6a718018d1eb..48ccc099073a32254f9f5731518326602692e61d 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -6768,24 +6768,35 @@ class SharedFunctionInfo: public HeapObject {
|
| // [function data]: This field holds some additional data for function.
|
| // Currently it has one of:
|
| // - a FunctionTemplateInfo to make benefit the API [IsApiFunction()].
|
| - // - a Smi identifying a builtin function [HasBuiltinFunctionId()].
|
| // - a BytecodeArray for the interpreter [HasBytecodeArray()].
|
| - // In the long run we don't want all functions to have this field but
|
| - // we can fix that when we have a better model for storing hidden data
|
| - // on objects.
|
| DECL_ACCESSORS(function_data, Object)
|
|
|
| inline bool IsApiFunction();
|
| inline FunctionTemplateInfo* get_api_func_data();
|
| inline void set_api_func_data(FunctionTemplateInfo* data);
|
| - inline bool HasBuiltinFunctionId();
|
| - inline BuiltinFunctionId builtin_function_id();
|
| - inline void set_builtin_function_id(BuiltinFunctionId id);
|
| inline bool HasBytecodeArray();
|
| inline BytecodeArray* bytecode_array();
|
| inline void set_bytecode_array(BytecodeArray* bytecode);
|
| inline void ClearBytecodeArray();
|
|
|
| + // [function identifier]: This field holds an additional identifier for the
|
| + // function.
|
| + // - a Smi identifying a builtin function [HasBuiltinFunctionId()].
|
| + // - a String identifying the function's inferred name [HasInferredName()].
|
| + // The inferred_name is inferred from variable or property
|
| + // assignment of this function. It is used to facilitate debugging and
|
| + // profiling of JavaScript code written in OO style, where almost
|
| + // all functions are anonymous but are assigned to object
|
| + // properties.
|
| + DECL_ACCESSORS(function_identifier, Object)
|
| +
|
| + inline bool HasBuiltinFunctionId();
|
| + inline BuiltinFunctionId builtin_function_id();
|
| + inline void set_builtin_function_id(BuiltinFunctionId id);
|
| + inline bool HasInferredName();
|
| + inline String* inferred_name();
|
| + inline void set_inferred_name(String* inferred_name);
|
| +
|
| // [script info]: Script from which the function originates.
|
| DECL_ACCESSORS(script, Object)
|
|
|
| @@ -6811,13 +6822,6 @@ class SharedFunctionInfo: public HeapObject {
|
| // [debug info]: Debug information.
|
| DECL_ACCESSORS(debug_info, Object)
|
|
|
| - // [inferred name]: Name inferred from variable or property
|
| - // assignment of this function. Used to facilitate debugging and
|
| - // profiling of JavaScript code written in OO style, where almost
|
| - // all functions are anonymous but are assigned to object
|
| - // properties.
|
| - DECL_ACCESSORS(inferred_name, String)
|
| -
|
| // The function's name if it is non-empty, otherwise the inferred name.
|
| String* DebugName();
|
|
|
| @@ -7057,9 +7061,9 @@ class SharedFunctionInfo: public HeapObject {
|
| kInstanceClassNameOffset + kPointerSize;
|
| static const int kScriptOffset = kFunctionDataOffset + kPointerSize;
|
| static const int kDebugInfoOffset = kScriptOffset + kPointerSize;
|
| - static const int kInferredNameOffset = kDebugInfoOffset + kPointerSize;
|
| + static const int kFunctionIdentifierOffset = kDebugInfoOffset + kPointerSize;
|
| static const int kFeedbackVectorOffset =
|
| - kInferredNameOffset + kPointerSize;
|
| + kFunctionIdentifierOffset + kPointerSize;
|
| #if TRACE_MAPS
|
| static const int kUniqueIdOffset = kFeedbackVectorOffset + kPointerSize;
|
| static const int kLastPointerFieldOffset = kUniqueIdOffset;
|
|
|