Index: src/mips/macro-assembler-mips.h |
diff --git a/src/mips/macro-assembler-mips.h b/src/mips/macro-assembler-mips.h |
index 7d2292ff3bb201a3910564fe3c8e4e2ac9b6600a..6f81a4bd6aae7994043cf94f4ac49c20df504595 100644 |
--- a/src/mips/macro-assembler-mips.h |
+++ b/src/mips/macro-assembler-mips.h |
@@ -279,7 +279,8 @@ class MacroAssembler: public Assembler { |
// Record in the remembered set the fact that we have a pointer to new space |
// at the address pointed to by the addr register. Only works if addr is not |
// in new space. |
- void RememberedSetHelper(Register addr, |
+ void RememberedSetHelper(Register object, // Used for debug code. |
+ Register addr, |
Register scratch, |
SaveFPRegsMode save_fp, |
RememberedSetFinalAction and_then); |
@@ -299,7 +300,7 @@ class MacroAssembler: public Assembler { |
} |
// 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. |
+ // The register scratch can be object itself, but scratch will be clobbered. |
void JumpIfInNewSpace(Register object, |
Register scratch, |
Label* branch) { |
@@ -868,6 +869,13 @@ class MacroAssembler: public Assembler { |
Register length, |
Register scratch); |
+ // Initialize fields with filler values. Fields starting at |start_offset| |
+ // not including end_offset are overwritten with the value in |filler|. At |
+ // the end the loop, |start_offset| takes the value of |end_offset|. |
+ void InitializeFieldsWithFiller(Register start_offset, |
+ Register end_offset, |
+ Register filler); |
+ |
// ------------------------------------------------------------------------- |
// Support functions. |
@@ -891,6 +899,31 @@ class MacroAssembler: public Assembler { |
Register scratch, |
Label* fail); |
+ // Check if a map for a JSObject indicates that the object can have both smi |
+ // and HeapObject elements. Jump to the specified label if it does not. |
+ void CheckFastObjectElements(Register map, |
+ Register scratch, |
+ Label* fail); |
+ |
+ // Check if a map for a JSObject indicates that the object has fast smi only |
+ // elements. Jump to the specified label if it does not. |
+ void CheckFastSmiOnlyElements(Register map, |
+ Register scratch, |
+ Label* fail); |
+ |
+ // Check to see if maybe_number can be stored as a double in |
+ // FastDoubleElements. If it can, store it at the index specified by key in |
+ // the FastDoubleElements array elements, otherwise jump to fail. |
+ void StoreNumberToDoubleElements(Register value_reg, |
+ Register key_reg, |
+ Register receiver_reg, |
+ Register elements_reg, |
+ Register scratch1, |
+ Register scratch2, |
+ Register scratch3, |
+ Register scratch4, |
+ Label* fail); |
+ |
// Check if the map of an object is equal to a specified map (either |
// given directly or as an index into the root list) and branch to |
// label if not. Skip the smi check if not required (object is known |
@@ -1088,11 +1121,11 @@ class MacroAssembler: public Assembler { |
// return address (unless this is somehow accounted for by the called |
// function). |
void CallCFunction(ExternalReference function, int num_arguments); |
- void CallCFunction(Register function, Register scratch, int num_arguments); |
+ void CallCFunction(Register function, int num_arguments); |
void CallCFunction(ExternalReference function, |
int num_reg_arguments, |
int num_double_arguments); |
- void CallCFunction(Register function, Register scratch, |
+ void CallCFunction(Register function, |
int num_reg_arguments, |
int num_double_arguments); |
void GetCFunctionDoubleResult(const DoubleRegister dst); |
@@ -1316,8 +1349,6 @@ class MacroAssembler: public Assembler { |
private: |
void CallCFunctionHelper(Register function, |
- ExternalReference function_reference, |
- Register scratch, |
int num_reg_arguments, |
int num_double_arguments); |