OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/deoptimizer.h" | 5 #include "src/deoptimizer.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "src/accessors.h" | 9 #include "src/accessors.h" |
10 #include "src/ast/prettyprinter.h" | 10 #include "src/ast/prettyprinter.h" |
(...skipping 3778 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3789 Handle<JSFunction> object = | 3789 Handle<JSFunction> object = |
3790 isolate_->factory()->NewFunctionFromSharedFunctionInfo( | 3790 isolate_->factory()->NewFunctionFromSharedFunctionInfo( |
3791 map, temporary_shared, isolate_->factory()->undefined_value(), | 3791 map, temporary_shared, isolate_->factory()->undefined_value(), |
3792 NOT_TENURED); | 3792 NOT_TENURED); |
3793 slot->value_ = object; | 3793 slot->value_ = object; |
3794 Handle<Object> properties = materializer.FieldAt(value_index); | 3794 Handle<Object> properties = materializer.FieldAt(value_index); |
3795 Handle<Object> elements = materializer.FieldAt(value_index); | 3795 Handle<Object> elements = materializer.FieldAt(value_index); |
3796 Handle<Object> prototype = materializer.FieldAt(value_index); | 3796 Handle<Object> prototype = materializer.FieldAt(value_index); |
3797 Handle<Object> shared = materializer.FieldAt(value_index); | 3797 Handle<Object> shared = materializer.FieldAt(value_index); |
3798 Handle<Object> context = materializer.FieldAt(value_index); | 3798 Handle<Object> context = materializer.FieldAt(value_index); |
3799 Handle<Object> literals = materializer.FieldAt(value_index); | 3799 Handle<Object> vector = materializer.FieldAt(value_index); |
3800 Handle<Object> entry = materializer.FieldAt(value_index); | 3800 Handle<Object> entry = materializer.FieldAt(value_index); |
3801 Handle<Object> next_link = materializer.FieldAt(value_index); | 3801 Handle<Object> next_link = materializer.FieldAt(value_index); |
3802 object->ReplaceCode(*isolate_->builtins()->CompileLazy()); | 3802 object->ReplaceCode(*isolate_->builtins()->CompileLazy()); |
3803 object->set_map(*map); | 3803 object->set_map(*map); |
3804 object->set_properties(FixedArray::cast(*properties)); | 3804 object->set_properties(FixedArray::cast(*properties)); |
3805 object->set_elements(FixedArrayBase::cast(*elements)); | 3805 object->set_elements(FixedArrayBase::cast(*elements)); |
3806 object->set_prototype_or_initial_map(*prototype); | 3806 object->set_prototype_or_initial_map(*prototype); |
3807 object->set_shared(SharedFunctionInfo::cast(*shared)); | 3807 object->set_shared(SharedFunctionInfo::cast(*shared)); |
3808 object->set_context(Context::cast(*context)); | 3808 object->set_context(Context::cast(*context)); |
3809 object->set_literals(LiteralsArray::cast(*literals)); | 3809 object->set_feedback_vector(TypeFeedbackVector::cast(*vector)); |
3810 CHECK(entry->IsNumber()); // Entry to compile lazy stub. | 3810 CHECK(entry->IsNumber()); // Entry to compile lazy stub. |
3811 CHECK(next_link->IsUndefined(isolate_)); | 3811 CHECK(next_link->IsUndefined(isolate_)); |
3812 return object; | 3812 return object; |
3813 } | 3813 } |
3814 case CONS_STRING_TYPE: { | 3814 case CONS_STRING_TYPE: { |
3815 Handle<ConsString> object = Handle<ConsString>::cast( | 3815 Handle<ConsString> object = Handle<ConsString>::cast( |
3816 isolate_->factory() | 3816 isolate_->factory() |
3817 ->NewConsString(isolate_->factory()->undefined_string(), | 3817 ->NewConsString(isolate_->factory()->undefined_string(), |
3818 isolate_->factory()->undefined_string()) | 3818 isolate_->factory()->undefined_string()) |
3819 .ToHandleChecked()); | 3819 .ToHandleChecked()); |
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4203 CHECK(value_info->IsMaterializedObject()); | 4203 CHECK(value_info->IsMaterializedObject()); |
4204 | 4204 |
4205 value_info->value_ = | 4205 value_info->value_ = |
4206 Handle<Object>(previously_materialized_objects->get(i), isolate_); | 4206 Handle<Object>(previously_materialized_objects->get(i), isolate_); |
4207 } | 4207 } |
4208 } | 4208 } |
4209 } | 4209 } |
4210 | 4210 |
4211 } // namespace internal | 4211 } // namespace internal |
4212 } // namespace v8 | 4212 } // namespace v8 |
OLD | NEW |