Commit b6b9c9fd authored by Jaroslav Sevcik's avatar Jaroslav Sevcik Committed by Commit Bot

[turbofan] Equip (Field|Element)Access with constructors.

This prevent forgotten field initializations.

Bug: v8:5267
Change-Id: Iaef5f79af360e2400b29afe878f80870c8a64e71
Reviewed-on: https://chromium-review.googlesource.com/970241
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52049}
parent 78396826
......@@ -49,6 +49,24 @@ struct FieldAccess {
MachineType machine_type; // machine type of the field.
WriteBarrierKind write_barrier_kind; // write barrier hint.
FieldAccess()
: base_is_tagged(kTaggedBase),
offset(0),
type(Type::None()),
machine_type(MachineType::None()),
write_barrier_kind(kFullWriteBarrier) {}
FieldAccess(BaseTaggedness base_is_tagged, int offset, MaybeHandle<Name> name,
MaybeHandle<Map> map, Type* type, MachineType machine_type,
WriteBarrierKind write_barrier_kind)
: base_is_tagged(base_is_tagged),
offset(offset),
name(name),
map(map),
type(type),
machine_type(machine_type),
write_barrier_kind(write_barrier_kind) {}
int tag() const { return base_is_tagged == kTaggedBase ? kHeapObjectTag : 0; }
};
......@@ -75,6 +93,21 @@ struct ElementAccess {
MachineType machine_type; // machine type of the element.
WriteBarrierKind write_barrier_kind; // write barrier hint.
ElementAccess()
: base_is_tagged(kTaggedBase),
header_size(0),
type(Type::None()),
machine_type(MachineType::None()),
write_barrier_kind(kFullWriteBarrier) {}
ElementAccess(BaseTaggedness base_is_tagged, int header_size, Type* type,
MachineType machine_type, WriteBarrierKind write_barrier_kind)
: base_is_tagged(base_is_tagged),
header_size(header_size),
type(type),
machine_type(machine_type),
write_barrier_kind(write_barrier_kind) {}
int tag() const { return base_is_tagged == kTaggedBase ? kHeapObjectTag : 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