| Index: runtime/vm/intrinsifier_x64.cc
|
| ===================================================================
|
| --- runtime/vm/intrinsifier_x64.cc (revision 17245)
|
| +++ runtime/vm/intrinsifier_x64.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.
|
|
|
| @@ -45,7 +45,7 @@
|
| __ cmpq(RDI, Immediate(0));
|
| __ j(LESS, &fall_through);
|
| // Check for maximum allowed length.
|
| - const Immediate max_len =
|
| + const Immediate& max_len =
|
| Immediate(reinterpret_cast<int64_t>(Smi::New(Array::kMaxElements)));
|
| __ cmpq(RDI, max_len);
|
| __ j(GREATER, &fall_through);
|
| @@ -117,7 +117,7 @@
|
| // RCX: new object end address.
|
| // RDI: 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()));
|
| __ leaq(RDI, FieldAddress(RAX, sizeof(RawArray)));
|
| Label done;
|
| @@ -394,7 +394,8 @@
|
| // Compare length with capacity.
|
| __ cmpq(RCX, FieldAddress(RDX, Array::length_offset()));
|
| __ j(EQUAL, &fall_through, Assembler::kNearJump); // Must grow data.
|
| - const Immediate value_one = Immediate(reinterpret_cast<int64_t>(Smi::New(1)));
|
| + const Immediate& value_one =
|
| + Immediate(reinterpret_cast<int64_t>(Smi::New(1)));
|
| // len = len + 1;
|
| __ addq(FieldAddress(RAX, GrowableObjectArray::length_offset()), value_one);
|
| __ movq(RAX, Address(RSP, + 1 * kWordSize)); // Value
|
| @@ -402,7 +403,7 @@
|
| __ StoreIntoObject(RDX,
|
| FieldAddress(RDX, RCX, TIMES_4, Array::data_offset()),
|
| RAX);
|
| - const Immediate raw_null =
|
| + const Immediate& raw_null =
|
| Immediate(reinterpret_cast<int64_t>(Object::null()));
|
| __ movq(RAX, raw_null);
|
| __ ret();
|
| @@ -1133,7 +1134,7 @@
|
| bool Intrinsifier::Integer_sar(Assembler* assembler) {
|
| Label fall_through, shift_count_ok;
|
| TestBothArgumentsSmis(assembler, &fall_through);
|
| - Immediate count_limit = Immediate(0x3F);
|
| + const Immediate& count_limit = Immediate(0x3F);
|
| // 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.
|
|
|