| Index: src/arm/macro-assembler-arm.h
|
| ===================================================================
|
| --- src/arm/macro-assembler-arm.h (revision 6941)
|
| +++ src/arm/macro-assembler-arm.h (working copy)
|
| @@ -33,6 +33,9 @@
|
| namespace v8 {
|
| namespace internal {
|
|
|
| +// Forward declaration.
|
| +class PostCallGenerator;
|
| +
|
| // ----------------------------------------------------------------------------
|
| // Static helper functions
|
|
|
| @@ -243,6 +246,30 @@
|
| const MemOperand& dst,
|
| Condition cond = al);
|
|
|
| + // Clear specified FPSCR bits.
|
| + void ClearFPSCRBits(const uint32_t bits_to_clear,
|
| + const Register scratch,
|
| + const Condition cond = al);
|
| +
|
| + // Compare double values and move the result to the normal condition flags.
|
| + void VFPCompareAndSetFlags(const DwVfpRegister src1,
|
| + const DwVfpRegister src2,
|
| + const Condition cond = al);
|
| + void VFPCompareAndSetFlags(const DwVfpRegister src1,
|
| + const double src2,
|
| + const Condition cond = al);
|
| +
|
| + // Compare double values and then load the fpscr flags to a register.
|
| + void VFPCompareAndLoadFlags(const DwVfpRegister src1,
|
| + const DwVfpRegister src2,
|
| + const Register fpscr_flags,
|
| + const Condition cond = al);
|
| + void VFPCompareAndLoadFlags(const DwVfpRegister src1,
|
| + const double src2,
|
| + const Register fpscr_flags,
|
| + const Condition cond = al);
|
| +
|
| +
|
| // ---------------------------------------------------------------------------
|
| // Activation frames
|
|
|
| @@ -281,7 +308,8 @@
|
| void InvokeCode(Register code,
|
| const ParameterCount& expected,
|
| const ParameterCount& actual,
|
| - InvokeFlag flag);
|
| + InvokeFlag flag,
|
| + PostCallGenerator* post_call_generator = NULL);
|
|
|
| void InvokeCode(Handle<Code> code,
|
| const ParameterCount& expected,
|
| @@ -293,7 +321,8 @@
|
| // current context to the context in the function before invoking.
|
| void InvokeFunction(Register function,
|
| const ParameterCount& actual,
|
| - InvokeFlag flag);
|
| + InvokeFlag flag,
|
| + PostCallGenerator* post_call_generator = NULL);
|
|
|
| void InvokeFunction(JSFunction* function,
|
| const ParameterCount& actual,
|
| @@ -379,12 +408,13 @@
|
| // ---------------------------------------------------------------------------
|
| // Allocation support
|
|
|
| - // Allocate an object in new space. The object_size is specified in words (not
|
| - // bytes). If the new space is exhausted control continues at the gc_required
|
| - // label. The allocated object is returned in result. If the flag
|
| - // tag_allocated_object is true the result is tagged as as a heap object. All
|
| - // registers are clobbered also when control continues at the gc_required
|
| - // label.
|
| + // Allocate an object in new space. The object_size is specified
|
| + // either in bytes or in words if the allocation flag SIZE_IN_WORDS
|
| + // is passed. If the new space is exhausted control continues at the
|
| + // gc_required label. The allocated object is returned in result. If
|
| + // the flag tag_allocated_object is true the result is tagged as as
|
| + // a heap object. All registers are clobbered also when control
|
| + // continues at the gc_required label.
|
| void AllocateInNewSpace(int object_size,
|
| Register result,
|
| Register scratch1,
|
| @@ -633,7 +663,9 @@
|
|
|
| // Invoke specified builtin JavaScript function. Adds an entry to
|
| // the unresolved list if the name does not resolve.
|
| - void InvokeBuiltin(Builtins::JavaScript id, InvokeJSFlags flags);
|
| + void InvokeBuiltin(Builtins::JavaScript id,
|
| + InvokeJSFlags flags,
|
| + PostCallGenerator* post_call_generator = NULL);
|
|
|
| // Store the code object for the given builtin in the target register and
|
| // setup the function in r1.
|
| @@ -746,7 +778,8 @@
|
| Handle<Code> code_constant,
|
| Register code_reg,
|
| Label* done,
|
| - InvokeFlag flag);
|
| + InvokeFlag flag,
|
| + PostCallGenerator* post_call_generator = NULL);
|
|
|
| // Activation support.
|
| void EnterFrame(StackFrame::Type type);
|
|
|