| OLD | NEW |
| 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 385 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 396 void FullCodeGenerator::EmitProfilingCounterDecrement(int delta) { | 396 void FullCodeGenerator::EmitProfilingCounterDecrement(int delta) { |
| 397 __ Mov(x2, Operand(profiling_counter_)); | 397 __ Mov(x2, Operand(profiling_counter_)); |
| 398 __ Ldr(x3, FieldMemOperand(x2, Cell::kValueOffset)); | 398 __ Ldr(x3, FieldMemOperand(x2, Cell::kValueOffset)); |
| 399 __ Subs(x3, x3, Smi::FromInt(delta)); | 399 __ Subs(x3, x3, Smi::FromInt(delta)); |
| 400 __ Str(x3, FieldMemOperand(x2, Cell::kValueOffset)); | 400 __ Str(x3, FieldMemOperand(x2, Cell::kValueOffset)); |
| 401 } | 401 } |
| 402 | 402 |
| 403 | 403 |
| 404 void FullCodeGenerator::EmitProfilingCounterReset() { | 404 void FullCodeGenerator::EmitProfilingCounterReset() { |
| 405 int reset_value = FLAG_interrupt_budget; | 405 int reset_value = FLAG_interrupt_budget; |
| 406 if (info_->is_debug()) { | |
| 407 // Detect debug break requests as soon as possible. | |
| 408 reset_value = FLAG_interrupt_budget >> 4; | |
| 409 } | |
| 410 __ Mov(x2, Operand(profiling_counter_)); | 406 __ Mov(x2, Operand(profiling_counter_)); |
| 411 __ Mov(x3, Smi::FromInt(reset_value)); | 407 __ Mov(x3, Smi::FromInt(reset_value)); |
| 412 __ Str(x3, FieldMemOperand(x2, Cell::kValueOffset)); | 408 __ Str(x3, FieldMemOperand(x2, Cell::kValueOffset)); |
| 413 } | 409 } |
| 414 | 410 |
| 415 | 411 |
| 416 void FullCodeGenerator::EmitBackEdgeBookkeeping(IterationStatement* stmt, | 412 void FullCodeGenerator::EmitBackEdgeBookkeeping(IterationStatement* stmt, |
| 417 Label* back_edge_target) { | 413 Label* back_edge_target) { |
| 418 DCHECK(jssp.Is(__ StackPointer())); | 414 DCHECK(jssp.Is(__ StackPointer())); |
| 419 Comment cmnt(masm_, "[ Back edge bookkeeping"); | 415 Comment cmnt(masm_, "[ Back edge bookkeeping"); |
| (...skipping 5033 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5453 } | 5449 } |
| 5454 | 5450 |
| 5455 return INTERRUPT; | 5451 return INTERRUPT; |
| 5456 } | 5452 } |
| 5457 | 5453 |
| 5458 | 5454 |
| 5459 } // namespace internal | 5455 } // namespace internal |
| 5460 } // namespace v8 | 5456 } // namespace v8 |
| 5461 | 5457 |
| 5462 #endif // V8_TARGET_ARCH_ARM64 | 5458 #endif // V8_TARGET_ARCH_ARM64 |
| OLD | NEW |