diff options
Diffstat (limited to 'deps/v8/src/arm/macro-assembler-arm.h')
-rw-r--r-- | deps/v8/src/arm/macro-assembler-arm.h | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/deps/v8/src/arm/macro-assembler-arm.h b/deps/v8/src/arm/macro-assembler-arm.h index 98cea16389..5d9e51304a 100644 --- a/deps/v8/src/arm/macro-assembler-arm.h +++ b/deps/v8/src/arm/macro-assembler-arm.h @@ -333,7 +333,6 @@ class MacroAssembler: public Assembler { void StubReturn(int argc); // Call a runtime routine. - // Eventually this should be used for all C calls. void CallRuntime(Runtime::Function* f, int num_arguments); // Convenience function: Same as above, but takes the fid instead. @@ -344,14 +343,19 @@ class MacroAssembler: public Assembler { int num_arguments); // Tail call of a runtime routine (jump). - // Like JumpToRuntime, but also takes care of passing the number + // Like JumpToExternalReference, but also takes care of passing the number // of parameters. - void TailCallRuntime(const ExternalReference& ext, + void TailCallExternalReference(const ExternalReference& ext, + int num_arguments, + int result_size); + + // Convenience function: tail call a runtime routine (jump). + void TailCallRuntime(Runtime::FunctionId fid, int num_arguments, int result_size); // Jump to a runtime routine. - void JumpToRuntime(const ExternalReference& builtin); + void JumpToExternalReference(const ExternalReference& builtin); // Invoke specified builtin JavaScript function. Adds an entry to // the unresolved list if the name does not resolve. @@ -421,6 +425,22 @@ class MacroAssembler: public Assembler { Register scratch2, Label* not_flat_ascii_strings); + // Checks if both instance types are sequential ASCII strings and jumps to + // label if either is not. + void JumpIfBothInstanceTypesAreNotSequentialAscii( + Register first_object_instance_type, + Register second_object_instance_type, + Register scratch1, + Register scratch2, + Label* failure); + + // Check if instance type is sequential ASCII string and jump to label if + // it is not. + void JumpIfInstanceTypeIsNotSequentialAscii(Register type, + Register scratch, + Label* failure); + + private: void Jump(intptr_t target, RelocInfo::Mode rmode, Condition cond = al); void Call(intptr_t target, RelocInfo::Mode rmode, Condition cond = al); |