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

Side by Side Diff: src/frames.cc

Issue 1865833002: [generators] Decouple generator resume from fullcodegen. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: 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
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/frames.h" 5 #include "src/frames.h"
6 6
7 #include <sstream> 7 #include <sstream>
8 8
9 #include "src/ast/ast.h" 9 #include "src/ast/ast.h"
10 #include "src/ast/scopeinfo.h" 10 #include "src/ast/scopeinfo.h"
(...skipping 926 matching lines...) Expand 10 before | Expand all | Expand 10 after
937 937
938 938
939 void JavaScriptFrame::SaveOperandStack(FixedArray* store) const { 939 void JavaScriptFrame::SaveOperandStack(FixedArray* store) const {
940 int operands_count = store->length(); 940 int operands_count = store->length();
941 DCHECK_LE(operands_count, ComputeOperandsCount()); 941 DCHECK_LE(operands_count, ComputeOperandsCount());
942 for (int i = 0; i < operands_count; i++) { 942 for (int i = 0; i < operands_count; i++) {
943 store->set(i, GetOperand(i)); 943 store->set(i, GetOperand(i));
944 } 944 }
945 } 945 }
946 946
947
948 void JavaScriptFrame::RestoreOperandStack(FixedArray* store) {
949 int operands_count = store->length();
950 DCHECK_LE(operands_count, ComputeOperandsCount());
951 for (int i = 0; i < operands_count; i++) {
952 DCHECK_EQ(GetOperand(i), isolate()->heap()->the_hole_value());
953 Memory::Object_at(GetOperandSlot(i)) = store->get(i);
954 }
955 }
956
957 namespace { 947 namespace {
958 948
959 bool CannotDeoptFromAsmCode(Code* code, JSFunction* function) { 949 bool CannotDeoptFromAsmCode(Code* code, JSFunction* function) {
960 return code->is_turbofanned() && function->shared()->asm_function() && 950 return code->is_turbofanned() && function->shared()->asm_function() &&
961 !FLAG_turbo_asm_deoptimization; 951 !FLAG_turbo_asm_deoptimization;
962 } 952 }
963 953
964 } // namespace 954 } // namespace
965 955
966 FrameSummary::FrameSummary(Object* receiver, JSFunction* function, 956 FrameSummary::FrameSummary(Object* receiver, JSFunction* function,
(...skipping 771 matching lines...) Expand 10 before | Expand all | Expand 10 after
1738 for (StackFrameIterator it(isolate); !it.done(); it.Advance()) { 1728 for (StackFrameIterator it(isolate); !it.done(); it.Advance()) {
1739 StackFrame* frame = AllocateFrameCopy(it.frame(), zone); 1729 StackFrame* frame = AllocateFrameCopy(it.frame(), zone);
1740 list.Add(frame, zone); 1730 list.Add(frame, zone);
1741 } 1731 }
1742 return list.ToVector(); 1732 return list.ToVector();
1743 } 1733 }
1744 1734
1745 1735
1746 } // namespace internal 1736 } // namespace internal
1747 } // namespace v8 1737 } // namespace v8
OLDNEW
« src/deoptimizer.cc ('K') | « src/frames.h ('k') | src/full-codegen/arm/full-codegen-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698