Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(64)

Side by Side Diff: src/deoptimizer.cc

Issue 2674593003: [TypeFeedbackVector] Root feedback vectors at function literal site. (Closed)
Patch Set: REBASE+liveedit fix. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/debug/liveedit.cc ('k') | src/factory.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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> vector = materializer.FieldAt(value_index); 3799 Handle<Object> vector_cell = 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_feedback_vector(TypeFeedbackVector::cast(*vector)); 3809 object->set_feedback_vector_cell(Cell::cast(*vector_cell));
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
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
OLDNEW
« no previous file with comments | « src/debug/liveedit.cc ('k') | src/factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698