Skip to content
  • Paul Khuong's avatar
    1.0.29.54: Inline unboxed constants on x86[-64] · 2230ea0c
    Paul Khuong authored
    * New build-time feature: inline-constants, which specifies that SB!C
      and SB!VM implement a protocol described in base-target-features.lisp-expr.
      Backends implementing that feature are able to load constants from code
      components, in a section that follows the actual executable code.
    
    * Implement the protocol on x86 and x86-64, and use it for float constants,
      and, on x86-64 only, mid-sized (> 2^(29-32), but still machine-sized)
      integers.
    
    * Use the new feature in integer and float arithmetic VOPs.
    
    * Adjust a few test cases to take newly consing situations into account.
    
    * Clean-up:
      - New build-time feature: float-eql-vops, which disable rewriting EQL
        of single and double floats in terms of foo-float*-bits.
      - Fix a typo (unused variable lookup) in TWO-ARG-+/-
    2230ea0c