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 1535 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1546 | 1546 |
1547 void MacroAssembler::IsObjectNameType(Register object, Register scratch, | 1547 void MacroAssembler::IsObjectNameType(Register object, Register scratch, |
1548 Label* fail) { | 1548 Label* fail) { |
1549 LoadP(scratch, FieldMemOperand(object, HeapObject::kMapOffset)); | 1549 LoadP(scratch, FieldMemOperand(object, HeapObject::kMapOffset)); |
1550 lbz(scratch, FieldMemOperand(scratch, Map::kInstanceTypeOffset)); | 1550 lbz(scratch, FieldMemOperand(scratch, Map::kInstanceTypeOffset)); |
1551 cmpi(scratch, Operand(LAST_NAME_TYPE)); | 1551 cmpi(scratch, Operand(LAST_NAME_TYPE)); |
1552 bgt(fail); | 1552 bgt(fail); |
1553 } | 1553 } |
1554 | 1554 |
1555 | 1555 |
1556 void MacroAssembler::DebugBreak() { | |
1557 li(r3, Operand::Zero()); | |
1558 mov(r4, | |
1559 Operand(ExternalReference(Runtime::kHandleDebuggerStatement, isolate()))); | |
1560 CEntryStub ces(isolate(), 1); | |
1561 DCHECK(AllowThisStubCall(&ces)); | |
1562 Call(ces.GetCode(), RelocInfo::DEBUGGER_STATEMENT); | |
1563 } | |
1564 | |
1565 void MacroAssembler::MaybeDropFrames() { | 1556 void MacroAssembler::MaybeDropFrames() { |
1566 // Check whether we need to drop frames to restart a function on the stack. | 1557 // Check whether we need to drop frames to restart a function on the stack. |
1567 ExternalReference restart_fp = | 1558 ExternalReference restart_fp = |
1568 ExternalReference::debug_restart_fp_address(isolate()); | 1559 ExternalReference::debug_restart_fp_address(isolate()); |
1569 mov(r4, Operand(restart_fp)); | 1560 mov(r4, Operand(restart_fp)); |
1570 LoadWordArith(r4, MemOperand(r4)); | 1561 LoadWordArith(r4, MemOperand(r4)); |
1571 cmpi(r4, Operand::Zero()); | 1562 cmpi(r4, Operand::Zero()); |
1572 Jump(isolate()->builtins()->FrameDropperTrampoline(), RelocInfo::CODE_TARGET, | 1563 Jump(isolate()->builtins()->FrameDropperTrampoline(), RelocInfo::CODE_TARGET, |
1573 ne); | 1564 ne); |
1574 } | 1565 } |
(...skipping 2779 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4354 } | 4345 } |
4355 if (mag.shift > 0) srawi(result, result, mag.shift); | 4346 if (mag.shift > 0) srawi(result, result, mag.shift); |
4356 ExtractBit(r0, dividend, 31); | 4347 ExtractBit(r0, dividend, 31); |
4357 add(result, result, r0); | 4348 add(result, result, r0); |
4358 } | 4349 } |
4359 | 4350 |
4360 } // namespace internal | 4351 } // namespace internal |
4361 } // namespace v8 | 4352 } // namespace v8 |
4362 | 4353 |
4363 #endif // V8_TARGET_ARCH_PPC | 4354 #endif // V8_TARGET_ARCH_PPC |
OLD | NEW |