| Index: src/x64/stub-cache-x64.cc
|
| diff --git a/src/x64/stub-cache-x64.cc b/src/x64/stub-cache-x64.cc
|
| index 5ea72579b4d1b76869a4b3e0b708ec77a0e09bfc..76d255579805d5a269e95afb119776fe874a5459 100644
|
| --- a/src/x64/stub-cache-x64.cc
|
| +++ b/src/x64/stub-cache-x64.cc
|
| @@ -2537,7 +2537,7 @@ MaybeObject* KeyedStoreStubCompiler::CompileStoreElement(Map* receiver_map) {
|
| // -- rsp[0] : return address
|
| // -----------------------------------
|
| Code* stub;
|
| - JSObject::ElementsKind elements_kind = receiver_map->elements_kind();
|
| + ElementsKind elements_kind = receiver_map->elements_kind();
|
| bool is_js_array = receiver_map->instance_type() == JS_ARRAY_TYPE;
|
| MaybeObject* maybe_stub =
|
| KeyedStoreElementStub(is_js_array, elements_kind).TryGetCode();
|
| @@ -2996,7 +2996,7 @@ MaybeObject* KeyedLoadStubCompiler::CompileLoadElement(Map* receiver_map) {
|
| // -- rsp[0] : return address
|
| // -----------------------------------
|
| Code* stub;
|
| - JSObject::ElementsKind elements_kind = receiver_map->elements_kind();
|
| + ElementsKind elements_kind = receiver_map->elements_kind();
|
| MaybeObject* maybe_stub = KeyedLoadElementStub(elements_kind).TryGetCode();
|
| if (!maybe_stub->To(&stub)) return maybe_stub;
|
| __ DispatchMap(rdx,
|
| @@ -3227,7 +3227,7 @@ void KeyedLoadStubCompiler::GenerateLoadDictionaryElement(
|
|
|
| void KeyedLoadStubCompiler::GenerateLoadExternalArray(
|
| MacroAssembler* masm,
|
| - JSObject::ElementsKind elements_kind) {
|
| + ElementsKind elements_kind) {
|
| // ----------- S t a t e -------------
|
| // -- rax : key
|
| // -- rdx : receiver
|
| @@ -3255,29 +3255,29 @@ void KeyedLoadStubCompiler::GenerateLoadExternalArray(
|
| __ movq(rbx, FieldOperand(rbx, ExternalArray::kExternalPointerOffset));
|
| // rbx: base pointer of external storage
|
| switch (elements_kind) {
|
| - case JSObject::EXTERNAL_BYTE_ELEMENTS:
|
| + case EXTERNAL_BYTE_ELEMENTS:
|
| __ movsxbq(rcx, Operand(rbx, rcx, times_1, 0));
|
| break;
|
| - case JSObject::EXTERNAL_PIXEL_ELEMENTS:
|
| - case JSObject::EXTERNAL_UNSIGNED_BYTE_ELEMENTS:
|
| + case EXTERNAL_PIXEL_ELEMENTS:
|
| + case EXTERNAL_UNSIGNED_BYTE_ELEMENTS:
|
| __ movzxbq(rcx, Operand(rbx, rcx, times_1, 0));
|
| break;
|
| - case JSObject::EXTERNAL_SHORT_ELEMENTS:
|
| + case EXTERNAL_SHORT_ELEMENTS:
|
| __ movsxwq(rcx, Operand(rbx, rcx, times_2, 0));
|
| break;
|
| - case JSObject::EXTERNAL_UNSIGNED_SHORT_ELEMENTS:
|
| + case EXTERNAL_UNSIGNED_SHORT_ELEMENTS:
|
| __ movzxwq(rcx, Operand(rbx, rcx, times_2, 0));
|
| break;
|
| - case JSObject::EXTERNAL_INT_ELEMENTS:
|
| + case EXTERNAL_INT_ELEMENTS:
|
| __ movsxlq(rcx, Operand(rbx, rcx, times_4, 0));
|
| break;
|
| - case JSObject::EXTERNAL_UNSIGNED_INT_ELEMENTS:
|
| + case EXTERNAL_UNSIGNED_INT_ELEMENTS:
|
| __ movl(rcx, Operand(rbx, rcx, times_4, 0));
|
| break;
|
| - case JSObject::EXTERNAL_FLOAT_ELEMENTS:
|
| + case EXTERNAL_FLOAT_ELEMENTS:
|
| __ cvtss2sd(xmm0, Operand(rbx, rcx, times_4, 0));
|
| break;
|
| - case JSObject::EXTERNAL_DOUBLE_ELEMENTS:
|
| + case EXTERNAL_DOUBLE_ELEMENTS:
|
| __ movsd(xmm0, Operand(rbx, rcx, times_8, 0));
|
| break;
|
| default:
|
| @@ -3293,7 +3293,7 @@ void KeyedLoadStubCompiler::GenerateLoadExternalArray(
|
| // xmm0: value as double.
|
|
|
| ASSERT(kSmiValueSize == 32);
|
| - if (elements_kind == JSObject::EXTERNAL_UNSIGNED_INT_ELEMENTS) {
|
| + if (elements_kind == EXTERNAL_UNSIGNED_INT_ELEMENTS) {
|
| // For the UnsignedInt array type, we need to see whether
|
| // the value can be represented in a Smi. If not, we need to convert
|
| // it to a HeapNumber.
|
| @@ -3317,8 +3317,8 @@ void KeyedLoadStubCompiler::GenerateLoadExternalArray(
|
| __ movsd(FieldOperand(rcx, HeapNumber::kValueOffset), xmm0);
|
| __ movq(rax, rcx);
|
| __ ret(0);
|
| - } else if (elements_kind == JSObject::EXTERNAL_FLOAT_ELEMENTS ||
|
| - elements_kind == JSObject::EXTERNAL_DOUBLE_ELEMENTS) {
|
| + } else if (elements_kind == EXTERNAL_FLOAT_ELEMENTS ||
|
| + elements_kind == EXTERNAL_DOUBLE_ELEMENTS) {
|
| // For the floating-point array type, we need to always allocate a
|
| // HeapNumber.
|
| __ AllocateHeapNumber(rcx, rbx, &slow);
|
| @@ -3361,7 +3361,7 @@ void KeyedLoadStubCompiler::GenerateLoadExternalArray(
|
|
|
| void KeyedStoreStubCompiler::GenerateStoreExternalArray(
|
| MacroAssembler* masm,
|
| - JSObject::ElementsKind elements_kind) {
|
| + ElementsKind elements_kind) {
|
| // ----------- S t a t e -------------
|
| // -- rax : value
|
| // -- rcx : key
|
| @@ -3391,7 +3391,7 @@ void KeyedStoreStubCompiler::GenerateStoreExternalArray(
|
| // rbx: elements array
|
| // rdi: untagged key
|
| Label check_heap_number;
|
| - if (elements_kind == JSObject::EXTERNAL_PIXEL_ELEMENTS) {
|
| + if (elements_kind == EXTERNAL_PIXEL_ELEMENTS) {
|
| // Float to pixel conversion is only implemented in the runtime for now.
|
| __ JumpIfNotSmi(rax, &slow);
|
| } else {
|
| @@ -3402,7 +3402,7 @@ void KeyedStoreStubCompiler::GenerateStoreExternalArray(
|
| __ movq(rbx, FieldOperand(rbx, ExternalArray::kExternalPointerOffset));
|
| // rbx: base pointer of external storage
|
| switch (elements_kind) {
|
| - case JSObject::EXTERNAL_PIXEL_ELEMENTS:
|
| + case EXTERNAL_PIXEL_ELEMENTS:
|
| { // Clamp the value to [0..255].
|
| Label done;
|
| __ testl(rdx, Immediate(0xFFFFFF00));
|
| @@ -3413,39 +3413,39 @@ void KeyedStoreStubCompiler::GenerateStoreExternalArray(
|
| }
|
| __ movb(Operand(rbx, rdi, times_1, 0), rdx);
|
| break;
|
| - case JSObject::EXTERNAL_BYTE_ELEMENTS:
|
| - case JSObject::EXTERNAL_UNSIGNED_BYTE_ELEMENTS:
|
| + case EXTERNAL_BYTE_ELEMENTS:
|
| + case EXTERNAL_UNSIGNED_BYTE_ELEMENTS:
|
| __ movb(Operand(rbx, rdi, times_1, 0), rdx);
|
| break;
|
| - case JSObject::EXTERNAL_SHORT_ELEMENTS:
|
| - case JSObject::EXTERNAL_UNSIGNED_SHORT_ELEMENTS:
|
| + case EXTERNAL_SHORT_ELEMENTS:
|
| + case EXTERNAL_UNSIGNED_SHORT_ELEMENTS:
|
| __ movw(Operand(rbx, rdi, times_2, 0), rdx);
|
| break;
|
| - case JSObject::EXTERNAL_INT_ELEMENTS:
|
| - case JSObject::EXTERNAL_UNSIGNED_INT_ELEMENTS:
|
| + case EXTERNAL_INT_ELEMENTS:
|
| + case EXTERNAL_UNSIGNED_INT_ELEMENTS:
|
| __ movl(Operand(rbx, rdi, times_4, 0), rdx);
|
| break;
|
| - case JSObject::EXTERNAL_FLOAT_ELEMENTS:
|
| + case EXTERNAL_FLOAT_ELEMENTS:
|
| // Need to perform int-to-float conversion.
|
| __ cvtlsi2ss(xmm0, rdx);
|
| __ movss(Operand(rbx, rdi, times_4, 0), xmm0);
|
| break;
|
| - case JSObject::EXTERNAL_DOUBLE_ELEMENTS:
|
| + case EXTERNAL_DOUBLE_ELEMENTS:
|
| // Need to perform int-to-float conversion.
|
| __ cvtlsi2sd(xmm0, rdx);
|
| __ movsd(Operand(rbx, rdi, times_8, 0), xmm0);
|
| break;
|
| - case JSObject::FAST_ELEMENTS:
|
| - case JSObject::FAST_DOUBLE_ELEMENTS:
|
| - case JSObject::DICTIONARY_ELEMENTS:
|
| - case JSObject::NON_STRICT_ARGUMENTS_ELEMENTS:
|
| + case FAST_ELEMENTS:
|
| + case FAST_DOUBLE_ELEMENTS:
|
| + case DICTIONARY_ELEMENTS:
|
| + case NON_STRICT_ARGUMENTS_ELEMENTS:
|
| UNREACHABLE();
|
| break;
|
| }
|
| __ ret(0);
|
|
|
| // TODO(danno): handle heap number -> pixel array conversion
|
| - if (elements_kind != JSObject::EXTERNAL_PIXEL_ELEMENTS) {
|
| + if (elements_kind != EXTERNAL_PIXEL_ELEMENTS) {
|
| __ bind(&check_heap_number);
|
| // rax: value
|
| // rcx: key (a smi)
|
| @@ -3464,11 +3464,11 @@ void KeyedStoreStubCompiler::GenerateStoreExternalArray(
|
| // rdi: untagged index
|
| // rbx: base pointer of external storage
|
| // top of FPU stack: value
|
| - if (elements_kind == JSObject::EXTERNAL_FLOAT_ELEMENTS) {
|
| + if (elements_kind == EXTERNAL_FLOAT_ELEMENTS) {
|
| __ cvtsd2ss(xmm0, xmm0);
|
| __ movss(Operand(rbx, rdi, times_4, 0), xmm0);
|
| __ ret(0);
|
| - } else if (elements_kind == JSObject::EXTERNAL_DOUBLE_ELEMENTS) {
|
| + } else if (elements_kind == EXTERNAL_DOUBLE_ELEMENTS) {
|
| __ movsd(Operand(rbx, rdi, times_8, 0), xmm0);
|
| __ ret(0);
|
| } else {
|
| @@ -3482,30 +3482,30 @@ void KeyedStoreStubCompiler::GenerateStoreExternalArray(
|
| // rdi: untagged index
|
| // rbx: base pointer of external storage
|
| switch (elements_kind) {
|
| - case JSObject::EXTERNAL_BYTE_ELEMENTS:
|
| - case JSObject::EXTERNAL_UNSIGNED_BYTE_ELEMENTS:
|
| + case EXTERNAL_BYTE_ELEMENTS:
|
| + case EXTERNAL_UNSIGNED_BYTE_ELEMENTS:
|
| __ cvttsd2si(rdx, xmm0);
|
| __ movb(Operand(rbx, rdi, times_1, 0), rdx);
|
| break;
|
| - case JSObject::EXTERNAL_SHORT_ELEMENTS:
|
| - case JSObject::EXTERNAL_UNSIGNED_SHORT_ELEMENTS:
|
| + case EXTERNAL_SHORT_ELEMENTS:
|
| + case EXTERNAL_UNSIGNED_SHORT_ELEMENTS:
|
| __ cvttsd2si(rdx, xmm0);
|
| __ movw(Operand(rbx, rdi, times_2, 0), rdx);
|
| break;
|
| - case JSObject::EXTERNAL_INT_ELEMENTS:
|
| - case JSObject::EXTERNAL_UNSIGNED_INT_ELEMENTS:
|
| + case EXTERNAL_INT_ELEMENTS:
|
| + case EXTERNAL_UNSIGNED_INT_ELEMENTS:
|
| // Convert to int64, so that NaN and infinities become
|
| // 0x8000000000000000, which is zero mod 2^32.
|
| __ cvttsd2siq(rdx, xmm0);
|
| __ movl(Operand(rbx, rdi, times_4, 0), rdx);
|
| break;
|
| - case JSObject::EXTERNAL_PIXEL_ELEMENTS:
|
| - case JSObject::EXTERNAL_FLOAT_ELEMENTS:
|
| - case JSObject::EXTERNAL_DOUBLE_ELEMENTS:
|
| - case JSObject::FAST_ELEMENTS:
|
| - case JSObject::FAST_DOUBLE_ELEMENTS:
|
| - case JSObject::DICTIONARY_ELEMENTS:
|
| - case JSObject::NON_STRICT_ARGUMENTS_ELEMENTS:
|
| + case EXTERNAL_PIXEL_ELEMENTS:
|
| + case EXTERNAL_FLOAT_ELEMENTS:
|
| + case EXTERNAL_DOUBLE_ELEMENTS:
|
| + case FAST_ELEMENTS:
|
| + case FAST_DOUBLE_ELEMENTS:
|
| + case DICTIONARY_ELEMENTS:
|
| + case NON_STRICT_ARGUMENTS_ELEMENTS:
|
| UNREACHABLE();
|
| break;
|
| }
|
|
|