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

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

Issue 967323002: Refactor BreakLocationIterator. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: static_cast instead Created 5 years, 9 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/arm64/debug-arm64.cc ('k') | src/assembler.h » ('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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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/v8.h" 5 #include "src/v8.h"
6 6
7 #if V8_TARGET_ARCH_ARM64 7 #if V8_TARGET_ARCH_ARM64
8 8
9 #include "src/code-factory.h" 9 #include "src/code-factory.h"
10 #include "src/code-stubs.h" 10 #include "src/code-stubs.h"
(...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after
449 __ B(pl, &ok); 449 __ B(pl, &ok);
450 __ Push(x0); 450 __ Push(x0);
451 __ Call(isolate()->builtins()->InterruptCheck(), 451 __ Call(isolate()->builtins()->InterruptCheck(),
452 RelocInfo::CODE_TARGET); 452 RelocInfo::CODE_TARGET);
453 __ Pop(x0); 453 __ Pop(x0);
454 EmitProfilingCounterReset(); 454 EmitProfilingCounterReset();
455 __ Bind(&ok); 455 __ Bind(&ok);
456 456
457 // Make sure that the constant pool is not emitted inside of the return 457 // Make sure that the constant pool is not emitted inside of the return
458 // sequence. This sequence can get patched when the debugger is used. See 458 // sequence. This sequence can get patched when the debugger is used. See
459 // debug-arm64.cc:BreakLocationIterator::SetDebugBreakAtReturn(). 459 // debug-arm64.cc:BreakLocation::SetDebugBreakAtReturn().
460 { 460 {
461 InstructionAccurateScope scope(masm_, 461 InstructionAccurateScope scope(masm_,
462 Assembler::kJSRetSequenceInstructions); 462 Assembler::kJSReturnSequenceInstructions);
463 CodeGenerator::RecordPositions(masm_, function()->end_position() - 1); 463 CodeGenerator::RecordPositions(masm_, function()->end_position() - 1);
464 __ RecordJSReturn(); 464 __ RecordJSReturn();
465 // This code is generated using Assembler methods rather than Macro 465 // This code is generated using Assembler methods rather than Macro
466 // Assembler methods because it will be patched later on, and so the size 466 // Assembler methods because it will be patched later on, and so the size
467 // of the generated code must be consistent. 467 // of the generated code must be consistent.
468 const Register& current_sp = __ StackPointer(); 468 const Register& current_sp = __ StackPointer();
469 // Nothing ensures 16 bytes alignment here. 469 // Nothing ensures 16 bytes alignment here.
470 DCHECK(!current_sp.Is(csp)); 470 DCHECK(!current_sp.Is(csp));
471 __ mov(current_sp, fp); 471 __ mov(current_sp, fp);
472 int no_frame_start = masm_->pc_offset(); 472 int no_frame_start = masm_->pc_offset();
(...skipping 5007 matching lines...) Expand 10 before | Expand all | Expand 10 after
5480 return previous_; 5480 return previous_;
5481 } 5481 }
5482 5482
5483 5483
5484 #undef __ 5484 #undef __
5485 5485
5486 5486
5487 } } // namespace v8::internal 5487 } } // namespace v8::internal
5488 5488
5489 #endif // V8_TARGET_ARCH_ARM64 5489 #endif // V8_TARGET_ARCH_ARM64
OLDNEW
« no previous file with comments | « src/arm64/debug-arm64.cc ('k') | src/assembler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698