[runtime] Remove the now unused %StoreArrayLiteralElement.
The runtime function is no longer used and obsolete by now. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1598113003 Cr-Commit-Position: refs/heads/master@{#33350}
This commit is contained in:
parent
4ca809d7b2
commit
6faa6b317a
@ -167,13 +167,6 @@ void CreateWeakCellDescriptor::InitializePlatformSpecific(
|
||||
}
|
||||
|
||||
|
||||
void StoreArrayLiteralElementDescriptor::InitializePlatformSpecific(
|
||||
CallInterfaceDescriptorData* data) {
|
||||
Register registers[] = {r3, r0};
|
||||
data->InitializePlatformSpecific(arraysize(registers), registers);
|
||||
}
|
||||
|
||||
|
||||
void CallFunctionDescriptor::InitializePlatformSpecific(
|
||||
CallInterfaceDescriptorData* data) {
|
||||
Register registers[] = {r1};
|
||||
|
@ -185,13 +185,6 @@ void CreateWeakCellDescriptor::InitializePlatformSpecific(
|
||||
}
|
||||
|
||||
|
||||
void StoreArrayLiteralElementDescriptor::InitializePlatformSpecific(
|
||||
CallInterfaceDescriptorData* data) {
|
||||
Register registers[] = {x3, x0};
|
||||
data->InitializePlatformSpecific(arraysize(registers), registers);
|
||||
}
|
||||
|
||||
|
||||
void CallFunctionDescriptor::InitializePlatformSpecific(
|
||||
CallInterfaceDescriptorData* data) {
|
||||
// x1 function the function to call
|
||||
|
@ -171,13 +171,6 @@ void CreateWeakCellDescriptor::InitializePlatformSpecific(
|
||||
}
|
||||
|
||||
|
||||
void StoreArrayLiteralElementDescriptor::InitializePlatformSpecific(
|
||||
CallInterfaceDescriptorData* data) {
|
||||
Register registers[] = {ecx, eax};
|
||||
data->InitializePlatformSpecific(arraysize(registers), registers, NULL);
|
||||
}
|
||||
|
||||
|
||||
void CallFunctionDescriptor::InitializePlatformSpecific(
|
||||
CallInterfaceDescriptorData* data) {
|
||||
Register registers[] = {edi};
|
||||
|
@ -69,7 +69,6 @@ class PlatformInterfaceDescriptor;
|
||||
V(ArgumentsAccessRead) \
|
||||
V(ArgumentsAccessNew) \
|
||||
V(RestParamAccess) \
|
||||
V(StoreArrayLiteralElement) \
|
||||
V(LoadGlobalViaContext) \
|
||||
V(StoreGlobalViaContext) \
|
||||
V(MathPowTagged) \
|
||||
@ -722,13 +721,6 @@ class RestParamAccessDescriptor : public CallInterfaceDescriptor {
|
||||
};
|
||||
|
||||
|
||||
class StoreArrayLiteralElementDescriptor : public CallInterfaceDescriptor {
|
||||
public:
|
||||
DECLARE_DESCRIPTOR(StoreArrayLiteralElementDescriptor,
|
||||
CallInterfaceDescriptor)
|
||||
};
|
||||
|
||||
|
||||
class MathPowTaggedDescriptor : public CallInterfaceDescriptor {
|
||||
public:
|
||||
DECLARE_DESCRIPTOR(MathPowTaggedDescriptor, CallInterfaceDescriptor)
|
||||
|
@ -165,13 +165,6 @@ void CreateWeakCellDescriptor::InitializePlatformSpecific(
|
||||
}
|
||||
|
||||
|
||||
void StoreArrayLiteralElementDescriptor::InitializePlatformSpecific(
|
||||
CallInterfaceDescriptorData* data) {
|
||||
Register registers[] = {a3, a0};
|
||||
data->InitializePlatformSpecific(arraysize(registers), registers, NULL);
|
||||
}
|
||||
|
||||
|
||||
void CallFunctionDescriptor::InitializePlatformSpecific(
|
||||
CallInterfaceDescriptorData* data) {
|
||||
Register registers[] = {a1};
|
||||
|
@ -165,13 +165,6 @@ void CreateWeakCellDescriptor::InitializePlatformSpecific(
|
||||
}
|
||||
|
||||
|
||||
void StoreArrayLiteralElementDescriptor::InitializePlatformSpecific(
|
||||
CallInterfaceDescriptorData* data) {
|
||||
Register registers[] = {a3, a0};
|
||||
data->InitializePlatformSpecific(arraysize(registers), registers, NULL);
|
||||
}
|
||||
|
||||
|
||||
void CallFunctionWithFeedbackDescriptor::InitializePlatformSpecific(
|
||||
CallInterfaceDescriptorData* data) {
|
||||
Register registers[] = {a1, a3};
|
||||
|
@ -165,13 +165,6 @@ void CreateWeakCellDescriptor::InitializePlatformSpecific(
|
||||
}
|
||||
|
||||
|
||||
void StoreArrayLiteralElementDescriptor::InitializePlatformSpecific(
|
||||
CallInterfaceDescriptorData* data) {
|
||||
Register registers[] = {r6, r3};
|
||||
data->InitializePlatformSpecific(arraysize(registers), registers);
|
||||
}
|
||||
|
||||
|
||||
void CallFunctionDescriptor::InitializePlatformSpecific(
|
||||
CallInterfaceDescriptorData* data) {
|
||||
Register registers[] = {r4};
|
||||
|
@ -400,59 +400,5 @@ RUNTIME_FUNCTION(Runtime_CreateArrayLiteralStubBailout) {
|
||||
return *result;
|
||||
}
|
||||
|
||||
|
||||
RUNTIME_FUNCTION(Runtime_StoreArrayLiteralElement) {
|
||||
HandleScope scope(isolate);
|
||||
RUNTIME_ASSERT(args.length() == 5);
|
||||
CONVERT_ARG_HANDLE_CHECKED(JSObject, object, 0);
|
||||
CONVERT_SMI_ARG_CHECKED(store_index, 1);
|
||||
CONVERT_ARG_HANDLE_CHECKED(Object, value, 2);
|
||||
CONVERT_ARG_HANDLE_CHECKED(LiteralsArray, literals, 3);
|
||||
CONVERT_SMI_ARG_CHECKED(literal_index, 4);
|
||||
|
||||
Object* raw_literal_cell = literals->literal(literal_index);
|
||||
JSArray* boilerplate = NULL;
|
||||
if (raw_literal_cell->IsAllocationSite()) {
|
||||
AllocationSite* site = AllocationSite::cast(raw_literal_cell);
|
||||
boilerplate = JSArray::cast(site->transition_info());
|
||||
} else {
|
||||
boilerplate = JSArray::cast(raw_literal_cell);
|
||||
}
|
||||
Handle<JSArray> boilerplate_object(boilerplate);
|
||||
ElementsKind elements_kind = object->GetElementsKind();
|
||||
DCHECK(IsFastElementsKind(elements_kind));
|
||||
// Smis should never trigger transitions.
|
||||
DCHECK(!value->IsSmi());
|
||||
|
||||
if (value->IsNumber()) {
|
||||
DCHECK(IsFastSmiElementsKind(elements_kind));
|
||||
ElementsKind transitioned_kind = IsFastHoleyElementsKind(elements_kind)
|
||||
? FAST_HOLEY_DOUBLE_ELEMENTS
|
||||
: FAST_DOUBLE_ELEMENTS;
|
||||
if (IsMoreGeneralElementsKindTransition(
|
||||
boilerplate_object->GetElementsKind(), transitioned_kind)) {
|
||||
JSObject::TransitionElementsKind(boilerplate_object, transitioned_kind);
|
||||
}
|
||||
JSObject::TransitionElementsKind(object, transitioned_kind);
|
||||
DCHECK(IsFastDoubleElementsKind(object->GetElementsKind()));
|
||||
FixedDoubleArray* double_array = FixedDoubleArray::cast(object->elements());
|
||||
HeapNumber* number = HeapNumber::cast(*value);
|
||||
double_array->set(store_index, number->Number());
|
||||
} else {
|
||||
if (!IsFastObjectElementsKind(elements_kind)) {
|
||||
ElementsKind transitioned_kind = IsFastHoleyElementsKind(elements_kind)
|
||||
? FAST_HOLEY_ELEMENTS
|
||||
: FAST_ELEMENTS;
|
||||
JSObject::TransitionElementsKind(object, transitioned_kind);
|
||||
if (IsMoreGeneralElementsKindTransition(
|
||||
boilerplate_object->GetElementsKind(), transitioned_kind)) {
|
||||
JSObject::TransitionElementsKind(boilerplate_object, transitioned_kind);
|
||||
}
|
||||
}
|
||||
FixedArray* object_array = FixedArray::cast(object->elements());
|
||||
object_array->set(store_index, *value);
|
||||
}
|
||||
return *object;
|
||||
}
|
||||
} // namespace internal
|
||||
} // namespace v8
|
||||
|
@ -345,12 +345,11 @@ namespace internal {
|
||||
F(ParseJson, 1, 1)
|
||||
|
||||
|
||||
#define FOR_EACH_INTRINSIC_LITERALS(F) \
|
||||
F(CreateRegExpLiteral, 4, 1) \
|
||||
F(CreateObjectLiteral, 4, 1) \
|
||||
F(CreateArrayLiteral, 4, 1) \
|
||||
F(CreateArrayLiteralStubBailout, 3, 1) \
|
||||
F(StoreArrayLiteralElement, 5, 1)
|
||||
#define FOR_EACH_INTRINSIC_LITERALS(F) \
|
||||
F(CreateRegExpLiteral, 4, 1) \
|
||||
F(CreateObjectLiteral, 4, 1) \
|
||||
F(CreateArrayLiteral, 4, 1) \
|
||||
F(CreateArrayLiteralStubBailout, 3, 1)
|
||||
|
||||
|
||||
#define FOR_EACH_INTRINSIC_LIVEEDIT(F) \
|
||||
|
@ -166,13 +166,6 @@ void CreateWeakCellDescriptor::InitializePlatformSpecific(
|
||||
}
|
||||
|
||||
|
||||
void StoreArrayLiteralElementDescriptor::InitializePlatformSpecific(
|
||||
CallInterfaceDescriptorData* data) {
|
||||
Register registers[] = {rcx, rax};
|
||||
data->InitializePlatformSpecific(arraysize(registers), registers);
|
||||
}
|
||||
|
||||
|
||||
void CallFunctionDescriptor::InitializePlatformSpecific(
|
||||
CallInterfaceDescriptorData* data) {
|
||||
Register registers[] = {rdi};
|
||||
|
@ -171,13 +171,6 @@ void CreateWeakCellDescriptor::InitializePlatformSpecific(
|
||||
}
|
||||
|
||||
|
||||
void StoreArrayLiteralElementDescriptor::InitializePlatformSpecific(
|
||||
CallInterfaceDescriptorData* data) {
|
||||
Register registers[] = {ecx, eax};
|
||||
data->InitializePlatformSpecific(arraysize(registers), registers, NULL);
|
||||
}
|
||||
|
||||
|
||||
void CallFunctionDescriptor::InitializePlatformSpecific(
|
||||
CallInterfaceDescriptorData* data) {
|
||||
Register registers[] = {edi};
|
||||
|
Loading…
Reference in New Issue
Block a user