diff options
Diffstat (limited to 'deps/v8/src/arm/macro-assembler-arm.h')
-rw-r--r-- | deps/v8/src/arm/macro-assembler-arm.h | 41 |
1 files changed, 8 insertions, 33 deletions
diff --git a/deps/v8/src/arm/macro-assembler-arm.h b/deps/v8/src/arm/macro-assembler-arm.h index 29fa10cfea..64aabea84d 100644 --- a/deps/v8/src/arm/macro-assembler-arm.h +++ b/deps/v8/src/arm/macro-assembler-arm.h @@ -430,6 +430,9 @@ class V8_EXPORT_PRIVATE TurboAssembler : public TurboAssemblerBase { mov(dst, src, sbit, cond); } } + // Move src0 to dst0 and src1 to dst1, handling possible overlaps. + void MovePair(Register dst0, Register src0, Register dst1, Register src1); + void Move(SwVfpRegister dst, SwVfpRegister src, Condition cond = al); void Move(DwVfpRegister dst, DwVfpRegister src, Condition cond = al); void Move(QwNeonRegister dst, QwNeonRegister src); @@ -560,36 +563,9 @@ class V8_EXPORT_PRIVATE MacroAssembler : public TurboAssembler { void Sbfx(Register dst, Register src, int lsb, int width, Condition cond = al); - void Load(Register dst, const MemOperand& src, Representation r); - void Store(Register src, const MemOperand& dst, Representation r); - // --------------------------------------------------------------------------- // GC Support - // Check if object is in new space. Jumps if the object is not in new space. - // The register scratch can be object itself, but scratch will be clobbered. - void JumpIfNotInNewSpace(Register object, Register scratch, Label* branch) { - InNewSpace(object, scratch, eq, branch); - } - - // Check if object is in new space. Jumps if the object is in new space. - // The register scratch can be object itself, but it will be clobbered. - void JumpIfInNewSpace(Register object, Register scratch, Label* branch) { - InNewSpace(object, scratch, ne, branch); - } - - // Check if an object has a given incremental marking color. - void HasColor(Register object, Register scratch0, Register scratch1, - Label* has_color, int first_bit, int second_bit); - - void JumpIfBlack(Register object, Register scratch0, Register scratch1, - Label* on_black); - - // Checks the color of an object. If the object is white we jump to the - // incremental marker. - void JumpIfWhite(Register value, Register scratch1, Register scratch2, - Register scratch3, Label* value_is_white); - // Notify the garbage collector that we wrote a pointer into an object. // |object| is the object being stored into, |value| is the object being // stored. value and scratch registers are clobbered by the operation. @@ -709,6 +685,11 @@ class V8_EXPORT_PRIVATE MacroAssembler : public TurboAssembler { b(ne, if_not_equal); } + // Checks if value is in range [lower_limit, higher_limit] using a single + // comparison. + void JumpIfIsInRange(Register value, unsigned lower_limit, + unsigned higher_limit, Label* on_in_range); + // Try to convert a double to a signed 32-bit integer. // Z flag set to one and result assigned if the conversion is exact. void TryDoubleToInt32Exact(Register result, @@ -813,12 +794,6 @@ class V8_EXPORT_PRIVATE MacroAssembler : public TurboAssembler { const ParameterCount& actual, Label* done, bool* definitely_mismatches, InvokeFlag flag); - // Helper for implementing JumpIfNotInNewSpace and JumpIfInNewSpace. - void InNewSpace(Register object, - Register scratch, - Condition cond, // eq for new space, ne otherwise. - Label* branch); - // Compute memory operands for safepoint stack slots. static int SafepointRegisterStackIndex(int reg_code); |