• Seth Brenith's avatar
    Reland "[torque] Support bitfield structs stored within Smis" · 527f9de1
    Seth Brenith authored
    This reverts commit 4dc1fb4e.
    
    Reason for revert: the regression from the original change was likely due to unlucky factors like code alignment.
    
    Original change's description:
    > Revert "[torque] Support bitfield structs stored within Smis"
    >
    > This reverts commit e5e4ea96.
    >
    > Reason for revert: mysterious performance regression chromium:1052756
    >
    > Original change's description:
    > > [torque] Support bitfield structs stored within Smis
    > >
    > > This change moves the definition of the bits stored in DebugInfo::flags
    > > to Torque, and updates the only Torque usage of that field to use more
    > > natural syntax. This is intended as an example of common patterns found
    > > in various other classes. Several supporting changes are required:
    > >
    > > 1. Add a new type representing a bitfield struct stored within a Smi. It
    > >    is currently called SmiTagged, but I'm open to suggestions.
    > > 2. Add an enum-style output for Torque bitfield structs whose bitfields
    > >    occupy only one bit each.
    > > 3. Add a new case to MachineOperatorReducer that makes the generated
    > >    code for IncBlockCounter match with what was generated before this
    > >    change.
    > > 4. Add support for reporting these bitfields in the postmortem debugging
    > >    API. The format matches existing bitfields but with an offset value
    > >    that includes the SMI shift size.
    > >
    > > Bug: v8:7793
    > > Change-Id: Icaecbe4a162da55d2d9a3a35a8ea85b285b2f1b7
    > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2028832
    > > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
    > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
    > > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
    > > Cr-Commit-Position: refs/heads/master@{#66182}
    >
    > Bug: chromium:1052756, v8:7793
    > Change-Id: I9e2897efbb6321124bf4952cf09de2f179f7310d
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2062569
    > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
    > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#66349}
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: chromium:1052756, v8:7793
    Change-Id: I6087928aa14c8551ebd294513bd8d6ffa402a0d4
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2070635Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
    Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
    Cr-Commit-Position: refs/heads/master@{#66465}
    527f9de1
Name
Last commit
Last update
..
arm Loading commit data...
arm64 Loading commit data...
backend Loading commit data...
ia32 Loading commit data...
mips Loading commit data...
mips64 Loading commit data...
ppc Loading commit data...
regalloc Loading commit data...
s390 Loading commit data...
x64 Loading commit data...
branch-elimination-unittest.cc Loading commit data...
bytecode-analysis-unittest.cc Loading commit data...
checkpoint-elimination-unittest.cc Loading commit data...
common-operator-reducer-unittest.cc Loading commit data...
common-operator-unittest.cc Loading commit data...
compiler-test-utils.h Loading commit data...
constant-folding-reducer-unittest.cc Loading commit data...
control-equivalence-unittest.cc Loading commit data...
control-flow-optimizer-unittest.cc Loading commit data...
dead-code-elimination-unittest.cc Loading commit data...
decompression-optimizer-unittest.cc Loading commit data...
diamond-unittest.cc Loading commit data...
effect-control-linearizer-unittest.cc Loading commit data...
graph-reducer-unittest.cc Loading commit data...
graph-reducer-unittest.h Loading commit data...
graph-trimmer-unittest.cc Loading commit data...
graph-unittest.cc Loading commit data...
graph-unittest.h Loading commit data...
int64-lowering-unittest.cc Loading commit data...
js-call-reducer-unittest.cc Loading commit data...
js-create-lowering-unittest.cc Loading commit data...
js-intrinsic-lowering-unittest.cc Loading commit data...
js-native-context-specialization-unittest.cc Loading commit data...
js-operator-unittest.cc Loading commit data...
js-typed-lowering-unittest.cc Loading commit data...
linkage-tail-call-unittest.cc Loading commit data...
load-elimination-unittest.cc Loading commit data...
loop-peeling-unittest.cc Loading commit data...
machine-operator-reducer-unittest.cc Loading commit data...
machine-operator-unittest.cc Loading commit data...
node-cache-unittest.cc Loading commit data...
node-matchers-unittest.cc Loading commit data...
node-properties-unittest.cc Loading commit data...
node-test-utils.cc Loading commit data...
node-test-utils.h Loading commit data...
node-unittest.cc Loading commit data...
opcodes-unittest.cc Loading commit data...
persistent-unittest.cc Loading commit data...
redundancy-elimination-unittest.cc Loading commit data...
schedule-unittest.cc Loading commit data...
scheduler-rpo-unittest.cc Loading commit data...
scheduler-unittest.cc Loading commit data...
simplified-lowering-unittest.cc Loading commit data...
simplified-operator-reducer-unittest.cc Loading commit data...
simplified-operator-unittest.cc Loading commit data...
state-values-utils-unittest.cc Loading commit data...
typed-optimization-unittest.cc Loading commit data...
typer-unittest.cc Loading commit data...
value-numbering-reducer-unittest.cc Loading commit data...
zone-stats-unittest.cc Loading commit data...