Lines Matching refs:Register

20 inline MemOperand FieldMemOperand(Register object, int offset) {
26 const Register cp = { kRegister_r7_Code }; // JavaScript context pointer.
27 const Register pp = { kRegister_r8_Code }; // Constant pool pointer.
28 const Register kRootRegister = { kRegister_r10_Code }; // Roots array pointer.
48 Register GetRegisterThatIsNotOneOf(Register reg1,
49 Register reg2 = no_reg,
50 Register reg3 = no_reg,
51 Register reg4 = no_reg,
52 Register reg5 = no_reg,
53 Register reg6 = no_reg);
57 bool AreAliased(Register reg1,
58 Register reg2,
59 Register reg3 = no_reg,
60 Register reg4 = no_reg,
61 Register reg5 = no_reg,
62 Register reg6 = no_reg,
63 Register reg7 = no_reg,
64 Register reg8 = no_reg);
86 static int CallSize(Register target, Condition cond = al);
97 void Jump(Register target, Condition cond = al);
100 void Call(Register target, Condition cond = al);
123 void Swap(Register reg1,
124 Register reg2,
125 Register scratch = no_reg,
128 void Mls(Register dst, Register src1, Register src2, Register srcA,
130 void And(Register dst, Register src1, const Operand& src2,
132 void Ubfx(Register dst, Register src, int lsb, int width,
134 void Sbfx(Register dst, Register src, int lsb, int width,
139 void Bfi(Register dst,
140 Register src,
141 Register scratch,
145 void Bfc(Register dst, Register src, int lsb, int width, Condition cond = al);
146 void Usat(Register dst, int satpos, const Operand& src,
150 void Push(Register src) { push(src); }
151 void Pop(Register dst) { pop(dst); }
153 // Register move. May do nothing if the registers are identical.
154 void Move(Register dst, Handle<Object> value);
155 void Move(Register dst, Register src, Condition cond = al);
156 void Move(Register dst, const Operand& src, SBit sbit = LeaveCC,
164 void Load(Register dst, const MemOperand& src, Representation r);
165 void Store(Register src, const MemOperand& dst, Representation r);
168 void LoadRoot(Register destination,
172 void StoreRoot(Register source,
179 void IncrementalMarkingRecordWriteHelper(Register object,
180 Register value,
181 Register address);
191 void RememberedSetHelper(Register object, // Used for debug code.
192 Register addr,
193 Register scratch,
197 void CheckPageFlag(Register object,
198 Register scratch,
204 Register scratch,
209 void JumpIfNotInNewSpace(Register object,
210 Register scratch,
217 void JumpIfInNewSpace(Register object,
218 Register scratch,
224 void HasColor(Register object,
225 Register scratch0,
226 Register scratch1,
231 void JumpIfBlack(Register object,
232 Register scratch0,
233 Register scratch1,
241 void EnsureNotWhite(Register object,
242 Register scratch1,
243 Register scratch2,
244 Register scratch3,
249 void JumpIfDataObject(Register value,
250 Register scratch,
259 Register object,
261 Register value,
262 Register scratch,
273 Register context,
275 Register value,
276 Register scratch,
295 Register object,
296 Register map,
297 Register dst,
305 Register object,
306 Register address,
307 Register value,
320 void Push(Register src1, Register src2, Condition cond = al) {
331 void Push(Register src1, Register src2, Register src3, Condition cond = al) {
349 void Push(Register src1,
350 Register src2,
351 Register src3,
352 Register src4,
382 void Pop(Register src1, Register src2, Condition cond = al) {
393 void Pop(Register src1, Register src2, Register src3, Condition cond = al) {
411 void Pop(Register src1,
412 Register src2,
413 Register src3,
414 Register src4,
446 void PushFixedFrame(Register marker_reg = no_reg);
447 void PopFixedFrame(Register marker_reg = no_reg);
455 void StoreToSafepointRegisterSlot(Register src, Register dst);
458 void LoadFromSafepointRegisterSlot(Register dst, Register src);
461 void Ldrd(Register dst1,
462 Register dst2,
467 void Strd(Register src1,
468 Register src2,
479 void VFPEnsureFPSCRState(Register scratch);
501 const Register fpscr_flags,
505 const Register fpscr_flags,
510 const Register scratch = no_reg);
512 void VmovHigh(Register dst, DwVfpRegister src);
513 void VmovHigh(DwVfpRegister dst, Register src);
514 void VmovLow(Register dst, DwVfpRegister src);
515 void VmovLow(DwVfpRegister dst, Register src);
520 void LoadNumber(Register object,
522 Register heap_number_map,
523 Register scratch,
531 void LoadNumberAsInt32Double(Register object,
533 Register heap_number_map,
534 Register scratch,
543 void LoadNumberAsInt32(Register object,
544 Register dst,
545 Register heap_number_map,
546 Register scratch,
563 Register argument_count,
569 void LoadContext(Register dst, int context_chain_length);
578 Register map_in_out,
579 Register scratch,
582 void LoadGlobalFunction(int index, Register function);
586 void LoadGlobalFunctionInitialMap(Register function,
587 Register map,
588 Register scratch);
600 void InvokeCode(Register code,
608 void InvokeFunction(Register function,
613 void InvokeFunction(Register function,
625 void IsObjectJSObjectType(Register heap_object,
626 Register map,
627 Register scratch,
630 void IsInstanceJSObjectType(Register map,
631 Register scratch,
634 void IsObjectJSStringType(Register object,
635 Register scratch,
638 void IsObjectNameType(Register object,
639 Register scratch,
658 void Throw(Register value);
662 void ThrowUncatchable(Register value);
670 void CheckAccessGlobalProxy(Register holder_reg,
671 Register scratch,
674 void GetNumberHash(Register t0, Register scratch);
677 Register elements,
678 Register key,
679 Register result,
680 Register t0,
681 Register t1,
682 Register t2);
731 Register result,
732 Register scratch1,
733 Register scratch2,
737 void Allocate(Register object_size,
738 Register result,
739 Register scratch1,
740 Register scratch2,
748 void UndoAllocationInNewSpace(Register object, Register scratch);
751 void AllocateTwoByteString(Register result,
752 Register length,
753 Register scratch1,
754 Register scratch2,
755 Register scratch3,
757 void AllocateOneByteString(Register result, Register length,
758 Register scratch1, Register scratch2,
759 Register scratch3, Label* gc_required);
760 void AllocateTwoByteConsString(Register result,
761 Register length,
762 Register scratch1,
763 Register scratch2,
765 void AllocateOneByteConsString(Register result, Register length,
766 Register scratch1, Register scratch2,
768 void AllocateTwoByteSlicedString(Register result,
769 Register length,
770 Register scratch1,
771 Register scratch2,
773 void AllocateOneByteSlicedString(Register result, Register length,
774 Register scratch1, Register scratch2,
780 void AllocateHeapNumber(Register result,
781 Register scratch1,
782 Register scratch2,
783 Register heap_number_map,
787 void AllocateHeapNumberWithValue(Register result,
789 Register scratch1,
790 Register scratch2,
791 Register heap_number_map,
795 void CopyFields(Register dst,
796 Register src,
803 void CopyBytes(Register src,
804 Register dst,
805 Register length,
806 Register scratch);
811 void InitializeFieldsWithFiller(Register start_offset,
812 Register end_offset,
813 Register filler);
823 void TryGetFunctionPrototype(Register function,
824 Register result,
825 Register scratch,
837 void CompareObjectType(Register heap_object,
838 Register map,
839 Register type_reg,
845 void CheckObjectTypeRange(Register heap_object,
846 Register map,
854 void CompareInstanceType(Register map,
855 Register type_reg,
861 void CheckFastElements(Register map,
862 Register scratch,
867 void CheckFastObjectElements(Register map,
868 Register scratch,
873 void CheckFastSmiElements(Register map,
874 Register scratch,
880 void StoreNumberToDoubleElements(Register value_reg,
881 Register key_reg,
882 Register elements_reg,
883 Register scratch1,
892 void CompareMap(Register obj,
893 Register scratch,
899 void CompareMap(Register obj_map,
907 void CheckMap(Register obj,
908 Register scratch,
914 void CheckMap(Register obj,
915 Register scratch,
924 void DispatchMap(Register obj,
925 Register scratch,
933 void CompareRoot(Register obj, Heap::RootListIndex index);
941 Condition IsObjectStringType(Register obj,
942 Register type,
953 // Register use:
956 void IndexFromHash(Register hash, Register index);
959 void GetLeastBitsFromSmi(Register dst, Register src, int num_least_bits);
960 void GetLeastBitsFromInt32(Register dst, Register src, int mun_least_bits);
964 void SmiToDouble(LowDwVfpRegister value, Register smi);
973 void TryDoubleToInt32Exact(Register result,
981 void TryInt32Floor(Register result,
983 Register input_high,
994 void TryInlineTruncateDoubleToI(Register result,
1001 void TruncateDoubleToI(Register result, DwVfpRegister double_input);
1006 void TruncateHeapNumberToI(Register result, Register object);
1012 void TruncateNumberToI(Register object,
1013 Register result,
1014 Register heap_number_map,
1015 Register scratch1,
1020 void CheckFor32DRegs(Register scratch);
1024 void SaveFPRegs(Register location, Register scratch);
1028 void RestoreFPRegs(Register location, Register scratch);
1088 Register scratch);
1090 Register scratch);
1106 void CallCFunction(Register function, int num_arguments);
1110 void CallCFunction(Register function,
1121 void CallApiFunctionAndReturn(Register function_address,
1138 void GetBuiltinEntry(Register target, Builtins::JavaScript id);
1141 void GetBuiltinFunction(Register target, Builtins::JavaScript id);
1151 void TruncatingDiv(Register result, Register dividend, int32_t divisor);
1157 Register scratch1, Register scratch2);
1159 Register scratch1, Register scratch2);
1161 Register scratch1, Register scratch2);
1170 void AssertFastElements(Register elements);
1203 void JumpIfNotPowerOfTwoOrZero(Register reg,
1204 Register scratch,
1212 void JumpIfNotPowerOfTwoOrZeroAndNeg(Register reg,
1213 Register scratch,
1220 void SmiTag(Register reg, SBit s = LeaveCC) {
1223 void SmiTag(Register dst, Register src, SBit s = LeaveCC) {
1230 void TrySmiTag(Register reg, Label* not_a_smi) {
1233 void TrySmiTag(Register reg, Register src, Label* not_a_smi) {
1240 void SmiUntag(Register reg, SBit s = LeaveCC) {
1243 void SmiUntag(Register dst, Register src, SBit s = LeaveCC) {
1249 void UntagAndJumpIfSmi(Register dst, Register src, Label* smi_case);
1253 void UntagAndJumpIfNotSmi(Register dst, Register src, Label* non_smi_case);
1256 inline void SmiTst(Register value) {
1259 inline void NonNegativeSmiTst(Register value) {
1263 inline void JumpIfSmi(Register value, Label* smi_label) {
1268 inline void JumpIfNotSmi(Register value, Label* not_smi_label) {
1273 void JumpIfNotBothSmi(Register reg1, Register reg2, Label* on_not_both_smi);
1275 void JumpIfEitherSmi(Register reg1, Register reg2, Label* on_either_smi);
1278 void AssertNotSmi(Register object);
1279 void AssertSmi(Register object);
1282 void AssertString(Register object);
1285 void AssertName(Register object);
1289 void AssertUndefinedOrAllocationSite(Register object, Register scratch);
1293 void AssertIsRoot(Register reg, Heap::RootListIndex index);
1298 void JumpIfNotHeapNumber(Register object,
1299 Register heap_number_map,
1300 Register scratch,
1311 void LookupNumberStringCache(Register object,
1312 Register result,
1313 Register scratch1,
1314 Register scratch2,
1315 Register scratch3,
1320 void JumpIfNonSmisNotBothSequentialOneByteStrings(Register object1,
1321 Register object2,
1322 Register scratch1,
1323 Register scratch2,
1328 void JumpIfNotBothSequentialOneByteStrings(Register first, Register second,
1329 Register scratch1,
1330 Register scratch2,
1336 Register first_object_instance_type, Register second_object_instance_type,
1337 Register scratch1, Register scratch2, Label* failure);
1341 void JumpIfInstanceTypeIsNotSequentialOneByte(Register type, Register scratch,
1344 void JumpIfNotUniqueNameInstanceType(Register reg, Label* not_unique_name);
1346 void EmitSeqStringSetCharCheck(Register string,
1347 Register index,
1348 Register value,
1356 void GetRelocatedValueLocation(Register ldr_location, Register result,
1357 Register scratch);
1360 void ClampUint8(Register output_reg, Register input_reg);
1362 void ClampDoubleToUint8(Register result_reg,
1367 void LoadInstanceDescriptors(Register map, Register descriptors);
1368 void EnumLength(Register dst, Register map);
1369 void NumberOfOwnDescriptors(Register dst, Register map);
1372 void DecodeField(Register dst, Register src) {
1377 void DecodeField(Register reg) {
1382 void DecodeFieldToSmi(Register dst, Register src) {
1399 void DecodeFieldToSmi(Register reg) {
1410 void CheckEnumCache(Register null_value, Label* call_runtime);
1418 void TestJSArrayForAllocationMemento(Register receiver_reg,
1419 Register scratch_reg,
1422 void JumpIfJSArrayHasAllocationMemento(Register receiver_reg,
1423 Register scratch_reg,
1433 void JumpIfDictionaryInPrototypeChain(Register object, Register scratch0,
1434 Register scratch1, Label* found);
1437 void CallCFunctionHelper(Register function,
1447 Register code_reg,
1453 void InitializeNewString(Register string,
1454 Register length,
1456 Register scratch1,
1457 Register scratch2);
1460 void InNewSpace(Register object,
1461 Register scratch,
1468 inline void GetMarkBits(Register addr_reg,
1469 Register bitmap_reg,
1470 Register mask_reg);
1478 MemOperand SafepointRegisterSlot(Register reg);
1479 MemOperand SafepointRegistersAndDoublesSlot(Register reg);
1601 inline MemOperand ContextOperand(Register context, int index) {