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

Side by Side Diff: src/crankshaft/arm/lithium-codegen-arm.cc

Issue 2451853002: Uniform and precise source positions for inlining (Closed)
Patch Set: fixed gcmole issue Created 4 years, 1 month 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/crankshaft/arm/lithium-codegen-arm.h" 5 #include "src/crankshaft/arm/lithium-codegen-arm.h"
6 6
7 #include "src/base/bits.h" 7 #include "src/base/bits.h"
8 #include "src/code-factory.h" 8 #include "src/code-factory.h"
9 #include "src/code-stubs.h" 9 #include "src/code-stubs.h"
10 #include "src/crankshaft/arm/lithium-gap-resolver-arm.h" 10 #include "src/crankshaft/arm/lithium-gap-resolver-arm.h"
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 246
247 247
248 bool LCodeGen::GenerateDeferredCode() { 248 bool LCodeGen::GenerateDeferredCode() {
249 DCHECK(is_generating()); 249 DCHECK(is_generating());
250 if (deferred_.length() > 0) { 250 if (deferred_.length() > 0) {
251 for (int i = 0; !is_aborted() && i < deferred_.length(); i++) { 251 for (int i = 0; !is_aborted() && i < deferred_.length(); i++) {
252 LDeferredCode* code = deferred_[i]; 252 LDeferredCode* code = deferred_[i];
253 253
254 HValue* value = 254 HValue* value =
255 instructions_->at(code->instruction_index())->hydrogen_value(); 255 instructions_->at(code->instruction_index())->hydrogen_value();
256 RecordAndWritePosition( 256 RecordAndWritePosition(value->position());
257 chunk()->graph()->SourcePositionToScriptPosition(value->position()));
258 257
259 Comment(";;; <@%d,#%d> " 258 Comment(";;; <@%d,#%d> "
260 "-------------------- Deferred %s --------------------", 259 "-------------------- Deferred %s --------------------",
261 code->instruction_index(), 260 code->instruction_index(),
262 code->instr()->hydrogen_value()->id(), 261 code->instr()->hydrogen_value()->id(),
263 code->instr()->Mnemonic()); 262 code->instr()->Mnemonic());
264 __ bind(code->entry()); 263 __ bind(code->entry());
265 if (NeedsDeferredFrame()) { 264 if (NeedsDeferredFrame()) {
266 Comment(";;; Build frame"); 265 Comment(";;; Build frame");
267 DCHECK(!frame_is_built_); 266 DCHECK(!frame_is_built_);
(...skipping 5115 matching lines...) Expand 10 before | Expand all | Expand 10 after
5383 __ ldr(result, FieldMemOperand(scratch, 5382 __ ldr(result, FieldMemOperand(scratch,
5384 FixedArray::kHeaderSize - kPointerSize)); 5383 FixedArray::kHeaderSize - kPointerSize));
5385 __ bind(deferred->exit()); 5384 __ bind(deferred->exit());
5386 __ bind(&done); 5385 __ bind(&done);
5387 } 5386 }
5388 5387
5389 #undef __ 5388 #undef __
5390 5389
5391 } // namespace internal 5390 } // namespace internal
5392 } // namespace v8 5391 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698