| Index: src/x64/macro-assembler-x64.h
|
| ===================================================================
|
| --- src/x64/macro-assembler-x64.h (revision 9808)
|
| +++ src/x64/macro-assembler-x64.h (working copy)
|
| @@ -256,8 +256,8 @@
|
|
|
| // Notify the garbage collector that we wrote a pointer into a fixed array.
|
| // |array| is the array being stored into, |value| is the
|
| - // object being stored. |index| is the array index represented as a
|
| - // Smi. All registers are clobbered by the operation RecordWriteArray
|
| + // object being stored. |index| is the array index represented as a non-smi.
|
| + // All registers are clobbered by the operation RecordWriteArray
|
| // filters out smis so it does not update the write barrier if the
|
| // value is a smi.
|
| void RecordWriteArray(
|
| @@ -319,9 +319,9 @@
|
| void LoadFromSafepointRegisterSlot(Register dst, Register src);
|
|
|
| void InitializeRootRegister() {
|
| - ExternalReference roots_address =
|
| - ExternalReference::roots_address(isolate());
|
| - movq(kRootRegister, roots_address);
|
| + ExternalReference roots_array_start =
|
| + ExternalReference::roots_array_start(isolate());
|
| + movq(kRootRegister, roots_array_start);
|
| addq(kRootRegister, Immediate(kRootRegisterBias));
|
| }
|
|
|
| @@ -726,6 +726,7 @@
|
| void Push(Smi* smi);
|
| void Test(const Operand& dst, Smi* source);
|
|
|
| +
|
| // ---------------------------------------------------------------------------
|
| // String macros.
|
|
|
| @@ -771,6 +772,9 @@
|
| // Move if the registers are not identical.
|
| void Move(Register target, Register source);
|
|
|
| + // Bit-field support.
|
| + void TestBit(const Operand& dst, int bit_index);
|
| +
|
| // Handle support
|
| void Move(Register dst, Handle<Object> source);
|
| void Move(const Operand& dst, Handle<Object> source);
|
| @@ -860,12 +864,12 @@
|
| Label::Distance distance = Label::kFar);
|
|
|
| // 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.
|
| - // Note that key must not be smi-tagged.
|
| + // FastDoubleElements. If it can, store it at the index specified by index in
|
| + // the FastDoubleElements array elements, otherwise jump to fail. Note that
|
| + // index must not be smi-tagged.
|
| void StoreNumberToDoubleElements(Register maybe_number,
|
| Register elements,
|
| - Register key,
|
| + Register index,
|
| XMMRegister xmm_scratch,
|
| Label* fail);
|
|
|
| @@ -1074,7 +1078,8 @@
|
| // clobbered.
|
| void TryGetFunctionPrototype(Register function,
|
| Register result,
|
| - Label* miss);
|
| + Label* miss,
|
| + bool miss_on_bound_function = false);
|
|
|
| // Generates code for reporting that an illegal operation has
|
| // occurred.
|
|
|