| Index: src/objects.cc
|
| diff --git a/src/objects.cc b/src/objects.cc
|
| index 53c5fec01faaf13708a52de83fc4971bf7ad15d0..be5f1e283f4b6cfc6965bf26033e186dc015b9bd 100644
|
| --- a/src/objects.cc
|
| +++ b/src/objects.cc
|
| @@ -10157,7 +10157,7 @@ void SharedFunctionInfo::AddSharedCodeToOptimizedCodeMap(
|
|
|
| void SharedFunctionInfo::AddToOptimizedCodeMap(
|
| Handle<SharedFunctionInfo> shared, Handle<Context> native_context,
|
| - Handle<HeapObject> code, Handle<FixedArray> literals,
|
| + Handle<HeapObject> code, Handle<LiteralsArray> literals,
|
| BailoutId osr_ast_id) {
|
| Isolate* isolate = shared->GetIsolate();
|
| DCHECK(*code == isolate->heap()->undefined_value() ||
|
| @@ -11347,7 +11347,7 @@ CodeAndLiterals SharedFunctionInfo::SearchOptimizedCodeMap(
|
| DCHECK_LE(entry + kEntryLength, code_map->length());
|
| Object* code = code_map->get(entry + kCachedCodeOffset);
|
| result = {code->IsUndefined() ? nullptr : Code::cast(code),
|
| - FixedArray::cast(code_map->get(entry + kLiteralsOffset))};
|
| + LiteralsArray::cast(code_map->get(entry + kLiteralsOffset))};
|
| }
|
| }
|
| if (FLAG_trace_opt && !optimized_code_map()->IsSmi() &&
|
| @@ -12225,6 +12225,19 @@ void DeoptimizationOutputData::DeoptimizationOutputDataPrint(
|
| }
|
|
|
|
|
| +// static
|
| +Handle<LiteralsArray> LiteralsArray::Allocate(Isolate* isolate,
|
| + Handle<TypeFeedbackVector> vector,
|
| + int number_of_literals,
|
| + PretenureFlag pretenure) {
|
| + Handle<FixedArray> literals = isolate->factory()->NewFixedArray(
|
| + number_of_literals + kFirstLiteralIndex, pretenure);
|
| + Handle<LiteralsArray> casted_literals = Handle<LiteralsArray>::cast(literals);
|
| + casted_literals->set_feedback_vector(*vector);
|
| + return casted_literals;
|
| +}
|
| +
|
| +
|
| void HandlerTable::HandlerTableRangePrint(std::ostream& os) {
|
| os << " from to hdlr\n";
|
| for (int i = 0; i < length(); i += kRangeEntrySize) {
|
|
|