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

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

Issue 2357583003: [turbofan] Remove bogus constant materialization from frame. (Closed)
Patch Set: Created 4 years, 3 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/compiler/arm64/code-generator-arm64.cc ('k') | src/compiler/code-generator.cc » ('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 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/compiler/gap-resolver.h" 8 #include "src/compiler/gap-resolver.h"
9 #include "src/compiler/instruction.h" 9 #include "src/compiler/instruction.h"
10 #include "src/compiler/unwinding-info-writer.h" 10 #include "src/compiler/unwinding-info-writer.h"
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 void FinishFrame(Frame* frame); 79 void FinishFrame(Frame* frame);
80 80
81 // Checks if {block} will appear directly after {current_block_} when 81 // Checks if {block} will appear directly after {current_block_} when
82 // assembling code, in which case, a fall-through can be used. 82 // assembling code, in which case, a fall-through can be used.
83 bool IsNextInAssemblyOrder(RpoNumber block) const; 83 bool IsNextInAssemblyOrder(RpoNumber block) const;
84 84
85 // Record a safepoint with the given pointer map. 85 // Record a safepoint with the given pointer map.
86 void RecordSafepoint(ReferenceMap* references, Safepoint::Kind kind, 86 void RecordSafepoint(ReferenceMap* references, Safepoint::Kind kind,
87 int arguments, Safepoint::DeoptMode deopt_mode); 87 int arguments, Safepoint::DeoptMode deopt_mode);
88 88
89 // Check if a heap object can be materialized by loading from the frame, which
90 // is usually way cheaper than materializing the actual heap object constant.
91 bool IsMaterializableFromFrame(Handle<HeapObject> object, int* slot_return);
92 // Check if a heap object can be materialized by loading from a heap root, 89 // Check if a heap object can be materialized by loading from a heap root,
93 // which is cheaper on some platforms than materializing the actual heap 90 // which is cheaper on some platforms than materializing the actual heap
94 // object constant. 91 // object constant.
95 bool IsMaterializableFromRoot(Handle<HeapObject> object, 92 bool IsMaterializableFromRoot(Handle<HeapObject> object,
96 Heap::RootListIndex* index_return); 93 Heap::RootListIndex* index_return);
97 94
98 enum CodeGenResult { kSuccess, kTooManyDeoptimizationBailouts }; 95 enum CodeGenResult { kSuccess, kTooManyDeoptimizationBailouts };
99 96
100 // Assemble instructions for the specified block. 97 // Assemble instructions for the specified block.
101 CodeGenResult AssembleBlock(const InstructionBlock* block); 98 CodeGenResult AssembleBlock(const InstructionBlock* block);
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
282 OutOfLineCode* ools_; 279 OutOfLineCode* ools_;
283 int osr_pc_offset_; 280 int osr_pc_offset_;
284 SourcePositionTableBuilder source_position_table_builder_; 281 SourcePositionTableBuilder source_position_table_builder_;
285 }; 282 };
286 283
287 } // namespace compiler 284 } // namespace compiler
288 } // namespace internal 285 } // namespace internal
289 } // namespace v8 286 } // namespace v8
290 287
291 #endif // V8_COMPILER_CODE_GENERATOR_H 288 #endif // V8_COMPILER_CODE_GENERATOR_H
OLDNEW
« no previous file with comments | « src/compiler/arm64/code-generator-arm64.cc ('k') | src/compiler/code-generator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698