Revert "[torque] Convert few class layout to torque and updated torque code formatter."
This reverts commit b9bfd006f6b8ee9cff88adb39ed11f8c516f5c49.
Reason for revert:
The updated formatter violates some existing files that now require
new formatting:
https://ci.chromium.org/p/v8/builders/ci/V8%20Presubmit/4411
Original change's description:
> [torque] Convert few class layout to torque and updated torque code formatter.
>
> 1. Converted Module, JSModuleNameSpace, JSCollator, JSV8BreakIterator,
> TemplateList,
> JSStrictArgumentsObject to torque.
> 2. Updated torque code formatter to now handle multi-line
> declarations correctly.
>
> Bug: v8:8952
> Change-Id: I97846b1bc0d2cba5d7a68468fc263423b1b55d19
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1536988
> Reviewed-by: Simon Zünd <szuend@chromium.org>
> Commit-Queue: Suraj Sharma <surshar@microsoft.com>
> Cr-Commit-Position: refs/heads/master@{#61624}
TBR=jgruber@chromium.org,tebbi@chromium.org,surshar@microsoft.com,szuend@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: v8:8952
Change-Id: I98424deb8002ba9b92262c4b7a1f753bd7c4f7c9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617927
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#61629}
diff --git a/src/builtins/base.tq b/src/builtins/base.tq
index edb0510..b5e04d2 100644
--- a/src/builtins/base.tq
+++ b/src/builtins/base.tq
@@ -16,7 +16,6 @@
#include 'src/objects/js-regexp-string-iterator.h'
#include 'src/objects/module.h'
#include 'src/objects/stack-frame-info.h'
-#include 'src/objects/template-objects.h'
#include 'src/builtins/builtins-regexp-gen.h'
type void;
@@ -366,11 +365,6 @@
callee: Object;
}
-@hasSameInstanceTypeAsParent
-@noVerifier
-extern class JSStrictArgumentsObject extends JSArgumentsObjectWithLength {
-}
-
extern class JSArrayIterator extends JSObject {
iterated_object: JSReceiver;
next_index: Number;
@@ -434,36 +428,7 @@
type NoSharedNameSentinel extends Smi;
-type ModuleInfo extends FixedArray;
-type ObjectHashTable extends FixedArray;
-
-extern class Module extends Struct {
- code: SharedFunctionInfo | JSFunction |
- JSGeneratorObject | ModuleInfo;
- exports: ObjectHashTable;
- regular_exports: FixedArray;
- regular_imports: FixedArray;
- hash: Smi;
- status: Smi;
- module_namespace: JSModuleNamespace | Undefined;
- requested_modules: FixedArray;
- dfs_index: Smi;
- dfs_ancestor_index: Smi;
- exception: Object;
- script: Script;
- @noVerifier import_meta: Hole | JSObject;
-}
-
-extern class JSModuleNamespace extends JSObject {
- module: Module;
- to_string_tag_field: Object;
-}
-
-@hasSameInstanceTypeAsParent
-@noVerifier
-extern class TemplateList extends FixedArray {
-}
-
+type JSModuleNamespace extends JSObject;
type WeakArrayList extends HeapObject;
@abstract
diff --git a/src/objects-debug.cc b/src/objects-debug.cc
index 32a2e12..1847242 100644
--- a/src/objects-debug.cc
+++ b/src/objects-debug.cc
@@ -1571,7 +1571,10 @@
CHECK_IMPLIES(is_zero(), !sign()); // There is no -0n.
}
-USE_TORQUE_VERIFIER(JSModuleNamespace)
+void JSModuleNamespace::JSModuleNamespaceVerify(Isolate* isolate) {
+ CHECK(IsJSModuleNamespace());
+ VerifyPointer(isolate, module());
+}
void ModuleInfoEntry::ModuleInfoEntryVerify(Isolate* isolate) {
TorqueGeneratedClassVerifiers::ModuleInfoEntryVerify(*this, isolate);
@@ -1581,7 +1584,17 @@
}
void Module::ModuleVerify(Isolate* isolate) {
- TorqueGeneratedClassVerifiers::ModuleVerify(*this, isolate);
+ CHECK(IsModule());
+
+ VerifyPointer(isolate, code());
+ VerifyPointer(isolate, exports());
+ VerifyPointer(isolate, module_namespace());
+ VerifyPointer(isolate, requested_modules());
+ VerifyPointer(isolate, script());
+ VerifyPointer(isolate, import_meta());
+ VerifyPointer(isolate, exception());
+ VerifySmiField(kHashOffset);
+ VerifySmiField(kStatusOffset);
CHECK((status() >= kEvaluating && code()->IsModuleInfo()) ||
(status() == kInstantiated && code()->IsJSGeneratorObject()) ||
@@ -1865,10 +1878,25 @@
USE_TORQUE_VERIFIER(InterpreterData)
#ifdef V8_INTL_SUPPORT
+void JSV8BreakIterator::JSV8BreakIteratorVerify(Isolate* isolate) {
+ JSObjectVerify(isolate);
+ VerifyObjectField(isolate, kLocaleOffset);
+ VerifyObjectField(isolate, kTypeOffset);
+ VerifyObjectField(isolate, kBreakIteratorOffset);
+ VerifyObjectField(isolate, kUnicodeStringOffset);
+ VerifyObjectField(isolate, kBoundAdoptTextOffset);
+ VerifyObjectField(isolate, kBoundFirstOffset);
+ VerifyObjectField(isolate, kBoundNextOffset);
+ VerifyObjectField(isolate, kBoundCurrentOffset);
+ VerifyObjectField(isolate, kBoundBreakTypeOffset);
+}
-USE_TORQUE_VERIFIER(JSV8BreakIterator)
-
-USE_TORQUE_VERIFIER(JSCollator)
+void JSCollator::JSCollatorVerify(Isolate* isolate) {
+ CHECK(IsJSCollator());
+ JSObjectVerify(isolate);
+ VerifyObjectField(isolate, kICUCollatorOffset);
+ VerifyObjectField(isolate, kBoundCompareOffset);
+}
void JSDateTimeFormat::JSDateTimeFormatVerify(Isolate* isolate) {
TorqueGeneratedClassVerifiers::JSDateTimeFormatVerify(*this, isolate);
diff --git a/src/objects/intl-objects.tq b/src/objects/intl-objects.tq
index 0d24e48..67d8537 100644
--- a/src/objects/intl-objects.tq
+++ b/src/objects/intl-objects.tq
@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include 'src/objects/js-break-iterator.h'
-#include 'src/objects/js-collator.h'
#include 'src/objects/js-number-format.h'
#include 'src/objects/js-objects.h'
#include 'src/objects/js-plural-rules.h'
@@ -64,20 +62,3 @@
unicode_string: Foreign; // Managed<icu::UnicodeString>
flags: Smi;
}
-
-extern class JSV8BreakIterator extends JSObject {
- locale: String;
- break_iterator: Foreign; // Managed<icu::BreakIterator>;
- unicode_string: Foreign; // Managed<icu::UnicodeString>;
- bound_adopt_text: Undefined | JSFunction;
- bound_first: Undefined | JSFunction;
- bound_next: Undefined | JSFunction;
- bound_current: Undefined | JSFunction;
- bound_break_type: Undefined | JSFunction;
- break_iterator_type: Smi;
-}
-
-extern class JSCollator extends JSObject {
- icu_collator: Foreign; // Managed<icu::Collator>
- bound_compare: Undefined | JSFunction;
-}
diff --git a/src/objects/js-break-iterator-inl.h b/src/objects/js-break-iterator-inl.h
index f98be59..7c22be2 100644
--- a/src/objects/js-break-iterator-inl.h
+++ b/src/objects/js-break-iterator-inl.h
@@ -22,12 +22,11 @@
inline void JSV8BreakIterator::set_type(Type type) {
DCHECK_GT(JSV8BreakIterator::Type::COUNT, type);
- WRITE_FIELD(*this, kBreakIteratorTypeOffset,
- Smi::FromInt(static_cast<int>(type)));
+ WRITE_FIELD(*this, kTypeOffset, Smi::FromInt(static_cast<int>(type)));
}
inline JSV8BreakIterator::Type JSV8BreakIterator::type() const {
- Object value = READ_FIELD(*this, kBreakIteratorTypeOffset);
+ Object value = READ_FIELD(*this, kTypeOffset);
return static_cast<JSV8BreakIterator::Type>(Smi::ToInt(value));
}
diff --git a/src/objects/js-break-iterator.h b/src/objects/js-break-iterator.h
index 35832e3..3eff347 100644
--- a/src/objects/js-break-iterator.h
+++ b/src/objects/js-break-iterator.h
@@ -15,7 +15,6 @@
#include "src/objects.h"
#include "src/objects/intl-objects.h"
#include "src/objects/managed.h"
-#include "torque-generated/field-offsets-tq.h"
// Has to be the last include (doesn't have include guards):
#include "src/objects/object-macros.h"
@@ -71,8 +70,22 @@
DECL_ACCESSORS(bound_break_type, Object)
// Layout description.
- DEFINE_FIELD_OFFSET_CONSTANTS(JSObject::kHeaderSize,
- TORQUE_GENERATED_JSV8BREAK_ITERATOR_FIELDS)
+#define BREAK_ITERATOR_FIELDS(V) \
+ /* Pointer fields. */ \
+ V(kLocaleOffset, kTaggedSize) \
+ V(kTypeOffset, kTaggedSize) \
+ V(kBreakIteratorOffset, kTaggedSize) \
+ V(kUnicodeStringOffset, kTaggedSize) \
+ V(kBoundAdoptTextOffset, kTaggedSize) \
+ V(kBoundFirstOffset, kTaggedSize) \
+ V(kBoundNextOffset, kTaggedSize) \
+ V(kBoundCurrentOffset, kTaggedSize) \
+ V(kBoundBreakTypeOffset, kTaggedSize) \
+ /* Total Size */ \
+ V(kSize, 0)
+
+ DEFINE_FIELD_OFFSET_CONSTANTS(JSObject::kHeaderSize, BREAK_ITERATOR_FIELDS)
+#undef BREAK_ITERATOR_FIELDS
OBJECT_CONSTRUCTORS(JSV8BreakIterator, JSObject);
};
diff --git a/src/objects/js-collator-inl.h b/src/objects/js-collator-inl.h
index 6d277e72..b6fa239 100644
--- a/src/objects/js-collator-inl.h
+++ b/src/objects/js-collator-inl.h
@@ -20,7 +20,7 @@
OBJECT_CONSTRUCTORS_IMPL(JSCollator, JSObject)
-ACCESSORS(JSCollator, icu_collator, Managed<icu::Collator>, kIcuCollatorOffset)
+ACCESSORS(JSCollator, icu_collator, Managed<icu::Collator>, kICUCollatorOffset)
ACCESSORS(JSCollator, bound_compare, Object, kBoundCompareOffset)
CAST_ACCESSOR(JSCollator)
diff --git a/src/objects/js-collator.h b/src/objects/js-collator.h
index ff4054c..e5d223a 100644
--- a/src/objects/js-collator.h
+++ b/src/objects/js-collator.h
@@ -47,8 +47,14 @@
DECL_VERIFIER(JSCollator)
// Layout description.
- DEFINE_FIELD_OFFSET_CONSTANTS(JSObject::kHeaderSize,
- TORQUE_GENERATED_JSCOLLATOR_FIELDS)
+#define JS_COLLATOR_FIELDS(V) \
+ V(kICUCollatorOffset, kTaggedSize) \
+ V(kBoundCompareOffset, kTaggedSize) \
+ /* Total size. */ \
+ V(kSize, 0)
+
+ DEFINE_FIELD_OFFSET_CONSTANTS(JSObject::kHeaderSize, JS_COLLATOR_FIELDS)
+#undef JS_COLLATOR_FIELDS
DECL_ACCESSORS(icu_collator, Managed<icu::Collator>)
DECL_ACCESSORS(bound_compare, Object)
diff --git a/src/objects/module.h b/src/objects/module.h
index b80d4ab..5137d92 100644
--- a/src/objects/module.h
+++ b/src/objects/module.h
@@ -9,7 +9,6 @@
#include "src/objects/fixed-array.h"
#include "src/objects/js-objects.h"
#include "src/objects/struct.h"
-#include "torque-generated/field-offsets-tq.h"
// Has to be the last include (doesn't have include guards):
#include "src/objects/object-macros.h"
@@ -127,8 +126,25 @@
Handle<Module> module);
// Layout description.
- DEFINE_FIELD_OFFSET_CONSTANTS(Struct::kHeaderSize,
- TORQUE_GENERATED_MODULE_FIELDS)
+#define MODULE_FIELDS(V) \
+ V(kCodeOffset, kTaggedSize) \
+ V(kExportsOffset, kTaggedSize) \
+ V(kRegularExportsOffset, kTaggedSize) \
+ V(kRegularImportsOffset, kTaggedSize) \
+ V(kHashOffset, kTaggedSize) \
+ V(kModuleNamespaceOffset, kTaggedSize) \
+ V(kRequestedModulesOffset, kTaggedSize) \
+ V(kStatusOffset, kTaggedSize) \
+ V(kDfsIndexOffset, kTaggedSize) \
+ V(kDfsAncestorIndexOffset, kTaggedSize) \
+ V(kExceptionOffset, kTaggedSize) \
+ V(kScriptOffset, kTaggedSize) \
+ V(kImportMetaOffset, kTaggedSize) \
+ /* Total size. */ \
+ V(kSize, 0)
+
+ DEFINE_FIELD_OFFSET_CONSTANTS(Struct::kHeaderSize, MODULE_FIELDS)
+#undef MODULE_FIELDS
private:
friend class Factory;
@@ -229,14 +245,23 @@
LookupIterator* it);
// In-object fields.
- static constexpr int kToStringTagFieldIndex = 0;
- static constexpr int kInObjectFieldCount = 1;
+ enum {
+ kToStringTagFieldIndex,
+ kInObjectFieldCount,
+ };
- // Layout description.
+// Layout description.
+#define JS_MODULE_NAMESPACE_FIELDS(V) \
+ V(kModuleOffset, kTaggedSize) \
+ /* Header size. */ \
+ V(kHeaderSize, 0) \
+ V(kInObjectFieldsOffset, kTaggedSize* kInObjectFieldCount) \
+ /* Total size. */ \
+ V(kSize, 0)
+
DEFINE_FIELD_OFFSET_CONSTANTS(JSObject::kHeaderSize,
- TORQUE_GENERATED_JSMODULE_NAMESPACE_FIELDS)
-
- static const int kHeaderSize = kToStringTagFieldOffset;
+ JS_MODULE_NAMESPACE_FIELDS)
+#undef JS_MODULE_NAMESPACE_FIELDS
OBJECT_CONSTRUCTORS(JSModuleNamespace, JSObject);
};
@@ -284,7 +309,6 @@
kRegularExportExportNamesOffset,
kRegularExportLength
};
-
OBJECT_CONSTRUCTORS(ModuleInfo, FixedArray);
};
diff --git a/tools/torque/format-torque.py b/tools/torque/format-torque.py
index 1ef700a..25e7a74 100755
--- a/tools/torque/format-torque.py
+++ b/tools/torque/format-torque.py
@@ -88,8 +88,8 @@
while True:
old = output
- output = re.sub(r'(\w+)\s{0,1}\|(\n{0,1}\s*)/\*\*/(\s*\w+)',
- r'\1 |\2\3', output)
+ output = re.sub(r'(\w+)\s{0,1}\|\s{0,1}/\*\*/(\s*\w+)',
+ r'\1 |\2', output)
if old == output:
break;