Searched defs:key_reg (Results 1 - 4 of 4) sorted by relevance

/external/v8/src/arm64/
H A Dmacro-assembler-arm64.cc3749 Register key_reg,
3755 DCHECK(!AreAliased(value_reg, key_reg, elements_reg, scratch1));
3776 Operand::UntagSmiAndScale(key_reg, kDoubleSizeLog2));
3748 StoreNumberToDoubleElements(Register value_reg, Register key_reg, Register elements_reg, Register scratch1, FPRegister fpscratch1, Label* fail, int elements_offset) argument
/external/v8/src/crankshaft/x64/
H A Dlithium-codegen-x64.cc2753 Register key_reg = ToRegister(key); local
2757 __ SmiToInteger64(key_reg, key_reg);
2761 __ movsxlq(key_reg, key_reg);
3988 Register key_reg = ToRegister(key); local
3992 __ SmiToInteger64(key_reg, key_reg);
3996 __ movsxlq(key_reg, key_reg);
[all...]
/external/v8/src/mips/
H A Dmacro-assembler-mips.cc4730 Register key_reg,
4737 DCHECK(!AreAliased(value_reg, key_reg, elements_reg, scratch1, scratch2,
4769 Lsa(scratch1, scratch1, key_reg, kDoubleSizeLog2 - kSmiTagSize);
4729 StoreNumberToDoubleElements(Register value_reg, Register key_reg, Register elements_reg, Register scratch1, Register scratch2, Register scratch3, Label* fail, int elements_offset) argument
/external/v8/src/ppc/
H A Dmacro-assembler-ppc.cc2244 Register value_reg, Register key_reg, Register elements_reg,
2247 DCHECK(!AreAliased(value_reg, key_reg, elements_reg, scratch1));
2266 SmiToDoubleArrayOffset(scratch1, key_reg);
2192 STATIC_ASSERT(Map::kInstanceTypeOffset < 4096); STATIC_ASSERT(LAST_TYPE < 256); lbz(type_reg, FieldMemOperand(map, Map::kInstanceTypeOffset)); cmpi(type_reg, Operand(type)); } void MacroAssembler::CompareRoot(Register obj, Heap::RootListIndex index) { DCHECK(!obj.is(r0)); LoadRoot(r0, index); cmp(obj, r0); } void MacroAssembler::CheckFastElements(Register map, Register scratch, Label* fail) { STATIC_ASSERT(FAST_SMI_ELEMENTS == 0); STATIC_ASSERT(FAST_HOLEY_SMI_ELEMENTS == 1); STATIC_ASSERT(FAST_ELEMENTS == 2); STATIC_ASSERT(FAST_HOLEY_ELEMENTS == 3); lbz(scratch, FieldMemOperand(map, Map::kBitField2Offset)); STATIC_ASSERT(Map::kMaximumBitField2FastHoleyElementValue < 0x8000); cmpli(scratch, Operand(Map::kMaximumBitField2FastHoleyElementValue)); bgt(fail); } void MacroAssembler::CheckFastObjectElements(Register map, Register scratch, Label* fail) { STATIC_ASSERT(FAST_SMI_ELEMENTS == 0); STATIC_ASSERT(FAST_HOLEY_SMI_ELEMENTS == 1); STATIC_ASSERT(FAST_ELEMENTS == 2); STATIC_ASSERT(FAST_HOLEY_ELEMENTS == 3); lbz(scratch, FieldMemOperand(map, Map::kBitField2Offset)); cmpli(scratch, Operand(Map::kMaximumBitField2FastHoleySmiElementValue)); ble(fail); cmpli(scratch, Operand(Map::kMaximumBitField2FastHoleyElementValue)); bgt(fail); } void MacroAssembler::CheckFastSmiElements(Register map, Register scratch, Label* fail) { STATIC_ASSERT(FAST_SMI_ELEMENTS == 0); STATIC_ASSERT(FAST_HOLEY_SMI_ELEMENTS == 1); lbz(scratch, FieldMemOperand(map, Map::kBitField2Offset)); cmpli(scratch, Operand(Map::kMaximumBitField2FastHoleySmiElementValue)); bgt(fail); } void MacroAssembler::StoreNumberToDoubleElements( Register value_reg, Register key_reg, Register elements_reg, Register scratch1, DoubleRegister double_scratch, Label* fail, int elements_offset) { DCHECK(!AreAliased(value_reg, key_reg, elements_reg, scratch1)); Label smi_value, store; JumpIfSmi(value_reg, &smi_value); CheckMap(value_reg, scratch1, isolate()->factory()->heap_number_map(), fail, DONT_DO_SMI_CHECK); lfd(double_scratch, FieldMemOperand(value_reg, HeapNumber::kValueOffset)); CanonicalizeNaN(double_scratch); b(&store); bind(&smi_value); SmiToDouble(double_scratch, value_reg); bind(&store); SmiToDoubleArrayOffset(scratch1, key_reg); add(scratch1, elements_reg, scratch1); stfd(double_scratch, FieldMemOperand(scratch1, FixedDoubleArray::kHeaderSize - elements_offset)); } void MacroAssembler::AddAndCheckForOverflow(Register dst, Register left, Register right, Register overflow_dst, Register scratch) { DCHECK(!dst.is(overflow_dst)); DCHECK(!dst.is(scratch)); DCHECK(!overflow_dst.is(scratch)); DCHECK(!overflow_dst.is(left)); DCHECK(!overflow_dst.is(right)); bool left_is_right = left.is(right); RCBit xorRC = left_is_right ? SetRC : LeaveRC; if (dst.is(left)) { mr(scratch, left); add(dst, left, right); xor_(overflow_dst, dst, scratch, xorRC); if (!left_is_right) xor_(scratch, dst, right); } else if (dst.is(right)) { mr(scratch, right); add(dst, left, right); xor_(overflow_dst, dst, left, xorRC); if (!left_is_right) xor_(scratch, dst, scratch); } else { add(dst, left, right); xor_(overflow_dst, dst, left, xorRC); if (!left_is_right) xor_(scratch, dst, right); } if (!left_is_right) and_(overflow_dst, scratch, overflow_dst, SetRC); } void MacroAssembler::AddAndCheckForOverflow(Register dst, Register left, intptr_t right, Register overflow_dst, Register scratch) { Register original_left = left; DCHECK(!dst.is(overflow_dst)); DCHECK(!dst.is(scratch)); DCHECK(!overflow_dst.is(scratch)); DCHECK(!overflow_dst.is(left)); if (dst.is(left)) { original_left = overflow_dst; mr(original_left, left); } Add(dst, left, right, scratch); xor_(overflow_dst, dst, original_left); if (right >= 0) argument

Completed in 110 milliseconds