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 | |
1578 void MacroAssembler::MaybeDropFrames() { | 1569 void MacroAssembler::MaybeDropFrames() { |
1579 // Check whether we need to drop frames to restart a function on the stack. | 1570 // Check whether we need to drop frames to restart a function on the stack. |
1580 ExternalReference restart_fp = | 1571 ExternalReference restart_fp = |
1581 ExternalReference::debug_restart_fp_address(isolate()); | 1572 ExternalReference::debug_restart_fp_address(isolate()); |
1582 mov(r4, Operand(restart_fp)); | 1573 mov(r4, Operand(restart_fp)); |
1583 LoadWordArith(r4, MemOperand(r4)); | 1574 LoadWordArith(r4, MemOperand(r4)); |
1584 cmpi(r4, Operand::Zero()); | 1575 cmpi(r4, Operand::Zero()); |
1585 Jump(isolate()->builtins()->FrameDropperTrampoline(), RelocInfo::CODE_TARGET, | 1576 Jump(isolate()->builtins()->FrameDropperTrampoline(), RelocInfo::CODE_TARGET, |
1586 ne); | 1577 ne); |
1587 } | 1578 } |
(...skipping 2806 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4394 } | 4385 } |
4395 if (mag.shift > 0) srawi(result, result, mag.shift); | 4386 if (mag.shift > 0) srawi(result, result, mag.shift); |
4396 ExtractBit(r0, dividend, 31); | 4387 ExtractBit(r0, dividend, 31); |
4397 add(result, result, r0); | 4388 add(result, result, r0); |
4398 } | 4389 } |
4399 | 4390 |
4400 } // namespace internal | 4391 } // namespace internal |
4401 } // namespace v8 | 4392 } // namespace v8 |
4402 | 4393 |
4403 #endif // V8_TARGET_ARCH_PPC | 4394 #endif // V8_TARGET_ARCH_PPC |
OLD | NEW |