| Index: runtime/vm/intrinsifier_x64.cc
|
| ===================================================================
|
| --- runtime/vm/intrinsifier_x64.cc (revision 39404)
|
| +++ runtime/vm/intrinsifier_x64.cc (working copy)
|
| @@ -27,19 +27,19 @@
|
| #define __ assembler->
|
|
|
|
|
| -void Intrinsifier::Array_getLength(Assembler* assembler) {
|
| +void Intrinsifier::ObjectArrayLength(Assembler* assembler) {
|
| __ movq(RAX, Address(RSP, + 1 * kWordSize));
|
| __ movq(RAX, FieldAddress(RAX, Array::length_offset()));
|
| __ ret();
|
| }
|
|
|
|
|
| -void Intrinsifier::ImmutableList_getLength(Assembler* assembler) {
|
| - Array_getLength(assembler);
|
| +void Intrinsifier::ImmutableArrayLength(Assembler* assembler) {
|
| + ObjectArrayLength(assembler);
|
| }
|
|
|
|
|
| -void Intrinsifier::Array_getIndexed(Assembler* assembler) {
|
| +void Intrinsifier::ObjectArrayGetIndexed(Assembler* assembler) {
|
| Label fall_through;
|
| __ movq(RCX, Address(RSP, + 1 * kWordSize)); // Index.
|
| __ movq(RAX, Address(RSP, + 2 * kWordSize)); // Array.
|
| @@ -57,12 +57,12 @@
|
| }
|
|
|
|
|
| -void Intrinsifier::ImmutableList_getIndexed(Assembler* assembler) {
|
| - Array_getIndexed(assembler);
|
| +void Intrinsifier::ImmutableArrayGetIndexed(Assembler* assembler) {
|
| + ObjectArrayGetIndexed(assembler);
|
| }
|
|
|
|
|
| -void Intrinsifier::Array_setIndexed(Assembler* assembler) {
|
| +void Intrinsifier::ObjectArraySetIndexed(Assembler* assembler) {
|
| if (FLAG_enable_type_checks) {
|
| return;
|
| }
|
| @@ -90,7 +90,7 @@
|
|
|
| // Allocate a GrowableObjectArray using the backing array specified.
|
| // On stack: type argument (+2), data (+1), return-address (+0).
|
| -void Intrinsifier::GrowableList_Allocate(Assembler* assembler) {
|
| +void Intrinsifier::GrowableArray_Allocate(Assembler* assembler) {
|
| // This snippet of inlined code uses the following registers:
|
| // RAX, RCX, R13
|
| // and the newly allocated object is returned in RAX.
|
| @@ -130,14 +130,14 @@
|
|
|
| // Get length of growable object array.
|
| // On stack: growable array (+1), return-address (+0).
|
| -void Intrinsifier::GrowableList_getLength(Assembler* assembler) {
|
| +void Intrinsifier::GrowableArrayLength(Assembler* assembler) {
|
| __ movq(RAX, Address(RSP, + 1 * kWordSize));
|
| __ movq(RAX, FieldAddress(RAX, GrowableObjectArray::length_offset()));
|
| __ ret();
|
| }
|
|
|
|
|
| -void Intrinsifier::GrowableList_getCapacity(Assembler* assembler) {
|
| +void Intrinsifier::GrowableArrayCapacity(Assembler* assembler) {
|
| __ movq(RAX, Address(RSP, + 1 * kWordSize));
|
| __ movq(RAX, FieldAddress(RAX, GrowableObjectArray::data_offset()));
|
| __ movq(RAX, FieldAddress(RAX, Array::length_offset()));
|
| @@ -147,7 +147,7 @@
|
|
|
| // Access growable object array at specified index.
|
| // On stack: growable array (+2), index (+1), return-address (+0).
|
| -void Intrinsifier::GrowableList_getIndexed(Assembler* assembler) {
|
| +void Intrinsifier::GrowableArrayGetIndexed(Assembler* assembler) {
|
| Label fall_through;
|
| __ movq(RCX, Address(RSP, + 1 * kWordSize)); // Index.
|
| __ movq(RAX, Address(RSP, + 2 * kWordSize)); // GrowableArray.
|
| @@ -169,7 +169,7 @@
|
|
|
| // Set value into growable object array at specified index.
|
| // On stack: growable array (+3), index (+2), value (+1), return-address (+0).
|
| -void Intrinsifier::GrowableList_setIndexed(Assembler* assembler) {
|
| +void Intrinsifier::GrowableArraySetIndexed(Assembler* assembler) {
|
| if (FLAG_enable_type_checks) {
|
| return;
|
| }
|
| @@ -197,7 +197,7 @@
|
| // Set length of growable object array. The length cannot
|
| // be greater than the length of the data container.
|
| // On stack: growable array (+2), length (+1), return-address (+0).
|
| -void Intrinsifier::GrowableList_setLength(Assembler* assembler) {
|
| +void Intrinsifier::GrowableArraySetLength(Assembler* assembler) {
|
| Label fall_through;
|
| __ movq(RAX, Address(RSP, + 2 * kWordSize)); // Growable array.
|
| __ movq(RCX, Address(RSP, + 1 * kWordSize)); // Length value.
|
| @@ -211,7 +211,7 @@
|
|
|
| // Set data of growable object array.
|
| // On stack: growable array (+2), data (+1), return-address (+0).
|
| -void Intrinsifier::GrowableList_setData(Assembler* assembler) {
|
| +void Intrinsifier::GrowableArraySetData(Assembler* assembler) {
|
| if (FLAG_enable_type_checks) {
|
| return;
|
| }
|
| @@ -233,7 +233,7 @@
|
| // Add an element to growable array if it doesn't need to grow, otherwise
|
| // call into regular code.
|
| // On stack: growable array (+2), value (+1), return-address (+0).
|
| -void Intrinsifier::GrowableList_add(Assembler* assembler) {
|
| +void Intrinsifier::GrowableArray_add(Assembler* assembler) {
|
| // In checked mode we need to check the incoming argument.
|
| if (FLAG_enable_type_checks) return;
|
| Label fall_through;
|
| @@ -359,14 +359,14 @@
|
|
|
|
|
| // Gets the length of a TypedData.
|
| -void Intrinsifier::TypedData_getLength(Assembler* assembler) {
|
| +void Intrinsifier::TypedDataLength(Assembler* assembler) {
|
| __ movq(RAX, Address(RSP, + 1 * kWordSize));
|
| __ movq(RAX, FieldAddress(RAX, TypedData::length_offset()));
|
| __ ret();
|
| }
|
|
|
|
|
| -void Intrinsifier::Uint8Array_getIndexed(Assembler* assembler) {
|
| +void Intrinsifier::Uint8ArrayGetIndexed(Assembler* assembler) {
|
| Label fall_through;
|
| __ movq(RCX, Address(RSP, + 1 * kWordSize)); // Index.
|
| __ movq(RAX, Address(RSP, + 2 * kWordSize)); // Array.
|
| @@ -385,7 +385,7 @@
|
| }
|
|
|
|
|
| -void Intrinsifier::ExternalUint8Array_getIndexed(Assembler* assembler) {
|
| +void Intrinsifier::ExternalUint8ArrayGetIndexed(Assembler* assembler) {
|
| Label fall_through;
|
| __ movq(RCX, Address(RSP, + 1 * kWordSize)); // Index.
|
| __ movq(RAX, Address(RSP, + 2 * kWordSize)); // Array.
|
| @@ -405,7 +405,7 @@
|
| }
|
|
|
|
|
| -void Intrinsifier::Float64Array_getIndexed(Assembler* assembler) {
|
| +void Intrinsifier::Float64ArrayGetIndexed(Assembler* assembler) {
|
| Label fall_through;
|
| __ movq(RCX, Address(RSP, + 1 * kWordSize)); // Index.
|
| __ movq(RAX, Address(RSP, + 2 * kWordSize)); // Array.
|
| @@ -438,7 +438,7 @@
|
| }
|
|
|
|
|
| -void Intrinsifier::Float64Array_setIndexed(Assembler* assembler) {
|
| +void Intrinsifier::Float64ArraySetIndexed(Assembler* assembler) {
|
| Label fall_through;
|
| __ movq(RCX, Address(RSP, + 2 * kWordSize)); // Index.
|
| __ movq(RAX, Address(RSP, + 3 * kWordSize)); // Array.
|
| @@ -1164,7 +1164,7 @@
|
| }
|
|
|
|
|
| -void Intrinsifier::Double_toInt(Assembler* assembler) {
|
| +void Intrinsifier::DoubleToInteger(Assembler* assembler) {
|
| __ movq(RAX, Address(RSP, +1 * kWordSize));
|
| __ movsd(XMM0, FieldAddress(RAX, Double::value_offset()));
|
| __ cvttsd2siq(RAX, XMM0);
|
| @@ -1180,7 +1180,7 @@
|
| }
|
|
|
|
|
| -void Intrinsifier::Math_sqrt(Assembler* assembler) {
|
| +void Intrinsifier::MathSqrt(Assembler* assembler) {
|
| Label fall_through, is_smi, double_op;
|
| TestLastArgumentIsDouble(assembler, &is_smi, &fall_through);
|
| // Argument is double and is in RAX.
|
| @@ -1241,7 +1241,7 @@
|
| }
|
|
|
| // Identity comparison.
|
| -void Intrinsifier::Object_equal(Assembler* assembler) {
|
| +void Intrinsifier::ObjectEquals(Assembler* assembler) {
|
| Label is_true;
|
| const intptr_t kReceiverOffset = 2;
|
| const intptr_t kArgumentOffset = 1;
|
| @@ -1269,14 +1269,14 @@
|
| }
|
|
|
|
|
| -void Intrinsifier::String_getLength(Assembler* assembler) {
|
| +void Intrinsifier::StringBaseLength(Assembler* assembler) {
|
| __ movq(RAX, Address(RSP, + 1 * kWordSize)); // String object.
|
| __ movq(RAX, FieldAddress(RAX, String::length_offset()));
|
| __ ret();
|
| }
|
|
|
|
|
| -void Intrinsifier::String_codeUnitAt(Assembler* assembler) {
|
| +void Intrinsifier::StringBaseCodeUnitAt(Assembler* assembler) {
|
| Label fall_through, try_two_byte_string;
|
| __ movq(RCX, Address(RSP, + 1 * kWordSize)); // Index.
|
| __ movq(RAX, Address(RSP, + 2 * kWordSize)); // String.
|
| @@ -1305,7 +1305,7 @@
|
| }
|
|
|
|
|
| -void Intrinsifier::String_getIsEmpty(Assembler* assembler) {
|
| +void Intrinsifier::StringBaseIsEmpty(Assembler* assembler) {
|
| Label is_true;
|
| // Get length.
|
| __ movq(RAX, Address(RSP, + 1 * kWordSize)); // String object.
|
| @@ -1517,7 +1517,7 @@
|
| }
|
|
|
|
|
| -void Intrinsifier::OneByteString_setAt(Assembler* assembler) {
|
| +void Intrinsifier::OneByteStringSetAt(Assembler* assembler) {
|
| __ movq(RCX, Address(RSP, + 1 * kWordSize)); // Value.
|
| __ movq(RBX, Address(RSP, + 2 * kWordSize)); // Index.
|
| __ movq(RAX, Address(RSP, + 3 * kWordSize)); // OneByteString.
|
|
|