| Index: src/ia32/macro-assembler-ia32.h
|
| diff --git a/src/ia32/macro-assembler-ia32.h b/src/ia32/macro-assembler-ia32.h
|
| index 49ca47b00866b31cb824060cf66056e1396f9265..dffb5b0e66de76d19160552bc2f80b9f9d9b4541 100644
|
| --- a/src/ia32/macro-assembler-ia32.h
|
| +++ b/src/ia32/macro-assembler-ia32.h
|
| @@ -369,8 +369,8 @@ class MacroAssembler: public Assembler {
|
|
|
| // Smi tagging support.
|
| void SmiTag(Register reg) {
|
| - ASSERT(kSmiTag == 0);
|
| - ASSERT(kSmiTagSize == 1);
|
| + STATIC_ASSERT(kSmiTag == 0);
|
| + STATIC_ASSERT(kSmiTagSize == 1);
|
| add(reg, Operand(reg));
|
| }
|
| void SmiUntag(Register reg) {
|
| @@ -379,9 +379,9 @@ class MacroAssembler: public Assembler {
|
|
|
| // Modifies the register even if it does not contain a Smi!
|
| void SmiUntag(Register reg, Label* is_smi) {
|
| - ASSERT(kSmiTagSize == 1);
|
| + STATIC_ASSERT(kSmiTagSize == 1);
|
| sar(reg, kSmiTagSize);
|
| - ASSERT(kSmiTag == 0);
|
| + STATIC_ASSERT(kSmiTag == 0);
|
| j(not_carry, is_smi);
|
| }
|
|
|
| @@ -531,7 +531,7 @@ class MacroAssembler: public Assembler {
|
|
|
| // Allocate a raw cons string object. Only the map field of the result is
|
| // initialized.
|
| - void AllocateConsString(Register result,
|
| + void AllocateTwoByteConsString(Register result,
|
| Register scratch1,
|
| Register scratch2,
|
| Label* gc_required);
|
| @@ -540,6 +540,17 @@ class MacroAssembler: public Assembler {
|
| Register scratch2,
|
| Label* gc_required);
|
|
|
| + // Allocate a raw sliced string object. Only the map field of the result is
|
| + // initialized.
|
| + void AllocateTwoByteSlicedString(Register result,
|
| + Register scratch1,
|
| + Register scratch2,
|
| + Label* gc_required);
|
| + void AllocateAsciiSlicedString(Register result,
|
| + Register scratch1,
|
| + Register scratch2,
|
| + Label* gc_required);
|
| +
|
| // Copy memory, byte-by-byte, from source to destination. Not optimized for
|
| // long or aligned copies.
|
| // The contents of index and scratch are destroyed.
|
|
|