| Index: src/ia32/macro-assembler-ia32.h
|
| ===================================================================
|
| --- src/ia32/macro-assembler-ia32.h (revision 4205)
|
| +++ src/ia32/macro-assembler-ia32.h (working copy)
|
| @@ -48,6 +48,18 @@
|
| // ---------------------------------------------------------------------------
|
| // GC Support
|
|
|
| +
|
| + void RecordWriteHelper(Register object,
|
| + Register addr,
|
| + Register scratch);
|
| +
|
| + // Check if object is in new space.
|
| + // scratch can be object itself, but it will be clobbered.
|
| + void InNewSpace(Register object,
|
| + Register scratch,
|
| + Condition cc, // equal for new space, not_equal otherwise.
|
| + Label* branch);
|
| +
|
| // Set the remembered set bit for [object+offset].
|
| // object is the object being stored into, value is the object being stored.
|
| // If offset is zero, then the scratch register contains the array index into
|
| @@ -170,15 +182,19 @@
|
| // Smi tagging support.
|
| void SmiTag(Register reg) {
|
| ASSERT(kSmiTag == 0);
|
| - shl(reg, kSmiTagSize);
|
| + ASSERT(kSmiTagSize == 1);
|
| + add(reg, Operand(reg));
|
| }
|
| void SmiUntag(Register reg) {
|
| sar(reg, kSmiTagSize);
|
| }
|
|
|
| // Abort execution if argument is not a number. Used in debug code.
|
| - void AbortIfNotNumber(Register object, const char* msg);
|
| + void AbortIfNotNumber(Register object);
|
|
|
| + // Abort execution if argument is not a smi. Used in debug code.
|
| + void AbortIfNotSmi(Register object);
|
| +
|
| // ---------------------------------------------------------------------------
|
| // Exception handling
|
|
|
| @@ -461,7 +477,7 @@
|
| // for both instance type and scratch.
|
| void JumpIfInstanceTypeIsNotSequentialAscii(Register instance_type,
|
| Register scratch,
|
| - Label *on_not_flat_ascii_string);
|
| + Label* on_not_flat_ascii_string);
|
|
|
| // Checks if both objects are sequential ASCII strings, and jumps to label
|
| // if either is not.
|
| @@ -469,7 +485,7 @@
|
| Register object2,
|
| Register scratch1,
|
| Register scratch2,
|
| - Label *on_not_flat_ascii_strings);
|
| + Label* on_not_flat_ascii_strings);
|
|
|
| private:
|
| bool generating_stub_;
|
|
|