OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 <limits.h> // For LONG_MIN, LONG_MAX. | 5 #include <limits.h> // For LONG_MIN, LONG_MAX. |
6 | 6 |
7 #include "src/v8.h" | 7 #include "src/v8.h" |
8 | 8 |
9 #if V8_TARGET_ARCH_MIPS64 | 9 #if V8_TARGET_ARCH_MIPS64 |
10 | 10 |
(...skipping 4558 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4569 | 4569 |
4570 | 4570 |
4571 void MacroAssembler::GetBuiltinEntry(Register target, Builtins::JavaScript id) { | 4571 void MacroAssembler::GetBuiltinEntry(Register target, Builtins::JavaScript id) { |
4572 DCHECK(!target.is(a1)); | 4572 DCHECK(!target.is(a1)); |
4573 GetBuiltinFunction(a1, id); | 4573 GetBuiltinFunction(a1, id); |
4574 // Load the code entry point from the builtins object. | 4574 // Load the code entry point from the builtins object. |
4575 ld(target, FieldMemOperand(a1, JSFunction::kCodeEntryOffset)); | 4575 ld(target, FieldMemOperand(a1, JSFunction::kCodeEntryOffset)); |
4576 } | 4576 } |
4577 | 4577 |
4578 | 4578 |
| 4579 void MacroAssembler::BranchIfNotBuiltin(Register function, Register temp, |
| 4580 BuiltinFunctionId id, Label* miss) { |
| 4581 ld(temp, FieldMemOperand(function, JSFunction::kSharedFunctionInfoOffset)); |
| 4582 ld(temp, FieldMemOperand(temp, SharedFunctionInfo::kFunctionDataOffset)); |
| 4583 Branch(miss, ne, temp, Operand(Smi::FromInt(id))); |
| 4584 } |
| 4585 |
| 4586 |
4579 void MacroAssembler::SetCounter(StatsCounter* counter, int value, | 4587 void MacroAssembler::SetCounter(StatsCounter* counter, int value, |
4580 Register scratch1, Register scratch2) { | 4588 Register scratch1, Register scratch2) { |
4581 if (FLAG_native_code_counters && counter->Enabled()) { | 4589 if (FLAG_native_code_counters && counter->Enabled()) { |
4582 li(scratch1, Operand(value)); | 4590 li(scratch1, Operand(value)); |
4583 li(scratch2, Operand(ExternalReference(counter))); | 4591 li(scratch2, Operand(ExternalReference(counter))); |
4584 sd(scratch1, MemOperand(scratch2)); | 4592 sd(scratch1, MemOperand(scratch2)); |
4585 } | 4593 } |
4586 } | 4594 } |
4587 | 4595 |
4588 | 4596 |
(...skipping 1524 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6113 } | 6121 } |
6114 if (mag.shift > 0) sra(result, result, mag.shift); | 6122 if (mag.shift > 0) sra(result, result, mag.shift); |
6115 srl(at, dividend, 31); | 6123 srl(at, dividend, 31); |
6116 Addu(result, result, Operand(at)); | 6124 Addu(result, result, Operand(at)); |
6117 } | 6125 } |
6118 | 6126 |
6119 | 6127 |
6120 } } // namespace v8::internal | 6128 } } // namespace v8::internal |
6121 | 6129 |
6122 #endif // V8_TARGET_ARCH_MIPS64 | 6130 #endif // V8_TARGET_ARCH_MIPS64 |
OLD | NEW |