[GHC] #3867: ghc: panic! (linkBCO: >= 64k ptrs)
GHC
cvs-ghc at haskell.org
Tue Apr 17 20:07:04 CEST 2012
#3867: ghc: panic! (linkBCO: >= 64k ptrs)
----------------------------------------+-----------------------------------
Reporter: archgrove | Owner:
Type: bug | Status: closed
Priority: high | Milestone: 7.6.1
Component: Compiler | Version: 6.12.1
Resolution: fixed | Keywords:
Os: Unknown/Multiple | Architecture: Unknown/Multiple
Failure: GHC rejects valid program | Difficulty: Unknown
Testcase: | Blockedby:
Blocking: | Related:
----------------------------------------+-----------------------------------
Changes (by pcapriotti):
* status: patch => closed
* resolution: => fixed
Comment:
Pushed:
{{{
commit 6ba8b3309709fa1ad43382e23792b1c4a624d7ad
Author: Paolo Capriotti <p.capriotti at gmail.com>
Date: Mon Apr 16 19:46:26 2012 +0100
Fix operand expansion function.
commit d5ec2967b0662e46b495d4bfeed90ec2a4b02e97
Author: Paolo Capriotti <p.capriotti at gmail.com>
Date: Thu Apr 5 18:42:37 2012 +0100
Implemented word-sized addressing of pointers and literals.
commit f8d48821a819604e21ba0794e8794f76ed21c758
Author: Paolo Capriotti <p.capriotti at gmail.com>
Date: Thu Apr 5 18:09:40 2012 +0100
Bytecode assembler refactoring.
Use a free monad to specify the assembling procedure, so that it can
be
run multiple times without producing side effects.
This paves the way for a more general implementation of variable-sized
instructions, since we need to dry-run the bytecode assembler to
determine the size of the operands for some instructions.
commit e408f4f507d2cfb302a7f5a7f502336672b57107
Author: Paolo Capriotti <p.capriotti at gmail.com>
Date: Thu Apr 5 16:45:21 2012 +0100
Export State monad transformer from ByteCodeItbls.
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.
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/3867#comment:15>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the Glasgow-haskell-bugs
mailing list