| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index 8a17f21690bcb248cce7f01686edf4eeaa94da0f..1ff9f565afb85b97b8ebadf520dfd86a0ca47196 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -4813,21 +4813,19 @@ class Code: public HeapObject {
|
| // [deoptimization_data]: Array containing data for deopt.
|
| DECL_ACCESSORS(deoptimization_data, FixedArray)
|
|
|
| - // [type_feedback_info]: Struct containing type feedback information for
|
| - // unoptimized code. Optimized code can temporarily store the head of
|
| - // the list of code to be deoptimized during mark-compact GC.
|
| - // STUBs can use this slot to store arbitrary information as a Smi.
|
| - // Will contain either a TypeFeedbackInfo object, or JSFunction object,
|
| - // or undefined, or a Smi.
|
| + // [type_feedback_info]: This field stores various things, depending on the
|
| + // kind of the code object.
|
| + // FUNCTION => type feedback information.
|
| + // STUB => various things, e.g. a SMI
|
| + // OPTIMIZED_FUNCTION => the next_code_link for optimized code list.
|
| DECL_ACCESSORS(type_feedback_info, Object)
|
| inline void InitializeTypeFeedbackInfoNoWriteBarrier(Object* value);
|
| inline int stub_info();
|
| inline void set_stub_info(int info);
|
|
|
| - // Used during GC to code a list of code objects to deoptimize.
|
| - inline Object* code_to_deoptimize_link();
|
| - inline void set_code_to_deoptimize_link(Object* value);
|
| - inline Object** code_to_deoptimize_link_slot();
|
| + // [next_code_link]: Link for lists of optimized or deoptimized code.
|
| + // Note that storage for this field is overlapped with typefeedback_info.
|
| + DECL_ACCESSORS(next_code_link, Object)
|
|
|
| // [gc_metadata]: Field used to hold GC related metadata. The contents of this
|
| // field does not have to be traced during garbage collection since
|
| @@ -5146,6 +5144,7 @@ class Code: public HeapObject {
|
| kHandlerTableOffset + kPointerSize;
|
| static const int kTypeFeedbackInfoOffset =
|
| kDeoptimizationDataOffset + kPointerSize;
|
| + static const int kNextCodeLinkOffset = kTypeFeedbackInfoOffset; // Shared.
|
| static const int kGCMetadataOffset = kTypeFeedbackInfoOffset + kPointerSize;
|
| static const int kICAgeOffset =
|
| kGCMetadataOffset + kPointerSize;
|
| @@ -7019,8 +7018,10 @@ class JSFunction: public JSObject {
|
| // Returns if this function has been compiled to native code yet.
|
| inline bool is_compiled();
|
|
|
| - // [next_function_link]: Field for linking functions. This list is treated as
|
| - // a weak list by the GC.
|
| + // [next_function_link]: Links functions into various lists, e.g. the list
|
| + // of optimized functions hanging off the native_context. The CodeFlusher
|
| + // uses this link to chain together flushing candidates. Treated weakly
|
| + // by the garbage collector.
|
| DECL_ACCESSORS(next_function_link, Object)
|
|
|
| // Prints the name of the function using PrintF.
|
|
|