• Seth Brenith's avatar
    [torque] Support bitfield structs stored within Smis · e5e4ea96
    Seth Brenith authored
    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: 's avatarTobias Tebbi <tebbi@chromium.org>
    Reviewed-by: 's avatarNico Hartmann <nicohartmann@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#66182}
    e5e4ea96
machine-operator-reducer-unittest.cc 90.7 KB