[commit: ghc] master: Support large SLIDE instructions. (6dc22bf)
Simon Peyton-Jones
simonpj at microsoft.com
Wed Apr 18 11:09:12 CEST 2012
Paolo:
Nice work. This issue has been around a long time, and Simon tells me you have done a great job on it. Thanks!
Simon
| -----Original Message-----
| From: cvs-ghc-bounces at haskell.org [mailto:cvs-ghc-bounces at haskell.org] On
| Behalf Of Paolo Capriotti
| Sent: 17 April 2012 19:04
| To: cvs-ghc at haskell.org
| Subject: [commit: ghc] master: Support large SLIDE instructions. (6dc22bf)
|
| Repository : ssh://darcs.haskell.org//srv/darcs/ghc
|
| On branch : master
|
| http://hackage.haskell.org/trac/ghc/changeset/6dc22bfa9d0026c09abf94e44f04fb9
| e761d4e54
|
| >---------------------------------------------------------------
|
| commit 6dc22bfa9d0026c09abf94e44f04fb9e761d4e54
| Author: Paolo Capriotti <p.capriotti at gmail.com>
| Date: Thu Apr 5 09:52:18 2012 +0100
|
| Support large SLIDE instructions.
|
| The bytecode generator used to keep track of the stack depth with a
| 16-bit counter, which could overflow for very large BCOs, resulting in
| incorrect bytecode.
|
| This commit switches to a word-sized counter, and eagerly panics
| whenever an operand is too big, instead of truncating the result.
|
| This allows us to work around the 16-bit limitation in the case of SLIDE
| instructions, since we can simply factor it into multiple SLIDEs with
| smaller arguments.
|
| compiler/ghci/ByteCodeGen.lhs | 110 ++++++++++++++++++++++++---------------
| -
| 1 files changed, 66 insertions(+), 44 deletions(-)
|
|
| Diff suppressed because of size. To see it, use:
|
| git show 6dc22bfa9d0026c09abf94e44f04fb9e761d4e54
|
| _______________________________________________
| Cvs-ghc mailing list
| Cvs-ghc at haskell.org
| http://www.haskell.org/mailman/listinfo/cvs-ghc
More information about the Cvs-ghc
mailing list