Commit 6d1913fa authored by Z Duong Nguyen-Huu's avatar Z Duong Nguyen-Huu Committed by Commit Bot

Torquefy a few simple types

JSDate, JSStringIterator, JSAsyncFromSyncIterator, JSDataPropertyDescriptor

Change-Id: Ia2cfd8fa61672fb4d6ec5082bae07e7add97fe60
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1500674Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#60041}
parent 5f4f57eb
...@@ -66,6 +66,9 @@ type Number = Smi | HeapNumber; ...@@ -66,6 +66,9 @@ type Number = Smi | HeapNumber;
type BigInt extends HeapObject generates 'TNode<BigInt>'; type BigInt extends HeapObject generates 'TNode<BigInt>';
type Numeric = Number | BigInt; type Numeric = Number | BigInt;
// The HeapNumber value NaN
type NaN extends HeapNumber;
extern class Struct extends HeapObject {} extern class Struct extends HeapObject {}
extern class Tuple2 extends Struct { extern class Tuple2 extends Struct {
...@@ -296,6 +299,35 @@ extern class JSAccessorPropertyDescriptor extends JSObject { ...@@ -296,6 +299,35 @@ extern class JSAccessorPropertyDescriptor extends JSObject {
extern class JSCollection extends JSObject { table: Object; } extern class JSCollection extends JSObject { table: Object; }
extern class JSDate extends JSObject {
value: NumberOrUndefined;
year: Undefined | Smi | NaN;
month: Undefined | Smi | NaN;
day: Undefined | Smi | NaN;
weekday: Undefined | Smi | NaN;
hour: Undefined | Smi | NaN;
min: Undefined | Smi | NaN;
sec: Undefined | Smi | NaN;
cache_stamp: Undefined | Smi | NaN;
}
extern class JSAsyncFromSyncIterator extends JSObject {
sync_iterator: JSReceiver;
next: Object;
}
extern class JSStringIterator extends JSObject {
string: String;
next_index: Smi;
}
extern class JSDataPropertyDescriptor extends JSObject {
value: Object;
writable: Object;
enumerable: Object;
configurable: Object;
}
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';
......
...@@ -846,18 +846,8 @@ class JSAccessorPropertyDescriptor : public JSObject { ...@@ -846,18 +846,8 @@ class JSAccessorPropertyDescriptor : public JSObject {
// FromPropertyDescriptor function for regular data properties. // FromPropertyDescriptor function for regular data properties.
class JSDataPropertyDescriptor : public JSObject { class JSDataPropertyDescriptor : public JSObject {
public: public:
// Layout description. DEFINE_FIELD_OFFSET_CONSTANTS(
#define JS_DATA_PROPERTY_DESCRIPTOR_FIELDS(V) \ JSObject::kHeaderSize, TORQUE_GENERATED_JSDATA_PROPERTY_DESCRIPTOR_FIELDS)
V(kValueOffset, kTaggedSize) \
V(kWritableOffset, kTaggedSize) \
V(kEnumerableOffset, kTaggedSize) \
V(kConfigurableOffset, kTaggedSize) \
/* Total size. */ \
V(kSize, 0)
DEFINE_FIELD_OFFSET_CONSTANTS(JSObject::kHeaderSize,
JS_DATA_PROPERTY_DESCRIPTOR_FIELDS)
#undef JS_DATA_PROPERTY_DESCRIPTOR_FIELDS
// Indices of in-object properties. // Indices of in-object properties.
static const int kValueIndex = 0; static const int kValueIndex = 0;
...@@ -1303,22 +1293,8 @@ class JSDate : public JSObject { ...@@ -1303,22 +1293,8 @@ class JSDate : public JSObject {
kTimezoneOffset kTimezoneOffset
}; };
// Layout description. DEFINE_FIELD_OFFSET_CONSTANTS(JSObject::kHeaderSize,
#define JS_DATE_FIELDS(V) \ TORQUE_GENERATED_JSDATE_FIELDS)
V(kValueOffset, kTaggedSize) \
V(kYearOffset, kTaggedSize) \
V(kMonthOffset, kTaggedSize) \
V(kDayOffset, kTaggedSize) \
V(kWeekdayOffset, kTaggedSize) \
V(kHourOffset, kTaggedSize) \
V(kMinOffset, kTaggedSize) \
V(kSecOffset, kTaggedSize) \
V(kCacheStampOffset, kTaggedSize) \
/* Header size. */ \
V(kSize, 0)
DEFINE_FIELD_OFFSET_CONSTANTS(JSObject::kHeaderSize, JS_DATE_FIELDS)
#undef JS_DATE_FIELDS
private: private:
inline Object DoGetField(FieldIndex index); inline Object DoGetField(FieldIndex index);
...@@ -1428,16 +1404,8 @@ class JSAsyncFromSyncIterator : public JSObject { ...@@ -1428,16 +1404,8 @@ class JSAsyncFromSyncIterator : public JSObject {
// subsequent "next" invocations. // subsequent "next" invocations.
DECL_ACCESSORS(next, Object) DECL_ACCESSORS(next, Object)
// Layout description. DEFINE_FIELD_OFFSET_CONSTANTS(
#define JS_ASYNC_FROM_SYNC_ITERATOR_FIELDS(V) \ JSObject::kHeaderSize, TORQUE_GENERATED_JSASYNC_FROM_SYNC_ITERATOR_FIELDS)
V(kSyncIteratorOffset, kTaggedSize) \
V(kNextOffset, kTaggedSize) \
/* Total size. */ \
V(kSize, 0)
DEFINE_FIELD_OFFSET_CONSTANTS(JSObject::kHeaderSize,
JS_ASYNC_FROM_SYNC_ITERATOR_FIELDS)
#undef JS_ASYNC_FROM_SYNC_ITERATOR_FIELDS
OBJECT_CONSTRUCTORS(JSAsyncFromSyncIterator, JSObject); OBJECT_CONSTRUCTORS(JSAsyncFromSyncIterator, JSObject);
}; };
...@@ -1457,16 +1425,8 @@ class JSStringIterator : public JSObject { ...@@ -1457,16 +1425,8 @@ class JSStringIterator : public JSObject {
inline int index() const; inline int index() const;
inline void set_index(int value); inline void set_index(int value);
// Layout description.
#define JS_STRING_ITERATOR_FIELDS(V) \
V(kStringOffset, kTaggedSize) \
V(kNextIndexOffset, kTaggedSize) \
/* Total size. */ \
V(kSize, 0)
DEFINE_FIELD_OFFSET_CONSTANTS(JSObject::kHeaderSize, DEFINE_FIELD_OFFSET_CONSTANTS(JSObject::kHeaderSize,
JS_STRING_ITERATOR_FIELDS) TORQUE_GENERATED_JSSTRING_ITERATOR_FIELDS)
#undef JS_STRING_ITERATOR_FIELDS
OBJECT_CONSTRUCTORS(JSStringIterator, JSObject); OBJECT_CONSTRUCTORS(JSStringIterator, JSObject);
}; };
......
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