Skip to content
Snippets Groups Projects
  1. Jan 31, 2023
  2. Jan 30, 2023
    • Cheng Shao's avatar
      compiler: fix data section alignment in the wasm NCG · da468391
      Cheng Shao authored and Marge Bot's avatar Marge Bot committed
      Previously we tried to lower the alignment requirement as far as
      possible, based on the section kind inferred from the CLabel. For info
      tables, .p2align 1 was applied given the GC should only need the
      lowest bit to tag forwarding pointers. But this would lead to
      unaligned loads/stores, which has a performance penalty even if the
      wasm spec permits it. Furthermore, the test suite has shown memory
      corruption in a few cases when compacting gc is used.
      
      This patch takes a more conservative approach: all data sections
      except C strings align to word size.
      da468391
    • Ben Gamari's avatar
      nativeGen: Disable asm-shortcutting on Darwin · 8bed166b
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      Asm-shortcutting may produce relative references to symbols defined in
      other compilation units. This is not something that MachO relocations
      support (see #21972). For this reason we disable the optimisation on
      Darwin. We do so without a warning since this flag is enabled by `-O2`.
      
      Another way to address this issue would be to rather implement a
      PLT-relocatable jump-table strategy. However, this would only benefit
      Darwin and does not seem worth the effort.
      
      Closes #21972.
      8bed166b
  3. Jan 28, 2023
Loading