Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 874dcbc902ea0111d5f49b756f774df7c4b35af4..f9cdce715e56a583731279e6930a1be9dbb7ba8b 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -4051,6 +4051,12 @@ class SharedFunctionInfo: public HeapObject { |
// [code]: Function code. |
DECL_ACCESSORS(code, Code) |
+ // [optimized_code_map]: Map from global context to optimized code |
+ // or Smi 0 if none. |
+ DECL_ACCESSORS(optimized_code_map, Object) |
+ |
+ Code* SearchOptimizedCodeMap(Context* global_context); |
+ |
// [scope_info]: Scope info. |
DECL_ACCESSORS(scope_info, SerializedScopeInfo) |
@@ -4158,6 +4164,9 @@ class SharedFunctionInfo: public HeapObject { |
// IsInobjectSlackTrackingInProgress is false after this call. |
void CompleteInobjectSlackTracking(); |
+ // Invoked before pointers in SharedFunctionInfo are being marked. |
+ inline void BeforeVisitingPointers(); |
+ |
// Clears the initial_map before the GC marking phase to ensure the reference |
// is weak. IsInobjectSlackTrackingInProgress is false after this call. |
void DetachInitialMap(); |
@@ -4353,7 +4362,8 @@ class SharedFunctionInfo: public HeapObject { |
// Pointer fields. |
static const int kNameOffset = HeapObject::kHeaderSize; |
static const int kCodeOffset = kNameOffset + kPointerSize; |
- static const int kScopeInfoOffset = kCodeOffset + kPointerSize; |
+ static const int kOptimizedCodeMapOffset = kCodeOffset + kPointerSize; |
+ static const int kScopeInfoOffset = kOptimizedCodeMapOffset + kPointerSize; |
static const int kConstructStubOffset = kScopeInfoOffset + kPointerSize; |
static const int kInstanceClassNameOffset = |
kConstructStubOffset + kPointerSize; |