Index: src/objects.h |
=================================================================== |
--- src/objects.h (revision 11527) |
+++ src/objects.h (working copy) |
@@ -5156,6 +5156,14 @@ |
// [code]: Function code. |
DECL_ACCESSORS(code, Code) |
+ // [optimized_code_map]: Map from global context to optimized code |
+ // and a shared literals array or Smi 0 if none. |
+ DECL_ACCESSORS(optimized_code_map, Object) |
+ |
+ // Returns index i of the entry with the specified context. At position |
+ // i - 1 is the context, position i the code, and i + 1 the literals array. |
Michael Starzinger
2012/05/23 11:16:29
Can we add a comment about what happens when no en
fschneider
2012/06/14 11:08:23
Done.
|
+ int SearchOptimizedCodeMap(Context* global_context); |
+ |
// [scope_info]: Scope info. |
DECL_ACCESSORS(scope_info, ScopeInfo) |
@@ -5263,6 +5271,9 @@ |
// IsInobjectSlackTrackingInProgress is false after this call. |
void CompleteInobjectSlackTracking(); |
+ // Invoked before pointers in SharedFunctionInfo are being marked. |
Michael Starzinger
2012/05/23 11:16:29
It would be nice to also have a short comment what
fschneider
2012/06/14 11:08:23
Done.
|
+ 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(); |
@@ -5523,7 +5534,8 @@ |
// 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; |