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

Side by Side Diff: src/debug/liveedit.cc

Issue 1900613002: [compiler] Let CompileForLiveEdit use common pipeline. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Addressed comments. Created 4 years, 8 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.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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/debug/liveedit.h" 5 #include "src/debug/liveedit.h"
6 6
7 #include "src/ast/scopeinfo.h" 7 #include "src/ast/scopeinfo.h"
8 #include "src/ast/scopes.h" 8 #include "src/ast/scopes.h"
9 #include "src/code-stubs.h" 9 #include "src/code-stubs.h"
10 #include "src/compilation-cache.h" 10 #include "src/compilation-cache.h"
(...skipping 698 matching lines...) Expand 10 before | Expand all | Expand 10 after
709 } 709 }
710 710
711 void FunctionDone() { 711 void FunctionDone() {
712 HandleScope scope(isolate()); 712 HandleScope scope(isolate());
713 FunctionInfoWrapper info = FunctionInfoWrapper::cast( 713 FunctionInfoWrapper info = FunctionInfoWrapper::cast(
714 *JSReceiver::GetElement(isolate(), result_, current_parent_index_) 714 *JSReceiver::GetElement(isolate(), result_, current_parent_index_)
715 .ToHandleChecked()); 715 .ToHandleChecked());
716 current_parent_index_ = info.GetParentIndex(); 716 current_parent_index_ = info.GetParentIndex();
717 } 717 }
718 718
719 // Saves only function code, because for a script function we
720 // may never create a SharedFunctionInfo object.
721 void FunctionCode(Handle<Code> function_code) {
722 FunctionInfoWrapper info = FunctionInfoWrapper::cast(
723 *JSReceiver::GetElement(isolate(), result_, current_parent_index_)
724 .ToHandleChecked());
725 info.SetFunctionCode(function_code,
726 Handle<HeapObject>(isolate()->heap()->null_value()));
727 }
728
729 // Saves full information about a function: its code, its scope info 719 // Saves full information about a function: its code, its scope info
730 // and a SharedFunctionInfo object. 720 // and a SharedFunctionInfo object.
731 void FunctionInfo(Handle<SharedFunctionInfo> shared, Scope* scope, 721 void FunctionInfo(Handle<SharedFunctionInfo> shared, Scope* scope,
732 Zone* zone) { 722 Zone* zone) {
733 if (!shared->IsSharedFunctionInfo()) { 723 if (!shared->IsSharedFunctionInfo()) {
734 return; 724 return;
735 } 725 }
736 FunctionInfoWrapper info = FunctionInfoWrapper::cast( 726 FunctionInfoWrapper info = FunctionInfoWrapper::cast(
737 *JSReceiver::GetElement(isolate(), result_, current_parent_index_) 727 *JSReceiver::GetElement(isolate(), result_, current_parent_index_)
738 .ToHandleChecked()); 728 .ToHandleChecked());
(...skipping 1284 matching lines...) Expand 10 before | Expand all | Expand 10 after
2023 void LiveEditFunctionTracker::RecordFunctionInfo( 2013 void LiveEditFunctionTracker::RecordFunctionInfo(
2024 Handle<SharedFunctionInfo> info, FunctionLiteral* lit, 2014 Handle<SharedFunctionInfo> info, FunctionLiteral* lit,
2025 Zone* zone) { 2015 Zone* zone) {
2026 if (isolate_->active_function_info_listener() != NULL) { 2016 if (isolate_->active_function_info_listener() != NULL) {
2027 isolate_->active_function_info_listener()->FunctionInfo(info, lit->scope(), 2017 isolate_->active_function_info_listener()->FunctionInfo(info, lit->scope(),
2028 zone); 2018 zone);
2029 } 2019 }
2030 } 2020 }
2031 2021
2032 2022
2033 void LiveEditFunctionTracker::RecordRootFunctionInfo(Handle<Code> code) {
2034 isolate_->active_function_info_listener()->FunctionCode(code);
2035 }
2036
2037
2038 bool LiveEditFunctionTracker::IsActive(Isolate* isolate) { 2023 bool LiveEditFunctionTracker::IsActive(Isolate* isolate) {
2039 return isolate->active_function_info_listener() != NULL; 2024 return isolate->active_function_info_listener() != NULL;
2040 } 2025 }
2041 2026
2042 } // namespace internal 2027 } // namespace internal
2043 } // namespace v8 2028 } // namespace v8
OLDNEW
« no previous file with comments | « src/debug/liveedit.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698