| Auto-Submit | +1 |
| Commit-Queue | +1 |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +1 |
LGTM but....
I caught these by doing the "AI review" thing; I no longer trust the "mechanical" changes by AI :/ I wonder what's in the previous mechanical changes which I also didn't review line-by-line
// We won't try to reason about the type of the elements array and thus also
// cannot end up with an empty type for it.
DCHECK(!IsEmptyNodeType(GetType(elements)));this is now gone, is that intentional?
// Initializing stores can place conversion nodes (e.g.
// ChangeInt32ToFloat64) into the virtual object, but conversion nodes
// must not leak into the interpreter frame state -- they belong in
// NodeInfo as alternative representations.now this comment is gone, is that okay?
// TODO(42204525): Support polymorphism. I.e., DOUBLE_ELEMENTS and ELEMENTS
// together.this comment is now gone too
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Auto-Submit | +1 |
| Commit-Queue | +2 |
// We won't try to reason about the type of the elements array and thus also
// cannot end up with an empty type for it.
DCHECK(!IsEmptyNodeType(GetType(elements)));this is now gone, is that intentional?
Done
// Initializing stores can place conversion nodes (e.g.
// ChangeInt32ToFloat64) into the virtual object, but conversion nodes
// must not leak into the interpreter frame state -- they belong in
// NodeInfo as alternative representations.now this comment is gone, is that okay?
Done
// TODO(42204525): Support polymorphism. I.e., DOUBLE_ELEMENTS and ELEMENTS
// together.this comment is now gone too
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
3 is the latest approved patch-set.
The change was submitted with unreviewed changes in the following files:
```
The name of the file: src/maglev/maglev-reducer-inl.h
Insertions: 5, Deletions: 0.
@@ -512,6 +512,9 @@
template <typename BaseT>
ReduceResult MaglevReducer<BaseT>::BuildLoadFixedDoubleArrayElement(
ValueNode* elements, ValueNode* index) {
+ // We won't try to reason about the type of the elements array and thus also
+ // cannot end up with an empty type for it.
+ DCHECK(!IsEmptyNodeType(GetType(elements)));
if constexpr (ReducerBaseWithAllocationTracking<BaseT>) {
if (auto constant = TryGetInt32Constant(index)) {
RETURN_IF_DONE(base_->TryBuildLoadFixedDoubleArrayElementFromAllocation(
@@ -985,6 +988,8 @@
MapInference<MaglevReducer<BaseT>> inference(this, receiver);
auto possible_maps = inference.TryGetPossibleMaps();
ElementsKind elements_kind = NO_ELEMENTS;
+ // TODO(42204525): Support polymorphism. I.e., DOUBLE_ELEMENTS and ELEMENTS
+ // together.
if (!possible_maps || !CanInlineArrayIteratingBuiltin(
broker(), *possible_maps, &elements_kind)) {
return {};
```
```
The name of the file: src/maglev/maglev-graph-builder.cc
Insertions: 4, Deletions: 0.
@@ -4143,6 +4143,10 @@
if (static_cast<uint32_t>(index) >= length.value()) {
return BuildAbort(AbortReason::kUnreachable);
}
+ // Initializing stores can place conversion nodes (e.g.
+ // ChangeInt32ToFloat64) into the virtual object, but conversion nodes
+ // must not leak into the interpreter frame state -- they belong in
+ // NodeInfo as alternative representations.
return vobject->get(FixedDoubleArray::OffsetOfElementAt(index))->Unwrap();
}
```
[maglev] Migrate ArrayIsArray and Array.at
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |