| Index: src/ia32/macro-assembler-ia32.h
|
| diff --git a/src/ia32/macro-assembler-ia32.h b/src/ia32/macro-assembler-ia32.h
|
| index ee8c0c79b67a56c4383e82f3e29bf32b888bad36..271f69293783468c241ed66f96a2582048a64da7 100644
|
| --- a/src/ia32/macro-assembler-ia32.h
|
| +++ b/src/ia32/macro-assembler-ia32.h
|
| @@ -70,11 +70,11 @@ class MacroAssembler: public Assembler {
|
|
|
| // Check if object is in new space.
|
| // scratch can be object itself, but it will be clobbered.
|
| - template <typename LabelType>
|
| void InNewSpace(Register object,
|
| Register scratch,
|
| Condition cc, // equal for new space, not_equal otherwise.
|
| - LabelType* branch);
|
| + Label* branch,
|
| + Label::Distance branch_near = Label::kFar);
|
|
|
| // For page containing |object| mark region covering [object+offset]
|
| // dirty. |object| is the object being stored into, |value| is the
|
| @@ -647,8 +647,9 @@ class MacroAssembler: public Assembler {
|
| const ParameterCount& actual,
|
| Handle<Code> code_constant,
|
| const Operand& code_operand,
|
| - NearLabel* done,
|
| + Label* done,
|
| InvokeFlag flag,
|
| + Label::Distance done_near = Label::kFar,
|
| const CallWrapper& call_wrapper = NullCallWrapper());
|
|
|
| // Activation support.
|
| @@ -684,33 +685,6 @@ class MacroAssembler: public Assembler {
|
| };
|
|
|
|
|
| -template <typename LabelType>
|
| -void MacroAssembler::InNewSpace(Register object,
|
| - Register scratch,
|
| - Condition cc,
|
| - LabelType* branch) {
|
| - ASSERT(cc == equal || cc == not_equal);
|
| - if (Serializer::enabled()) {
|
| - // Can't do arithmetic on external references if it might get serialized.
|
| - mov(scratch, Operand(object));
|
| - // The mask isn't really an address. We load it as an external reference in
|
| - // case the size of the new space is different between the snapshot maker
|
| - // and the running system.
|
| - and_(Operand(scratch),
|
| - Immediate(ExternalReference::new_space_mask(isolate())));
|
| - cmp(Operand(scratch),
|
| - Immediate(ExternalReference::new_space_start(isolate())));
|
| - j(cc, branch);
|
| - } else {
|
| - int32_t new_space_start = reinterpret_cast<int32_t>(
|
| - ExternalReference::new_space_start(isolate()).address());
|
| - lea(scratch, Operand(object, -new_space_start));
|
| - and_(scratch, isolate()->heap()->NewSpaceMask());
|
| - j(cc, branch);
|
| - }
|
| -}
|
| -
|
| -
|
| // The code patcher is used to patch (typically) small parts of code e.g. for
|
| // debugging and other types of instrumentation. When using the code patcher
|
| // the exact number of bytes specified must be emitted. Is not legal to emit
|
|
|