Lines Matching refs:Register

19 inline MemOperand FieldMemOperand(Register object, int offset) {
25 const Register cp = { kRegister_r7_Code }; // JavaScript context pointer.
26 const Register pp = { kRegister_r8_Code }; // Constant pool pointer.
27 const Register kRootRegister = { kRegister_r10_Code }; // Roots array pointer.
47 Register GetRegisterThatIsNotOneOf(Register reg1,
48 Register reg2 = no_reg,
49 Register reg3 = no_reg,
50 Register reg4 = no_reg,
51 Register reg5 = no_reg,
52 Register reg6 = no_reg);
56 bool AreAliased(Register reg1,
57 Register reg2,
58 Register reg3 = no_reg,
59 Register reg4 = no_reg,
60 Register reg5 = no_reg,
61 Register reg6 = no_reg);
80 void Jump(Register target, Condition cond = al);
83 static int CallSize(Register target, Condition cond = al);
84 void Call(Register target, Condition cond = al);
115 void Swap(Register reg1,
116 Register reg2,
117 Register scratch = no_reg,
120 void Mls(Register dst, Register src1, Register src2, Register srcA,
122 void And(Register dst, Register src1, const Operand& src2,
124 void Ubfx(Register dst, Register src, int lsb, int width,
126 void Sbfx(Register dst, Register src, int lsb, int width,
131 void Bfi(Register dst,
132 Register src,
133 Register scratch,
137 void Bfc(Register dst, Register src, int lsb, int width, Condition cond = al);
138 void Usat(Register dst, int satpos, const Operand& src,
142 void Push(Register src) { push(src); }
143 void Pop(Register dst) { pop(dst); }
145 // Register move. May do nothing if the registers are identical.
146 void Move(Register dst, Handle<Object> value);
147 void Move(Register dst, Register src, Condition cond = al);
150 void Load(Register dst, const MemOperand& src, Representation r);
151 void Store(Register src, const MemOperand& dst, Representation r);
154 void LoadRoot(Register destination,
158 void StoreRoot(Register source,
165 void IncrementalMarkingRecordWriteHelper(Register object,
166 Register value,
167 Register address);
177 void RememberedSetHelper(Register object, // Used for debug code.
178 Register addr,
179 Register scratch,
183 void CheckPageFlag(Register object,
184 Register scratch,
190 Register scratch,
195 void JumpIfNotInNewSpace(Register object,
196 Register scratch,
203 void JumpIfInNewSpace(Register object,
204 Register scratch,
210 void HasColor(Register object,
211 Register scratch0,
212 Register scratch1,
217 void JumpIfBlack(Register object,
218 Register scratch0,
219 Register scratch1,
227 void EnsureNotWhite(Register object,
228 Register scratch1,
229 Register scratch2,
230 Register scratch3,
235 void JumpIfDataObject(Register value,
236 Register scratch,
245 Register object,
247 Register value,
248 Register scratch,
259 Register context,
261 Register value,
262 Register scratch,
281 Register object,
282 Register map,
283 Register dst,
291 Register object,
292 Register address,
293 Register value,
306 void Push(Register src1, Register src2, Condition cond = al) {
317 void Push(Register src1, Register src2, Register src3, Condition cond = al) {
335 void Push(Register src1,
336 Register src2,
337 Register src3,
338 Register src4,
368 void Pop(Register src1, Register src2, Condition cond = al) {
379 void Pop(Register src1, Register src2, Register src3, Condition cond = al) {
397 void Pop(Register src1,
398 Register src2,
399 Register src3,
400 Register src4,
432 void PushFixedFrame(Register marker_reg = no_reg);
433 void PopFixedFrame(Register marker_reg = no_reg);
443 void StoreToSafepointRegisterSlot(Register src, Register dst);
444 void StoreToSafepointRegistersAndDoublesSlot(Register src, Register dst);
447 void LoadFromSafepointRegisterSlot(Register dst, Register src);
450 void Ldrd(Register dst1,
451 Register dst2,
456 void Strd(Register src1,
457 Register src2,
468 void VFPEnsureFPSCRState(Register scratch);
490 const Register fpscr_flags,
494 const Register fpscr_flags,
499 const Register scratch = no_reg);
501 void VmovHigh(Register dst, DwVfpRegister src);
502 void VmovHigh(DwVfpRegister dst, Register src);
503 void VmovLow(Register dst, DwVfpRegister src);
504 void VmovLow(DwVfpRegister dst, Register src);
509 void LoadNumber(Register object,
511 Register heap_number_map,
512 Register scratch,
520 void LoadNumberAsInt32Double(Register object,
522 Register heap_number_map,
523 Register scratch,
532 void LoadNumberAsInt32(Register object,
533 Register dst,
534 Register heap_number_map,
535 Register scratch,
552 Register argument_count,
558 void LoadContext(Register dst, int context_chain_length);
567 Register map_in_out,
568 Register scratch,
571 void LoadGlobalFunction(int index, Register function);
575 void LoadGlobalFunctionInitialMap(Register function,
576 Register map,
577 Register scratch);
589 void InvokeCode(Register code,
597 void InvokeFunction(Register function,
602 void InvokeFunction(Register function,
614 void IsObjectJSObjectType(Register heap_object,
615 Register map,
616 Register scratch,
619 void IsInstanceJSObjectType(Register map,
620 Register scratch,
623 void IsObjectJSStringType(Register object,
624 Register scratch,
627 void IsObjectNameType(Register object,
628 Register scratch,
647 void Throw(Register value);
651 void ThrowUncatchable(Register value);
659 void CheckAccessGlobalProxy(Register holder_reg,
660 Register scratch,
663 void GetNumberHash(Register t0, Register scratch);
666 Register elements,
667 Register key,
668 Register result,
669 Register t0,
670 Register t1,
671 Register t2);
720 Register result,
721 Register scratch1,
722 Register scratch2,
726 void Allocate(Register object_size,
727 Register result,
728 Register scratch1,
729 Register scratch2,
737 void UndoAllocationInNewSpace(Register object, Register scratch);
740 void AllocateTwoByteString(Register result,
741 Register length,
742 Register scratch1,
743 Register scratch2,
744 Register scratch3,
746 void AllocateAsciiString(Register result,
747 Register length,
748 Register scratch1,
749 Register scratch2,
750 Register scratch3,
752 void AllocateTwoByteConsString(Register result,
753 Register length,
754 Register scratch1,
755 Register scratch2,
757 void AllocateAsciiConsString(Register result,
758 Register length,
759 Register scratch1,
760 Register scratch2,
762 void AllocateTwoByteSlicedString(Register result,
763 Register length,
764 Register scratch1,
765 Register scratch2,
767 void AllocateAsciiSlicedString(Register result,
768 Register length,
769 Register scratch1,
770 Register scratch2,
776 void AllocateHeapNumber(Register result,
777 Register scratch1,
778 Register scratch2,
779 Register heap_number_map,
782 void AllocateHeapNumberWithValue(Register result,
784 Register scratch1,
785 Register scratch2,
786 Register heap_number_map,
790 void CopyFields(Register dst,
791 Register src,
798 void CopyBytes(Register src,
799 Register dst,
800 Register length,
801 Register scratch);
806 void InitializeFieldsWithFiller(Register start_offset,
807 Register end_offset,
808 Register filler);
818 void TryGetFunctionPrototype(Register function,
819 Register result,
820 Register scratch,
832 void CompareObjectType(Register heap_object,
833 Register map,
834 Register type_reg,
840 void CheckObjectTypeRange(Register heap_object,
841 Register map,
849 void CompareInstanceType(Register map,
850 Register type_reg,
856 void CheckFastElements(Register map,
857 Register scratch,
862 void CheckFastObjectElements(Register map,
863 Register scratch,
868 void CheckFastSmiElements(Register map,
869 Register scratch,
875 void StoreNumberToDoubleElements(Register value_reg,
876 Register key_reg,
877 Register elements_reg,
878 Register scratch1,
887 void CompareMap(Register obj,
888 Register scratch,
894 void CompareMap(Register obj_map,
902 void CheckMap(Register obj,
903 Register scratch,
909 void CheckMap(Register obj,
910 Register scratch,
919 void DispatchMap(Register obj,
920 Register scratch,
928 void CompareRoot(Register obj, Heap::RootListIndex index);
936 Condition IsObjectStringType(Register obj,
937 Register type,
948 // Register use:
951 void IndexFromHash(Register hash, Register index);
954 void GetLeastBitsFromSmi(Register dst, Register src, int num_least_bits);
955 void GetLeastBitsFromInt32(Register dst, Register src, int mun_least_bits);
959 void SmiToDouble(LowDwVfpRegister value, Register smi);
968 void TryDoubleToInt32Exact(Register result,
976 void TryInt32Floor(Register result,
978 Register input_high,
989 void TryInlineTruncateDoubleToI(Register result,
996 void TruncateDoubleToI(Register result, DwVfpRegister double_input);
1001 void TruncateHeapNumberToI(Register result, Register object);
1007 void TruncateNumberToI(Register object,
1008 Register result,
1009 Register heap_number_map,
1010 Register scratch1,
1015 void CheckFor32DRegs(Register scratch);
1019 void SaveFPRegs(Register location, Register scratch);
1023 void RestoreFPRegs(Register location, Register scratch);
1083 Register scratch);
1085 Register scratch);
1101 void CallCFunction(Register function, int num_arguments);
1105 void CallCFunction(Register function,
1116 void CallApiFunctionAndReturn(Register function_address,
1133 void GetBuiltinEntry(Register target, Builtins::JavaScript id);
1136 void GetBuiltinFunction(Register target, Builtins::JavaScript id);
1146 void TruncatingDiv(Register result, Register dividend, int32_t divisor);
1152 Register scratch1, Register scratch2);
1154 Register scratch1, Register scratch2);
1156 Register scratch1, Register scratch2);
1165 void AssertFastElements(Register elements);
1198 void JumpIfNotPowerOfTwoOrZero(Register reg,
1199 Register scratch,
1207 void JumpIfNotPowerOfTwoOrZeroAndNeg(Register reg,
1208 Register scratch,
1215 void SmiTag(Register reg, SBit s = LeaveCC) {
1218 void SmiTag(Register dst, Register src, SBit s = LeaveCC) {
1225 void TrySmiTag(Register reg, Label* not_a_smi) {
1228 void TrySmiTag(Register reg, Register src, Label* not_a_smi) {
1235 void SmiUntag(Register reg, SBit s = LeaveCC) {
1238 void SmiUntag(Register dst, Register src, SBit s = LeaveCC) {
1244 void UntagAndJumpIfSmi(Register dst, Register src, Label* smi_case);
1248 void UntagAndJumpIfNotSmi(Register dst, Register src, Label* non_smi_case);
1251 inline void SmiTst(Register value) {
1254 inline void NonNegativeSmiTst(Register value) {
1258 inline void JumpIfSmi(Register value, Label* smi_label) {
1263 inline void JumpIfNotSmi(Register value, Label* not_smi_label) {
1268 void JumpIfNotBothSmi(Register reg1, Register reg2, Label* on_not_both_smi);
1270 void JumpIfEitherSmi(Register reg1, Register reg2, Label* on_either_smi);
1273 void AssertNotSmi(Register object);
1274 void AssertSmi(Register object);
1277 void AssertString(Register object);
1280 void AssertName(Register object);
1284 void AssertUndefinedOrAllocationSite(Register object, Register scratch);
1288 void AssertIsRoot(Register reg, Heap::RootListIndex index);
1293 void JumpIfNotHeapNumber(Register object,
1294 Register heap_number_map,
1295 Register scratch,
1306 void LookupNumberStringCache(Register object,
1307 Register result,
1308 Register scratch1,
1309 Register scratch2,
1310 Register scratch3,
1315 void JumpIfNonSmisNotBothSequentialAsciiStrings(Register object1,
1316 Register object2,
1317 Register scratch1,
1318 Register scratch2,
1323 void JumpIfNotBothSequentialAsciiStrings(Register first,
1324 Register second,
1325 Register scratch1,
1326 Register scratch2,
1332 Register first_object_instance_type,
1333 Register second_object_instance_type,
1334 Register scratch1,
1335 Register scratch2,
1340 void JumpIfInstanceTypeIsNotSequentialAscii(Register type,
1341 Register scratch,
1344 void JumpIfNotUniqueName(Register reg, Label* not_unique_name);
1346 void EmitSeqStringSetCharCheck(Register string,
1347 Register index,
1348 Register value,
1356 void GetRelocatedValueLocation(Register ldr_location,
1357 Register result);
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) {