| Index: runtime/vm/intrinsifier_arm64.cc
|
| ===================================================================
|
| --- runtime/vm/intrinsifier_arm64.cc (revision 43482)
|
| +++ runtime/vm/intrinsifier_arm64.cc (working copy)
|
| @@ -688,30 +688,6 @@
|
| }
|
|
|
|
|
| -void Intrinsifier::Bigint_setNeg(Assembler* assembler) {
|
| - __ ldr(R0, Address(SP, 0 * kWordSize));
|
| - __ ldr(R1, Address(SP, 1 * kWordSize));
|
| - __ StoreIntoObject(R1, FieldAddress(R1, Bigint::neg_offset()), R0, false);
|
| - __ ret();
|
| -}
|
| -
|
| -
|
| -void Intrinsifier::Bigint_setUsed(Assembler* assembler) {
|
| - __ ldr(R0, Address(SP, 0 * kWordSize));
|
| - __ ldr(R1, Address(SP, 1 * kWordSize));
|
| - __ StoreIntoObject(R1, FieldAddress(R1, Bigint::used_offset()), R0);
|
| - __ ret();
|
| -}
|
| -
|
| -
|
| -void Intrinsifier::Bigint_setDigits(Assembler* assembler) {
|
| - __ ldr(R0, Address(SP, 0 * kWordSize));
|
| - __ ldr(R1, Address(SP, 1 * kWordSize));
|
| - __ StoreIntoObject(R1, FieldAddress(R1, Bigint::digits_offset()), R0, false);
|
| - __ ret();
|
| -}
|
| -
|
| -
|
| void Intrinsifier::Bigint_absAdd(Assembler* assembler) {
|
| // static void _absAdd(Uint32List digits, int used,
|
| // Uint32List a_digits, int a_used,
|
| @@ -767,9 +743,12 @@
|
| __ cbnz(&carry_loop, R9);
|
|
|
| __ Bind(&last_carry);
|
| - __ adc(R0, ZR, ZR);
|
| + Label done;
|
| + __ b(&done, CC);
|
| + __ LoadImmediate(R0, 1, kNoPP);
|
| __ str(R0, Address(R6, 0));
|
|
|
| + __ Bind(&done);
|
| // Returning Object::null() is not required, since this method is private.
|
| __ ret();
|
| }
|
|
|