simonmar (Simon Marlow)
User

Projects

User Details

User Since
Jun 8 2014, 1:59 AM (224 w, 1 d)

Recent Activity

Fri, Sep 21

simonmar added inline comments to D5168: Always check the relocation value for x86_64.
Fri, Sep 21, 2:32 AM

Thu, Sep 20

simonmar added inline comments to D5168: Always check the relocation value for x86_64.
Thu, Sep 20, 3:18 PM
simonmar accepted D5165: Fix slop zeroing for AP_STACK eager blackholes in debug build.

Looks great, code is cleaner too! Thanks for doing this.

Thu, Sep 20, 9:45 AM
simonmar requested changes to D5165: Fix slop zeroing for AP_STACK eager blackholes in debug build.

I would make a version of overwritingClosure that takes the size parameter and call that. It looks like we're missing out on the call to LDV_recordDead() that overwritingClosure also does.

Thu, Sep 20, 6:54 AM
simonmar added a comment to D5164: Remove -Waggregate-return when building RTS.

Can we just turn off -Waggregate-return instead? It's not useful, there's absolutely nothing wrong with returning structs from functions.

Thu, Sep 20, 6:50 AM

Tue, Sep 18

simonmar added a comment to D5145: Don't shortcut SRTs for static functions (#15544).

Thanks for testing @osa1 and for the code review, and sorry (once again) for the collateral damage caused by the SRT rework!

Tue, Sep 18, 3:36 PM

Sat, Sep 15

simonmar accepted D5152: Stable name comment wibbles.
Sat, Sep 15, 7:13 AM
simonmar accepted D5117: Stable name type role.

Ok cool. We better tell @ekmett that stable-maps is not type-safe any more :)

Sat, Sep 15, 7:12 AM

Fri, Sep 14

simonmar committed rGHCc23f057f1753: Mark code related symbols as @function not @object (authored by last_g).
Mark code related symbols as @function not @object
Fri, Sep 14, 9:19 AM
simonmar closed D4713: Mark code related symbols as @function not @object.
Fri, Sep 14, 9:19 AM
simonmar committed rGHC64c54fff2d65: Mark system and internal symbols as private symbols in asm (authored by last_g).
Mark system and internal symbols as private symbols in asm
Fri, Sep 14, 9:11 AM
simonmar closed D4722: Mark system and internal symbols as private symbols in asm.
Fri, Sep 14, 9:11 AM
simonmar added inline comments to D5145: Don't shortcut SRTs for static functions (#15544).
Fri, Sep 14, 3:38 AM
simonmar added inline comments to D5117: Stable name type role.
Fri, Sep 14, 3:31 AM
simonmar added a comment to D5145: Don't shortcut SRTs for static functions (#15544).

@bgamari I see you reverted the SRT patches. So we're not going with this?

Fri, Sep 14, 3:09 AM

Thu, Sep 13

simonmar added a comment to D5145: Don't shortcut SRTs for static functions (#15544).

nofib results (ignore the runtime results which are unreliable on my laptop, this was just to confirm there was no increase in binary sizes).

Thu, Sep 13, 7:37 AM
simonmar updated the diff for D5145: Don't shortcut SRTs for static functions (#15544).

Also fix this bug in the case of SRTs for recursive groups. See (yet
more) comments for details.

Thu, Sep 13, 4:44 AM

Wed, Sep 12

simonmar planned changes to D5145: Don't shortcut SRTs for static functions (#15544).

Yeah, it seems this doesn't completely fix the problem. Will figure out the right fix tomorrow.

Wed, Sep 12, 2:23 PM
simonmar added a comment to D5145: Don't shortcut SRTs for static functions (#15544).

@bgamari this validated locally but there's a perf test failure in Harbourmaster. Also I see trunk has been failing for quite a while, although the most recent few failures look like a different perf test. Yuck :(

Wed, Sep 12, 2:52 AM
simonmar added inline comments to D5145: Don't shortcut SRTs for static functions (#15544).
Wed, Sep 12, 2:31 AM

Tue, Sep 11

simonmar accepted D5138: rts/Printer.c: always define the findPtr symbol.
Tue, Sep 11, 11:23 AM
simonmar accepted D5142: rts.cabal.in: advertise new default profiling ways (introduced in D5140) for hadrian.
Tue, Sep 11, 11:21 AM
simonmar accepted D5143: Refactor info table entry error messages.
Tue, Sep 11, 11:15 AM
simonmar accepted D5144: Revert incorrect STM wakeup optimisation.
Tue, Sep 11, 11:14 AM
simonmar created D5145: Don't shortcut SRTs for static functions (#15544).
Tue, Sep 11, 10:46 AM

Mon, Sep 10

simonmar added a comment to D5138: rts/Printer.c: always define the findPtr symbol.

Ok, could you also remove the hack in rts/package.conf.in since that's no longer necessary?

Mon, Sep 10, 2:27 AM
simonmar added a comment to D4713: Mark code related symbols as @function not @object.

As a general point, if dtrace is to be a first-class supported feature then it needs to have tests and documentation.

Mon, Sep 10, 2:24 AM
simonmar accepted D5136: Update UnsafeReenter test.
Mon, Sep 10, 2:04 AM
simonmar accepted D5140: Build debugged prof runtimes.

Yeah, I find this useful too and often enable it in my build.mk.

Mon, Sep 10, 1:58 AM

Fri, Sep 7

simonmar added a comment to D4713: Mark code related symbols as @function not @object.

I think we can go ahead with this. @bgamari would you like to push it?

Fri, Sep 7, 9:54 AM
simonmar added inline comments to D5136: Update UnsafeReenter test.
Fri, Sep 7, 9:19 AM
simonmar added a comment to D5138: rts/Printer.c: always define the findPtr symbol.

I presume this is because we can't use the same method that the old build system uses? https://phabricator.haskell.org/diffusion/GHC/browse/master/rts%2Fpackage.conf.in$177-181

Fri, Sep 7, 9:18 AM

Thu, Sep 6

simonmar accepted D5117: Stable name type role.

It would be nicer to put unrelated changes in separate commits, but OK.

Thu, Sep 6, 9:52 AM
simonmar accepted D5134: Various RTS bug fixes:.
Thu, Sep 6, 9:10 AM
simonmar added a comment to D4726: NCG: New code layout algorithm..

If this adds a big compile time overhead, perhaps it should be enabled for -O2 only?

Thu, Sep 6, 5:50 AM
simonmar added a comment to D4713: Mark code related symbols as @function not @object.

@lelf I'm not sure if you're raising an exception to this patch or not. If you are, could you explain exactly what problem it could introduce? @last_g says the patch has no effect on dtrace, do you disagree?

Thu, Sep 6, 5:41 AM
simonmar accepted D5133: Remove an incorrect assertion in threadPaused:.

Thanks!

Thu, Sep 6, 2:42 AM
simonmar accepted D5115: Fix a race between GC threads in concurrent scavenging.

Good catch! Let's get this merged into the stable branch too.

Thu, Sep 6, 2:41 AM
simonmar accepted D5130: Fix -po RTS flag.
Thu, Sep 6, 2:10 AM

Tue, Aug 28

simonmar added a comment to D5098: rts: Make SRTs a distinct closure type.

Hmm, not sure - firstly there are probably a lot more places that need to be changed, and secondly is it worth it?

Tue, Aug 28, 9:11 AM
simonmar accepted D5099: rts: Count SRT scavenging events via ticky.

Sure, why not.

Tue, Aug 28, 9:10 AM
simonmar added a comment to D4713: Mark code related symbols as @function not @object.

I don't have any strong opinions about dtrace (I've never used it). But if it's already broken, did anyone notice? Do we have a ticket for the existing breakage? Who would be affected by breaking it further?

Tue, Aug 28, 8:55 AM
simonmar accepted D4722: Mark system and internal symbols as private symbols in asm.

If the results look good I think we can go with this.

Tue, Aug 28, 8:41 AM
simonmar added inline comments to D5084: Finish stable split.
Tue, Aug 28, 8:31 AM

Aug 23 2018

simonmar added a comment to D5073: Optimize RTS HashTable (Fixes #13165).

One concern I have here is that changing the O(1) incremental expansion to a O(n) growth operation means that we have an unbounded unintnerruptible delay during compaction. This means that a compaction operation might delay GC arbitrarily, blocking all threads until the growth is complete.

That's definitely a pretty big concern of my current approach. I did it this way out of concern for cache-friendliness, although I'll be the first to admit that I don't really have the benchmarks to back my suspicions up. Another way to implement this would be to modify the current implementation to use linear probing within the buckets, although that might be a bit tricky. Should I try that instead?

Aug 23 2018, 1:29 PM
simonmar accepted D5081: Use pointer equality to compare StableNames.

I think this is OK, but needs a comment.

Aug 23 2018, 1:04 PM
simonmar accepted D5075: rts: Handle SMALL_MUT_ARR_PTRS in retainer profilter.

Any functionality without a test case is effectively doomed to break again in a future release, but all things being equal I suppose it's better to have it fixed in this release :)

Aug 23 2018, 12:59 PM
simonmar added inline comments to D5084: Finish stable split.
Aug 23 2018, 12:45 PM
simonmar accepted D5096: rts: Enable -fkeep-inline-functions if gcc isn't clang.
Aug 23 2018, 12:25 PM

Aug 19 2018

simonmar added a comment to D5005: Remove completed threads from the gen->threads list eagerly.
In D5005#137648, @osa1 wrote:

That's a great idea! Out of curiosity, do you have any numbers on how much this improves GC pauses?

Aug 19 2018, 4:58 AM
simonmar added a comment to D5073: Optimize RTS HashTable (Fixes #13165).

One concern I have here is that changing the O(1) incremental expansion to a O(n) growth operation means that we have an unbounded unintnerruptible delay during compaction. This means that a compaction operation might delay GC arbitrarily, blocking all threads until the growth is complete.

Aug 19 2018, 4:00 AM
simonmar added a comment to D5075: rts: Handle SMALL_MUT_ARR_PTRS in retainer profilter.

Could we have a test too please?

Aug 19 2018, 3:54 AM

Aug 11 2018

simonmar added inline comments to D5007: Add traceBinaryEvent# primop.
Aug 11 2018, 5:05 AM

Aug 10 2018

simonmar accepted D5052: rts: Align the_gc_thread to 64 bytes.

LGTM

Aug 10 2018, 3:15 AM
simonmar accepted D5051: Properly tag fun field of PAPs generated by ap_0_fast.

LGTM

Aug 10 2018, 3:08 AM

Jul 25 2018

simonmar committed rGHCDIFFaf04f2b79942: Add test for #7787 (authored by simonmar).
Add test for #7787
Jul 25 2018, 11:12 AM
simonmar committed rGHCDIFF404c995be96e: Fix #7787 (authored by simonmar).
Fix #7787
Jul 25 2018, 11:12 AM
simonmar committed rGHCDIFF5e2a5dc9c884: Add a section of documentation about the interaction of threads and finalizers (authored by simonmar).
Add a section of documentation about the interaction of threads and finalizers
Jul 25 2018, 11:12 AM
simonmar committed rGHCDIFF7827f74d74ec: fix markup bugs (authored by simonmar).
fix markup bugs
Jul 25 2018, 11:12 AM
simonmar committed rGHCDIFFf47ea8e51505: Add an __hsbase_ prefix to the MD5 symbols (#7914) (authored by simonmar).
Add an __hsbase_ prefix to the MD5 symbols (#7914)
Jul 25 2018, 11:11 AM
simonmar committed rGHCDIFF9d604f8d79a7: base: use --host as target, not uname (authored by trofi).
base: use --host as target, not uname
Jul 25 2018, 11:11 AM
simonmar committed rGHCDIFFcc650e13a100: enable memo001/memo002 when fast (authored by simonmar).
enable memo001/memo002 when fast
Jul 25 2018, 11:10 AM
simonmar committed rGHCDIFF6e04f053753c: Use fromException instead of cast when matching exceptions (authored by simonmar).
Use fromException instead of cast when matching exceptions
Jul 25 2018, 11:10 AM
simonmar committed rGHCDIFF8129652784e2: Remove the reliance on relative accuracy of short delays (#7656) (authored by simonmar).
Remove the reliance on relative accuracy of short delays (#7656)
Jul 25 2018, 11:07 AM
simonmar committed rGHCDIFF49cb749db5c0: Release the FD lock before calling close() (#7646) (authored by simonmar).
Release the FD lock before calling close() (#7646)
Jul 25 2018, 11:07 AM
simonmar committed rGHCDIFF1cc5c9cc9d71: Use capi for mkfifo, tcsetattr and tcgetattr (for Android) (authored by simonmar).
Use capi for mkfifo, tcsetattr and tcgetattr (for Android)
Jul 25 2018, 11:07 AM
simonmar committed rGHCDIFF729141824451: add test for #7457 (authored by simonmar).
add test for #7457
Jul 25 2018, 11:07 AM
simonmar committed rGHCDIFF07e79f59d7cf: fix negative numbers for * modifiers (#7457) (authored by simonmar).
fix negative numbers for * modifiers (#7457)
Jul 25 2018, 11:07 AM
simonmar committed rGHCDIFFc0e390f4f6c0: tabs -> spaces (authored by simonmar).
tabs -> spaces
Jul 25 2018, 11:07 AM
simonmar committed rGHCDIFF171f6386a630: Possible fix for detecting Float/Double (authored by singpolyma).
Possible fix for detecting Float/Double
Jul 25 2018, 11:07 AM
simonmar committed rGHCDIFF94e6d7db907c: Removes the assumption that CLK_TCK is a constant (#7519) (authored by simonmar).
Removes the assumption that CLK_TCK is a constant (#7519)
Jul 25 2018, 11:07 AM
simonmar committed rGHCDIFF7a6ddb89608e: remove unnecessary STM import (authored by simonmar).
remove unnecessary STM import
Jul 25 2018, 11:06 AM
simonmar committed rGHCDIFF5f6551b23cbe: unbreak qsem001/qsemn001 (authored by simonmar).
unbreak qsem001/qsemn001
Jul 25 2018, 11:06 AM
simonmar committed rGHCDIFFec335ed4d90d: fix qsem001 & qsemn001 (authored by simonmar).
fix qsem001 & qsemn001
Jul 25 2018, 11:06 AM
simonmar committed rGHCDIFFc8db4bb22570: getNumCapabilities should read enabled_capabilities (#7491) (authored by simonmar).
getNumCapabilities should read enabled_capabilities (#7491)
Jul 25 2018, 11:06 AM
simonmar committed rGHCDIFF756a970eacbb: Make a class for asynchronous exceptions in the exception hierarchy (authored by simonmar).
Make a class for asynchronous exceptions in the exception hierarchy
Jul 25 2018, 11:06 AM
simonmar committed rGHCDIFF2f32d1d2a0c3: Add back new working QSem and QSemN implementations (#7417) (authored by simonmar).
Add back new working QSem and QSemN implementations (#7417)
Jul 25 2018, 11:06 AM
simonmar committed rGHCDIFF6f847e97b37e: Fix #7233: avoid overflow in divInt64# (authored by simonmar).
Fix #7233: avoid overflow in divInt64#
Jul 25 2018, 11:06 AM
simonmar committed rGHCDIFF3c083fae0833: ErrorCall should be a newtype, and derive Eq/Ord (authored by simonmar).
ErrorCall should be a newtype, and derive Eq/Ord
Jul 25 2018, 11:06 AM
simonmar committed rGHCDIFFe2fec9796428: FFI wrapper for kevent() (authored by Iku Iwasa <iku.iwasa@gmail.com>).
FFI wrapper for kevent()
Jul 25 2018, 11:06 AM
simonmar committed rGHCDIFF4aa8bc19c729: Adapt to NetBSD's struct kevent (authored by Iku Iwasa <iku.iwasa@gmail.com>).
Adapt to NetBSD's struct kevent
Jul 25 2018, 11:06 AM
simonmar committed rGHCDIFF39b9f94a7389: Add a big warning to the documentation for Weak (#7250) (authored by simonmar).
Add a big warning to the documentation for Weak (#7250)
Jul 25 2018, 11:05 AM
simonmar committed rGHCDIFF0b14849090ff: add eqStableName :: StableName a -> StableName b -> Bool (authored by simonmar).
add eqStableName :: StableName a -> StableName b -> Bool
Jul 25 2018, 11:05 AM
simonmar committed rGHCDIFF833ba659daab: add pointers to Data.STRef and Data.Array.ST (#7182) (authored by simonmar).
add pointers to Data.STRef and Data.Array.ST (#7182)
Jul 25 2018, 11:05 AM
simonmar committed rGHCDIFFdaa75ea5d150: Remove finalizers from a ForeignPtr atomically (#7170) (authored by simonmar).
Remove finalizers from a ForeignPtr atomically (#7170)
Jul 25 2018, 11:05 AM
simonmar committed rGHCDIFF889ff4aa7d10: add errorWithStackTrace (authored by simonmar).
add errorWithStackTrace
Jul 25 2018, 11:05 AM
simonmar committed rGHCDIFF855ef7348686: Document that a FinalizerPtr is a pointer to a ccall function (#5254) (authored by simonmar).
Document that a FinalizerPtr is a pointer to a ccall function (#5254)
Jul 25 2018, 11:05 AM
simonmar committed rGHCDIFFc888396e9697: fix warnings (authored by simonmar).
fix warnings
Jul 25 2018, 11:05 AM
simonmar committed rGHCDIFF657153aeb615: Add alignment-restricted ForeignPtr allocation actions (authored by NicolasT).
Add alignment-restricted ForeignPtr allocation actions
Jul 25 2018, 11:05 AM
simonmar committed rGHCDIFFb9c580cb1d5d: export the constructors of ForeignPtrContents too (authored by simonmar).
export the constructors of ForeignPtrContents too
Jul 25 2018, 11:05 AM
simonmar committed rGHCDIFF658e926ab4b5: Add strict version of modifySTRef (authored by Joey Adams <joeyadams3.14159@gmail.com>).
Add strict version of modifySTRef
Jul 25 2018, 11:05 AM
simonmar committed rGHCDIFFfc3edb453970: Adapt to removal of catch from Prelude (authored by simonmar).
Adapt to removal of catch from Prelude
Jul 25 2018, 11:05 AM
simonmar committed rGHCDIFF8e08f83afb01: Add Functor instance for Handler (#7047) (authored by simonmar).
Add Functor instance for Handler (#7047)
Jul 25 2018, 11:05 AM
simonmar committed rGHCDIFF9e3fb41b1fa8: Add RatioZeroDenominator to ArithException, and use it instead of error (authored by simonmar).
Add RatioZeroDenominator to ArithException, and use it instead of error
Jul 25 2018, 11:05 AM
simonmar committed rGHCDIFFc8a8b066434c: add some UNPACKs to improve performance a bit (authored by simonmar).
add some UNPACKs to improve performance a bit
Jul 25 2018, 11:04 AM
simonmar committed rGHCDIFF3425c777d635: fix another theoretical deadlock bug in the Chan implementation (c.f. #6153) (authored by simonmar).
fix another theoretical deadlock bug in the Chan implementation (c.f. #6153)
Jul 25 2018, 11:04 AM
simonmar committed rGHCDIFF35d42eedbeb1: add modifyMVarMasked, modifyMVarMasked_ (authored by simonmar).
add modifyMVarMasked, modifyMVarMasked_
Jul 25 2018, 11:04 AM
simonmar committed rGHCDIFFbde4a8411f65: add tests for deadlocks in readChan & writeChan (authored by simonmar).
add tests for deadlocks in readChan & writeChan
Jul 25 2018, 11:04 AM
simonmar committed rGHCDIFF11b4bad5c528: add forkFinally (authored by simonmar).
add forkFinally
Jul 25 2018, 11:04 AM
simonmar committed rGHCDIFF70d4e93be860: add mkWeakMVar; deprecate addMVarFinalizer (#6130) (authored by simonmar).
add mkWeakMVar; deprecate addMVarFinalizer (#6130)
Jul 25 2018, 11:04 AM