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

Side by Side Diff: src/full-codegen/full-codegen.cc

Issue 2023503002: Reland Implement .eh_frame writer and disassembler. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@eh-frame-base
Patch Set: Improve disassembler, get rid of PatchProcedureBoundariesInEhFrame. Created 4 years, 5 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/full-codegen/full-codegen.h" 5 #include "src/full-codegen/full-codegen.h"
6 6
7 #include "src/ast/ast-numbering.h" 7 #include "src/ast/ast-numbering.h"
8 #include "src/ast/ast.h" 8 #include "src/ast/ast.h"
9 #include "src/ast/prettyprinter.h" 9 #include "src/ast/prettyprinter.h"
10 #include "src/ast/scopeinfo.h" 10 #include "src/ast/scopeinfo.h"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 CodeStartLinePosInfoRecordEvent(masm.positions_recorder())); 49 CodeStartLinePosInfoRecordEvent(masm.positions_recorder()));
50 50
51 FullCodeGenerator cgen(&masm, info); 51 FullCodeGenerator cgen(&masm, info);
52 cgen.Generate(); 52 cgen.Generate();
53 if (cgen.HasStackOverflow()) { 53 if (cgen.HasStackOverflow()) {
54 DCHECK(!isolate->has_pending_exception()); 54 DCHECK(!isolate->has_pending_exception());
55 return false; 55 return false;
56 } 56 }
57 unsigned table_offset = cgen.EmitBackEdgeTable(); 57 unsigned table_offset = cgen.EmitBackEdgeTable();
58 58
59 Handle<Code> code = CodeGenerator::MakeCodeEpilogue(&masm, info); 59 Handle<Code> code = CodeGenerator::MakeCodeEpilogue(&masm, nullptr, info);
60 cgen.PopulateDeoptimizationData(code); 60 cgen.PopulateDeoptimizationData(code);
61 cgen.PopulateTypeFeedbackInfo(code); 61 cgen.PopulateTypeFeedbackInfo(code);
62 cgen.PopulateHandlerTable(code); 62 cgen.PopulateHandlerTable(code);
63 code->set_has_deoptimization_support(info->HasDeoptimizationSupport()); 63 code->set_has_deoptimization_support(info->HasDeoptimizationSupport());
64 code->set_has_reloc_info_for_serialization(info->will_serialize()); 64 code->set_has_reloc_info_for_serialization(info->will_serialize());
65 code->set_allow_osr_at_loop_nesting_level(0); 65 code->set_allow_osr_at_loop_nesting_level(0);
66 code->set_profiler_ticks(0); 66 code->set_profiler_ticks(0);
67 code->set_back_edge_table_offset(table_offset); 67 code->set_back_edge_table_offset(table_offset);
68 CodeGenerator::PrintCode(code, info); 68 CodeGenerator::PrintCode(code, info);
69 info->SetCode(code); 69 info->SetCode(code);
(...skipping 1916 matching lines...) Expand 10 before | Expand all | Expand 10 after
1986 return var->scope()->is_nonlinear() || 1986 return var->scope()->is_nonlinear() ||
1987 var->initializer_position() >= proxy->position(); 1987 var->initializer_position() >= proxy->position();
1988 } 1988 }
1989 1989
1990 1990
1991 #undef __ 1991 #undef __
1992 1992
1993 1993
1994 } // namespace internal 1994 } // namespace internal
1995 } // namespace v8 1995 } // namespace v8
OLDNEW
« src/eh-frame.cc ('K') | « src/eh-frame.cc ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698