| 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;
|
|
|
|
|