Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 3ce8cccfe22e433c42254de0815f740708d43d2c..36b351b78fe240c7b0cb80017a5a708d1f13eb1f 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -6530,10 +6530,10 @@ class SharedFunctionInfo: public HeapObject { |
// 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. |
- // Returns -1 when no matching entry is found. |
- int SearchOptimizedCodeMap(Context* native_context); |
+ // Returns index i of the entry with the specified context and OSR entry. |
+ // At position i - 1 is the context, position i the code, and i + 1 the |
+ // literals array. Returns -1 when no matching entry is found. |
+ int SearchOptimizedCodeMap(Context* native_context, BailoutId osr_ast_id); |
// Installs optimized code from the code map on the given closure. The |
// index has to be consistent with a search result as defined above. |
@@ -6553,18 +6553,22 @@ class SharedFunctionInfo: public HeapObject { |
// Add a new entry to the optimized code map. |
MUST_USE_RESULT MaybeObject* AddToOptimizedCodeMap(Context* native_context, |
Code* code, |
- FixedArray* literals); |
+ FixedArray* literals, |
+ BailoutId osr_ast_id); |
static void AddToOptimizedCodeMap(Handle<SharedFunctionInfo> shared, |
Handle<Context> native_context, |
Handle<Code> code, |
- Handle<FixedArray> literals); |
+ Handle<FixedArray> literals, |
+ BailoutId osr_ast_id); |
// Layout description of the optimized code map. |
static const int kNextMapIndex = 0; |
static const int kEntriesStart = 1; |
- static const int kEntryLength = 3; |
+ static const int kEntryLength = 4; |
static const int kFirstContextSlot = FixedArray::kHeaderSize + kPointerSize; |
static const int kFirstCodeSlot = FixedArray::kHeaderSize + 2 * kPointerSize; |
+ static const int kFirstOsrAstIdSlot = |
+ FixedArray::kHeaderSize + 4 * kPointerSize; |
static const int kSecondEntryIndex = kEntryLength + kEntriesStart; |
static const int kInitialLength = kEntriesStart + kEntryLength; |