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

Side by Side Diff: src/compiler/code-generator.h

Issue 2026313002: Emit unwinding information for TurboFan code. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@eh-frame
Patch Set: Clarify assumptions on frame ction/dtion routines in arm/arm64. 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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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 #ifndef V8_COMPILER_CODE_GENERATOR_H_ 5 #ifndef V8_COMPILER_CODE_GENERATOR_H_
6 #define V8_COMPILER_CODE_GENERATOR_H_ 6 #define V8_COMPILER_CODE_GENERATOR_H_
7 7
8 #include "src/base/smart-pointers.h"
8 #include "src/compiler/gap-resolver.h" 9 #include "src/compiler/gap-resolver.h"
9 #include "src/compiler/instruction.h" 10 #include "src/compiler/instruction.h"
11 #include "src/compiler/unwinding-info-writer.h"
10 #include "src/deoptimizer.h" 12 #include "src/deoptimizer.h"
11 #include "src/macro-assembler.h" 13 #include "src/macro-assembler.h"
12 #include "src/safepoint-table.h" 14 #include "src/safepoint-table.h"
13 #include "src/source-position-table.h" 15 #include "src/source-position-table.h"
14 16
15 namespace v8 { 17 namespace v8 {
16 namespace internal { 18 namespace internal {
17 namespace compiler { 19 namespace compiler {
18 20
19 // Forward declarations. 21 // Forward declarations.
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 247
246 struct HandlerInfo { 248 struct HandlerInfo {
247 bool caught_locally; 249 bool caught_locally;
248 Label* handler; 250 Label* handler;
249 int pc_offset; 251 int pc_offset;
250 }; 252 };
251 253
252 friend class OutOfLineCode; 254 friend class OutOfLineCode;
253 255
254 FrameAccessState* frame_access_state_; 256 FrameAccessState* frame_access_state_;
257 base::SmartPointer<UnwindingInfoWriter> unwinding_info_writer_;
255 Linkage* const linkage_; 258 Linkage* const linkage_;
256 InstructionSequence* const code_; 259 InstructionSequence* const code_;
257 CompilationInfo* const info_; 260 CompilationInfo* const info_;
258 Label* const labels_; 261 Label* const labels_;
259 Label return_label_; 262 Label return_label_;
260 RpoNumber current_block_; 263 RpoNumber current_block_;
261 SourcePosition current_source_position_; 264 SourcePosition current_source_position_;
262 MacroAssembler masm_; 265 MacroAssembler masm_;
263 GapResolver resolver_; 266 GapResolver resolver_;
264 SafepointTableBuilder safepoints_; 267 SafepointTableBuilder safepoints_;
265 ZoneVector<HandlerInfo> handlers_; 268 ZoneVector<HandlerInfo> handlers_;
266 ZoneDeque<DeoptimizationExit*> deoptimization_exits_; 269 ZoneDeque<DeoptimizationExit*> deoptimization_exits_;
267 ZoneDeque<DeoptimizationState*> deoptimization_states_; 270 ZoneDeque<DeoptimizationState*> deoptimization_states_;
268 ZoneDeque<Handle<Object>> deoptimization_literals_; 271 ZoneDeque<Handle<Object>> deoptimization_literals_;
269 size_t inlined_function_count_; 272 size_t inlined_function_count_;
270 TranslationBuffer translations_; 273 TranslationBuffer translations_;
271 int last_lazy_deopt_pc_; 274 int last_lazy_deopt_pc_;
272 JumpTable* jump_tables_; 275 JumpTable* jump_tables_;
273 OutOfLineCode* ools_; 276 OutOfLineCode* ools_;
274 int osr_pc_offset_; 277 int osr_pc_offset_;
275 SourcePositionTableBuilder source_position_table_builder_; 278 SourcePositionTableBuilder source_position_table_builder_;
276 }; 279 };
277 280
278 } // namespace compiler 281 } // namespace compiler
279 } // namespace internal 282 } // namespace internal
280 } // namespace v8 283 } // namespace v8
281 284
282 #endif // V8_COMPILER_CODE_GENERATOR_H 285 #endif // V8_COMPILER_CODE_GENERATOR_H
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698