- 21 Apr, 2009 3 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
- 20 Apr, 2009 1 commit
-
-
Simon Marlow authored
It turns out we can easily support breakpoints on expressions with unlifted types, by translating case tick# of _ -> e into let f = \s . case tick# of _ -> e in f realWorld# instead of just a plain let-binding. This is the same trick that GHC uses for abstracting join points of unlifted type. In #2845, GHC has eta-expanded the tick expression, changing the result type from IO a to (# State#, a #), which was the reason the tick was suddenly being ignored. By supporting ticks on unlifted expressions we can make it work again, although some confusion might arise because _result will no longer be available (it now has unboxed-tuple type, so we can't bind it in the environment). The underlying problem here is that GHC does transformations like eta-expanding the tick expressions, and there's nothing we can do to prevent that.
-
- 03 Apr, 2009 1 commit
-
-
Simon Marlow authored
-
- 20 Apr, 2009 3 commits
-
-
Ben.Lippmeier@anu.edu.au authored
Can't use windowed regs because the window moves during a function call. Can't use the global regs because they're reserved for other purposes.
-
Ben.Lippmeier@anu.edu.au authored
-
Ben.Lippmeier@anu.edu.au authored
-
- 19 Apr, 2009 1 commit
-
-
mnislaih authored
My previous patch didn't completely solve the problem. I believe I got it right this time.
-
- 18 Apr, 2009 3 commits
-
-
mnislaih authored
Fix a bug in :print affecting data types with unboxed components
-
Ben.Lippmeier@anu.edu.au authored
The x86 code generator sometimes generates nop moves like movl %vI_a %vI_a, but we'll just ignore them for coalescing purposes instead of emitting an error. It shouldn't hurt anything.
-
waern authored
I forgot to record some additional changes.
-
- 17 Apr, 2009 1 commit
-
-
waern authored
Simon P-J suggested the following simplifications in #3097: * Allow nested foralls in `ctype` just like in `ctypedoc`. * Use `gentype` rather than `type` in the LHS of type declarations. * Inline `type` in `ctype`. * Rename `gentype` to `type`. This patch does this. Also, the equivalent thing is done for documented types.
-
- 13 Apr, 2009 5 commits
-
-
donnie@darthik.com authored
postEventTypeID was used to post event marker IDs, but instead we just call postWord16 directly; thus, this function is unused.
-
donnie@darthik.com authored
For consistency, changed access of thread id to be through capability instead of directly from StgRegTable.
-
donnie@darthik.com authored
-
donnie@darthik.com authored
StgWord64 other better represents this argument since it can be used as any particular data, thus "other" and not the "from" capability as it was previously strictly used. Also, StgWord64 is normally larger than type nat to allow for larger data to be passed through the "other" argument.
-
donnie@darthik.com authored
Fixed ThreadID to be defined as StgThreadID, not StgWord64. Changed CapabilityNum to CapNo. Added helper functions postCapNo() and postThreadID(). ThreadID was StgWord64, but should have been StgThreadID, which is currently StgWord32. Changed name from CapabilityNum to CapNo to better reflect naming in Capability struct where "no" is the capability number. Modified EventLog.c to use the helper functions postCapNo() and postThreadID () for CapNo and ThreadID.
-
- 03 Apr, 2009 2 commits
-
-
donnie@darthik.com authored
EventTypeDescriptions order must be synchronized with the event type definitions in includes/EventLogFormat.h for the definitions to correctly index with the matching description.
-
donnie@darthik.com authored
-
- 07 Apr, 2009 1 commit
-
-
Ian Lynagh authored
-
- 09 Apr, 2009 2 commits
-
-
simonpj@microsoft.com authored
This patch sligtly re-adjusts the way in which the syntax of types is handled: * In the lexer, '.' and '*' are always accepted in types (previously it was conditional). This things can't mean anything else in H98, which is the only reason for doing things conditionally in the lexer. * As a result '.' in types is never treated as an operator. Instead, lacking a 'forall' keyword, it turns into a plain parse error. * Test for -XKindSignatures in the renamer when processing a) type variable bindings b) types with sigs (ty :: kind-sig) * Make -XKindSignatures be implied by -XTypeFamilies Previously this was buried in the conditonal lexing of '*'
-
simonpj@microsoft.com authored
-
- 04 Apr, 2009 1 commit
-
-
Ian Lynagh authored
With the On x86, use thread-local storage instead of stealing a reg for gct patch, on Windows and OS X: error: thread-local storage not supported for this target
-
- 31 Mar, 2009 2 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- 03 Apr, 2009 2 commits
-
-
dias@eecs.tufts.edu authored
-
dias@eecs.tufts.edu authored
One of these things is not like the others: stdPattern :: [LRep] -> Maybe StgHalfWord stdPattern reps = case reps of [] -> Just ARG_NONE -- just void args, probably [N] -> Just ARG_N [P] -> Just ARG_N [F] -> Just ARG_F [D] -> Just ARG_D [L] -> Just ARG_L Today's debugging session was brought to you by the letter P.
-
- 31 Mar, 2009 1 commit
-
-
dias@eecs.tufts.edu authored
- Block concat and branch-chain elimination were allowing a function call to return to the caller's entry point. But that doesn't leave anywhere for the infotable on the stack, since the SP on return must be the same as the SP on entry to the procedure.
-
- 25 Mar, 2009 1 commit
-
-
dias@eecs.tufts.edu authored
- Previously, the node was taken as a parameter, then ignored, for static closures. Goofy. Now, the vestigial node parameters are gone.
-
- 23 Mar, 2009 6 commits
-
-
dias@eecs.tufts.edu authored
-
dias@eecs.tufts.edu authored
Code simplifications due to call/return separation; some improvements to how node argument is managed
-
dias@eecs.tufts.edu authored
-
dias@eecs.tufts.edu authored
-
dias@eecs.tufts.edu authored
-
dias@eecs.tufts.edu authored
-
- 03 Apr, 2009 3 commits
-
-
Simon Marlow authored
Benchmarks show that using TLS instead of stealing a register is better by a few percent on x86, due to the lack of registers. This only affects -threaded; without -threaded we're (now) using static storage for the GC data.
-
Simon Marlow authored
-
Simon Marlow authored
-
- 02 Apr, 2009 1 commit
-
-
Simon Marlow authored
-