[commit: ghc] master: Implement jump table fix-ups for linear register allocator. (16a037a)

Edward Z. Yang ezyang at MIT.EDU
Wed Apr 27 19:06:08 CEST 2011


Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/16a037a8f9c7e444230c226081023fe56ffa2264

>---------------------------------------------------------------

commit 16a037a8f9c7e444230c226081023fe56ffa2264
Author: Edward Z. Yang <ezyang at mit.edu>
Date:   Sun Apr 17 23:29:29 2011 +0100

    Implement jump table fix-ups for linear register allocator.
    
    We achieve this by splitting up instruction selection for case
    switches into two parts: the actual code generation, and the
    generation of the accompanying jump table.  With this scheme,
    the jump fixup code can modify the contents of the jump table
    stored within the JMP_TBL (or BCTL) instruction, before the
    actual data section is created.
    
    SPARC and PPC patches are untested; they might not work!
    
    Signed-off-by: Edward Z. Yang <ezyang at mit.edu>

 compiler/nativeGen/AsmCodeGen.lhs   |   19 +++++++++++++++-
 compiler/nativeGen/PPC/CodeGen.hs   |   37 +++++++++++++++----------------
 compiler/nativeGen/PPC/Instr.hs     |   10 ++++----
 compiler/nativeGen/PPC/Ppr.hs       |    2 +-
 compiler/nativeGen/SPARC/CodeGen.hs |   16 +++++++------
 compiler/nativeGen/SPARC/Instr.hs   |   10 +++++---
 compiler/nativeGen/SPARC/Ppr.hs     |    2 +-
 compiler/nativeGen/X86/CodeGen.hs   |   40 ++++++++++++++++++----------------
 compiler/nativeGen/X86/Instr.hs     |   15 ++++++++----
 compiler/nativeGen/X86/Ppr.hs       |    2 +-
 10 files changed, 90 insertions(+), 63 deletions(-)


Diff suppressed because of size. To see it, use:

    git show 16a037a8f9c7e444230c226081023fe56ffa2264



More information about the Cvs-ghc mailing list