• 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
..
ls Loading commit data...
OWNERS Loading commit data...
ast.h Loading commit data...
cfg.cc Loading commit data...
cfg.h Loading commit data...
class-debug-reader-generator.cc Loading commit data...
constants.h Loading commit data...
contextual.h Loading commit data...
csa-generator.cc Loading commit data...
csa-generator.h Loading commit data...
declarable.cc Loading commit data...
declarable.h Loading commit data...
declaration-visitor.cc Loading commit data...
declaration-visitor.h Loading commit data...
declarations.cc Loading commit data...
declarations.h Loading commit data...
earley-parser.cc Loading commit data...
earley-parser.h Loading commit data...
global-context.cc Loading commit data...
global-context.h Loading commit data...
implementation-visitor.cc Loading commit data...
implementation-visitor.h Loading commit data...
instance-type-generator.cc Loading commit data...
instructions.cc Loading commit data...
instructions.h Loading commit data...
parameter-difference.h Loading commit data...
runtime-support.h Loading commit data...
server-data.cc Loading commit data...
server-data.h Loading commit data...
source-positions.cc Loading commit data...
source-positions.h Loading commit data...
torque-compiler.cc Loading commit data...
torque-compiler.h Loading commit data...
torque-parser.cc Loading commit data...
torque-parser.h Loading commit data...
torque.cc Loading commit data...
type-inference.cc Loading commit data...
type-inference.h Loading commit data...
type-oracle.cc Loading commit data...
type-oracle.h Loading commit data...
type-visitor.cc Loading commit data...
type-visitor.h Loading commit data...
types.cc Loading commit data...
types.h Loading commit data...
utils.cc Loading commit data...
utils.h Loading commit data...