Commit f557ce54 authored by Simon Zünd's avatar Simon Zünd Committed by Commit Bot

[cleanup] Replace hand-crafted accessors with generated ones

This CL introduces Torque classes with fields around TypedArrays so
CSA LoadObjectField accessors that are only used in Torque code
can be removed.

R=tebbi@chromium.org

Bug: v8:8562
Change-Id: Ie46dad5c25bd6ac03aacef8509e22f435896d127
Reviewed-on: https://chromium-review.googlesource.com/c/1451823Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59359}
parent 8f23860e
...@@ -213,11 +213,19 @@ extern operator '[]=' macro StoreContextElement( ...@@ -213,11 +213,19 @@ extern operator '[]=' macro StoreContextElement(
extern operator '[]' macro LoadContextElement(Context, intptr): Object; extern operator '[]' macro LoadContextElement(Context, intptr): Object;
extern operator '[]' macro LoadContextElement(Context, Smi): Object; extern operator '[]' macro LoadContextElement(Context, Smi): Object;
type JSArrayBuffer extends JSObject generates 'TNode<JSArrayBuffer>'; class JSArrayBuffer extends JSObject {
type JSArrayBufferView extends JSObject byte_length: uintptr;
generates 'TNode<JSArrayBufferView>'; backing_store: RawPtr;
type JSTypedArray extends JSArrayBufferView }
generates 'TNode<JSTypedArray>';
class JSArrayBufferView extends JSObject {
buffer: JSArrayBuffer;
byte_offset: uintptr;
byte_length: uintptr;
}
class JSTypedArray extends JSArrayBufferView {}
type JSDataView extends JSArrayBufferView generates 'TNode<JSDataView>'; type JSDataView extends JSArrayBufferView generates 'TNode<JSDataView>';
type InstanceType generates 'TNode<Int32T>' constexpr 'InstanceType'; type InstanceType generates 'TNode<Int32T>' constexpr 'InstanceType';
...@@ -1202,16 +1210,8 @@ extern macro IsArraySpeciesProtectorCellInvalid(): bool; ...@@ -1202,16 +1210,8 @@ extern macro IsArraySpeciesProtectorCellInvalid(): bool;
extern macro IsTypedArraySpeciesProtectorCellInvalid(): bool; extern macro IsTypedArraySpeciesProtectorCellInvalid(): bool;
extern macro IsPromiseSpeciesProtectorCellInvalid(): bool; extern macro IsPromiseSpeciesProtectorCellInvalid(): bool;
extern operator '.buffer' macro
TypedArrayBuiltinsAssembler::LoadTypedArrayBuffer(JSTypedArray): JSArrayBuffer;
extern operator '.data_ptr' macro TypedArrayBuiltinsAssembler::LoadDataPtr( extern operator '.data_ptr' macro TypedArrayBuiltinsAssembler::LoadDataPtr(
JSTypedArray): RawPtr; JSTypedArray): RawPtr;
extern operator '.byte_length' macro LoadByteLength(JSArrayBuffer): uintptr;
extern operator '.byte_length=' macro StoreByteLength(
JSTypedArray, uintptr): void;
extern operator '.byte_offset=' macro StoreByteOffset(
JSTypedArray, uintptr): void;
extern operator '.elements_kind' macro LoadMapElementsKind(Map): ElementsKind; extern operator '.elements_kind' macro LoadMapElementsKind(Map): ElementsKind;
extern operator '.elements_kind' macro LoadElementsKind(JSTypedArray): extern operator '.elements_kind' macro LoadElementsKind(JSTypedArray):
......
...@@ -66,11 +66,6 @@ class TypedArrayBuiltinsAssembler : public CodeStubAssembler { ...@@ -66,11 +66,6 @@ class TypedArrayBuiltinsAssembler : public CodeStubAssembler {
// Returns information (byte size and map) about a TypedArray's elements. // Returns information (byte size and map) about a TypedArray's elements.
ElementsInfo GetTypedArrayElementsInfo(TNode<JSTypedArray> typed_array); ElementsInfo GetTypedArrayElementsInfo(TNode<JSTypedArray> typed_array);
TNode<JSArrayBuffer> LoadTypedArrayBuffer(TNode<JSTypedArray> typed_array) {
return LoadObjectField<JSArrayBuffer>(typed_array,
JSTypedArray::kBufferOffset);
}
TNode<JSFunction> GetDefaultConstructor(TNode<Context> context, TNode<JSFunction> GetDefaultConstructor(TNode<Context> context,
TNode<JSTypedArray> exemplar); TNode<JSTypedArray> exemplar);
......
...@@ -5,14 +5,6 @@ ...@@ -5,14 +5,6 @@
#include 'src/builtins/builtins-data-view-gen.h' #include 'src/builtins/builtins-data-view-gen.h'
namespace data_view { namespace data_view {
extern operator '.buffer'
macro LoadJSArrayBufferViewBuffer(JSArrayBufferView): JSArrayBuffer;
extern operator '.byte_length'
macro LoadJSArrayBufferViewByteLength(JSArrayBufferView): uintptr;
extern operator '.byte_offset'
macro LoadJSArrayBufferViewByteOffset(JSArrayBufferView): uintptr;
extern operator '.backing_store'
macro LoadJSArrayBufferBackingStore(JSArrayBuffer): RawPtr;
macro MakeDataViewGetterNameString(kind: constexpr ElementsKind): String { macro MakeDataViewGetterNameString(kind: constexpr ElementsKind): String {
if constexpr (kind == UINT8_ELEMENTS) { if constexpr (kind == UINT8_ELEMENTS) {
......
...@@ -13141,10 +13141,6 @@ TNode<RawPtrT> CodeStubAssembler::LoadJSArrayBufferBackingStore( ...@@ -13141,10 +13141,6 @@ TNode<RawPtrT> CodeStubAssembler::LoadJSArrayBufferBackingStore(
JSArrayBuffer::kBackingStoreOffset); JSArrayBuffer::kBackingStoreOffset);
} }
TNode<UintPtrT> CodeStubAssembler::LoadByteLength(TNode<JSArrayBuffer> buffer) {
return LoadObjectField<UintPtrT>(buffer, JSArrayBuffer::kByteLengthOffset);
}
TNode<JSArrayBuffer> CodeStubAssembler::LoadJSArrayBufferViewBuffer( TNode<JSArrayBuffer> CodeStubAssembler::LoadJSArrayBufferViewBuffer(
TNode<JSArrayBufferView> array_buffer_view) { TNode<JSArrayBufferView> array_buffer_view) {
return LoadObjectField<JSArrayBuffer>(array_buffer_view, return LoadObjectField<JSArrayBuffer>(array_buffer_view,
...@@ -13168,18 +13164,6 @@ TNode<Smi> CodeStubAssembler::LoadJSTypedArrayLength( ...@@ -13168,18 +13164,6 @@ TNode<Smi> CodeStubAssembler::LoadJSTypedArrayLength(
return LoadObjectField<Smi>(typed_array, JSTypedArray::kLengthOffset); return LoadObjectField<Smi>(typed_array, JSTypedArray::kLengthOffset);
} }
void CodeStubAssembler::StoreByteOffset(TNode<JSTypedArray> typed_array,
TNode<UintPtrT> byte_offset) {
StoreObjectFieldNoWriteBarrier<UintPtrT>(
typed_array, JSTypedArray::kByteOffsetOffset, byte_offset);
}
void CodeStubAssembler::StoreByteLength(TNode<JSTypedArray> typed_array,
TNode<UintPtrT> byte_length) {
StoreObjectFieldNoWriteBarrier<UintPtrT>(
typed_array, JSTypedArray::kByteLengthOffset, byte_length);
}
CodeStubArguments::CodeStubArguments( CodeStubArguments::CodeStubArguments(
CodeStubAssembler* assembler, Node* argc, Node* fp, CodeStubAssembler* assembler, Node* argc, Node* fp,
CodeStubAssembler::ParameterMode param_mode, ReceiverMode receiver_mode) CodeStubAssembler::ParameterMode param_mode, ReceiverMode receiver_mode)
......
...@@ -3048,7 +3048,6 @@ class V8_EXPORT_PRIVATE CodeStubAssembler ...@@ -3048,7 +3048,6 @@ class V8_EXPORT_PRIVATE CodeStubAssembler
TNode<Uint32T> LoadJSArrayBufferBitField(TNode<JSArrayBuffer> array_buffer); TNode<Uint32T> LoadJSArrayBufferBitField(TNode<JSArrayBuffer> array_buffer);
TNode<RawPtrT> LoadJSArrayBufferBackingStore( TNode<RawPtrT> LoadJSArrayBufferBackingStore(
TNode<JSArrayBuffer> array_buffer); TNode<JSArrayBuffer> array_buffer);
TNode<UintPtrT> LoadByteLength(TNode<JSArrayBuffer> buffer);
Node* IsDetachedBuffer(Node* buffer); Node* IsDetachedBuffer(Node* buffer);
void ThrowIfArrayBufferIsDetached(SloppyTNode<Context> context, void ThrowIfArrayBufferIsDetached(SloppyTNode<Context> context,
TNode<JSArrayBuffer> array_buffer, TNode<JSArrayBuffer> array_buffer,
...@@ -3067,10 +3066,6 @@ class V8_EXPORT_PRIVATE CodeStubAssembler ...@@ -3067,10 +3066,6 @@ class V8_EXPORT_PRIVATE CodeStubAssembler
// JSTypedArray helpers // JSTypedArray helpers
TNode<Smi> LoadJSTypedArrayLength(TNode<JSTypedArray> typed_array); TNode<Smi> LoadJSTypedArrayLength(TNode<JSTypedArray> typed_array);
void StoreByteOffset(TNode<JSTypedArray> typed_array,
TNode<UintPtrT> byte_offset);
void StoreByteLength(TNode<JSTypedArray> typed_array,
TNode<UintPtrT> byte_length);
TNode<IntPtrT> ElementOffsetFromIndex(Node* index, ElementsKind kind, TNode<IntPtrT> ElementOffsetFromIndex(Node* index, ElementsKind kind,
ParameterMode mode, int base_size = 0); ParameterMode mode, int base_size = 0);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment