OLD | NEW |
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 #include <assert.h> // For assert | 5 #include <assert.h> // For assert |
6 #include <limits.h> // For LONG_MIN, LONG_MAX. | 6 #include <limits.h> // For LONG_MIN, LONG_MAX. |
7 | 7 |
8 #if V8_TARGET_ARCH_PPC | 8 #if V8_TARGET_ARCH_PPC |
9 | 9 |
10 #include "src/base/bits.h" | 10 #include "src/base/bits.h" |
(...skipping 1548 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1559 | 1559 |
1560 void MacroAssembler::IsObjectNameType(Register object, Register scratch, | 1560 void MacroAssembler::IsObjectNameType(Register object, Register scratch, |
1561 Label* fail) { | 1561 Label* fail) { |
1562 LoadP(scratch, FieldMemOperand(object, HeapObject::kMapOffset)); | 1562 LoadP(scratch, FieldMemOperand(object, HeapObject::kMapOffset)); |
1563 lbz(scratch, FieldMemOperand(scratch, Map::kInstanceTypeOffset)); | 1563 lbz(scratch, FieldMemOperand(scratch, Map::kInstanceTypeOffset)); |
1564 cmpi(scratch, Operand(LAST_NAME_TYPE)); | 1564 cmpi(scratch, Operand(LAST_NAME_TYPE)); |
1565 bgt(fail); | 1565 bgt(fail); |
1566 } | 1566 } |
1567 | 1567 |
1568 | 1568 |
| 1569 void MacroAssembler::DebugBreak() { |
| 1570 li(r3, Operand::Zero()); |
| 1571 mov(r4, |
| 1572 Operand(ExternalReference(Runtime::kHandleDebuggerStatement, isolate()))); |
| 1573 CEntryStub ces(isolate(), 1); |
| 1574 DCHECK(AllowThisStubCall(&ces)); |
| 1575 Call(ces.GetCode(), RelocInfo::DEBUGGER_STATEMENT); |
| 1576 } |
| 1577 |
1569 void MacroAssembler::MaybeDropFrames() { | 1578 void MacroAssembler::MaybeDropFrames() { |
1570 // Check whether we need to drop frames to restart a function on the stack. | 1579 // Check whether we need to drop frames to restart a function on the stack. |
1571 ExternalReference restart_fp = | 1580 ExternalReference restart_fp = |
1572 ExternalReference::debug_restart_fp_address(isolate()); | 1581 ExternalReference::debug_restart_fp_address(isolate()); |
1573 mov(r4, Operand(restart_fp)); | 1582 mov(r4, Operand(restart_fp)); |
1574 LoadWordArith(r4, MemOperand(r4)); | 1583 LoadWordArith(r4, MemOperand(r4)); |
1575 cmpi(r4, Operand::Zero()); | 1584 cmpi(r4, Operand::Zero()); |
1576 Jump(isolate()->builtins()->FrameDropperTrampoline(), RelocInfo::CODE_TARGET, | 1585 Jump(isolate()->builtins()->FrameDropperTrampoline(), RelocInfo::CODE_TARGET, |
1577 ne); | 1586 ne); |
1578 } | 1587 } |
(...skipping 2806 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4385 } | 4394 } |
4386 if (mag.shift > 0) srawi(result, result, mag.shift); | 4395 if (mag.shift > 0) srawi(result, result, mag.shift); |
4387 ExtractBit(r0, dividend, 31); | 4396 ExtractBit(r0, dividend, 31); |
4388 add(result, result, r0); | 4397 add(result, result, r0); |
4389 } | 4398 } |
4390 | 4399 |
4391 } // namespace internal | 4400 } // namespace internal |
4392 } // namespace v8 | 4401 } // namespace v8 |
4393 | 4402 |
4394 #endif // V8_TARGET_ARCH_PPC | 4403 #endif // V8_TARGET_ARCH_PPC |
OLD | NEW |