| Index: runtime/vm/intrinsifier_ia32.cc
|
| ===================================================================
|
| --- runtime/vm/intrinsifier_ia32.cc (revision 17245)
|
| +++ runtime/vm/intrinsifier_ia32.cc (working copy)
|
| @@ -1,4 +1,4 @@
|
| -// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
| +// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
|
| // for details. All rights reserved. Use of this source code is governed by a
|
| // BSD-style license that can be found in the LICENSE file.
|
| //
|
| @@ -46,7 +46,7 @@
|
| __ cmpl(EDI, Immediate(0));
|
| __ j(LESS, &fall_through);
|
| // Check for maximum allowed length.
|
| - const Immediate max_len =
|
| + const Immediate& max_len =
|
| Immediate(reinterpret_cast<int32_t>(Smi::New(Array::kMaxElements)));
|
| __ cmpl(EDI, max_len);
|
| __ j(GREATER, &fall_through);
|
| @@ -117,7 +117,7 @@
|
| // EBX: new object end address.
|
| // EDI: iterator which initially points to the start of the variable
|
| // data area to be initialized.
|
| - const Immediate raw_null =
|
| + const Immediate& raw_null =
|
| Immediate(reinterpret_cast<intptr_t>(Object::null()));
|
| __ leal(EDI, FieldAddress(EAX, sizeof(RawArray)));
|
| Label done;
|
| @@ -194,7 +194,7 @@
|
| const intptr_t type_args_field_offset =
|
| ComputeObjectArrayTypeArgumentsOffset();
|
| // Inline simple tests (Smi, null), fallthrough if not positive.
|
| - const Immediate raw_null =
|
| + const Immediate& raw_null =
|
| Immediate(reinterpret_cast<intptr_t>(Object::null()));
|
| Label checked_ok;
|
| __ movl(EDI, Address(ESP, + 1 * kWordSize)); // Value.
|
| @@ -441,7 +441,8 @@
|
| // Compare length with capacity.
|
| __ cmpl(EBX, FieldAddress(EDI, Array::length_offset()));
|
| __ j(EQUAL, &fall_through, Assembler::kNearJump); // Must grow data.
|
| - const Immediate value_one = Immediate(reinterpret_cast<int32_t>(Smi::New(1)));
|
| + const Immediate& value_one =
|
| + Immediate(reinterpret_cast<int32_t>(Smi::New(1)));
|
| // len = len + 1;
|
| __ addl(FieldAddress(EAX, GrowableObjectArray::length_offset()), value_one);
|
| __ movl(EAX, Address(ESP, + 1 * kWordSize)); // Value
|
| @@ -449,7 +450,7 @@
|
| __ StoreIntoObject(EDI,
|
| FieldAddress(EDI, EBX, TIMES_2, Array::data_offset()),
|
| EAX);
|
| - const Immediate raw_null =
|
| + const Immediate& raw_null =
|
| Immediate(reinterpret_cast<int32_t>(Object::null()));
|
| __ movl(EAX, raw_null);
|
| __ ret();
|
| @@ -1255,7 +1256,7 @@
|
| Label fall_through, shift_count_ok;
|
| TestBothArgumentsSmis(assembler, &fall_through);
|
| // Can destroy ECX since we are not falling through.
|
| - Immediate count_limit = Immediate(0x1F);
|
| + const Immediate& count_limit = Immediate(0x1F);
|
| // Check that the count is not larger than what the hardware can handle.
|
| // For shifting right a Smi the result is the same for all numbers
|
| // >= count_limit.
|
|
|