simonmar (Simon Marlow)
User

Projects

User Details

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

Recent Activity

Yesterday

simonmar added a comment to D5280: Fix #15758 by making the RTS parse response file arguments.

In this patch, I have copied the relevant bits from the GCC source code, and modified it to fit the GHC conventions.
But, we must make sure that we don't violate the GPL.

Mon, Nov 12, 2:29 AM

Fri, Nov 9

simonmar added a comment to D4780: a naive but simple fix to resolve trac ticket 15207, because currently stgcrun.c when compiled with gcc and then assembled with clang/apple as/llvm assembler fails..

If there's a better fix, please abandon this diff.

Fri, Nov 9, 2:30 AM
simonmar accepted D5287: eventlog: Log the current stack size when stack overflows.
Fri, Nov 9, 2:27 AM
simonmar accepted D5306: UNREG: PprC: Add support for adjacent floats.

I think we'll need to do something much more general than this in the future when we have a mixture of Int8#, Int16#, etc. fields that need to be packed into words. Happy to go with this for now though.

Fri, Nov 9, 2:10 AM

Mon, Nov 5

simonmar accepted D5288: Explicitly pass -fno-PIC to C compiler on linux.

Trac Trac #15847: We don't support loading non-PIC .o on i386, this is why I noticed this issue

Mon, Nov 5, 2:16 AM
simonmar requested changes to D5287: eventlog: Log the current stack size when stack overflows.
Mon, Nov 5, 2:09 AM

Fri, Nov 2

simonmar added a comment to D5288: Explicitly pass -fno-PIC to C compiler on linux.

I'm not sure I understand the problem here. Why is there a missing symbol error?

Fri, Nov 2, 3:38 AM
simonmar accepted D5290: Allocate bss section within proper range of other sections.
Fri, Nov 2, 3:32 AM
simonmar accepted D5293: rts: Allow output filename of eventlog to be specified on the command line.

Sure, seems reasonable.

Fri, Nov 2, 3:28 AM
simonmar accepted D5292: rts: Add FALLTHROUGH macro.

Fine by me

Fri, Nov 2, 3:15 AM

Fri, Oct 26

simonmar added a comment to D5211: Rewrite FastString table in concurrent hashtable.

Thanks for adding the test!

Fri, Oct 26, 2:24 AM
simonmar added inline comments to D5258: Roll forward "Add Int8# and Word8#".
Fri, Oct 26, 2:20 AM

Wed, Oct 24

simonmar updated subscribers of D5255: hadrian: build ghc-iserv-prof in addition to ghc-iserv, as it is required for 10+ tests.
Wed, Oct 24, 10:28 AM
simonmar added inline comments to D5255: hadrian: build ghc-iserv-prof in addition to ghc-iserv, as it is required for 10+ tests.
Wed, Oct 24, 9:44 AM
simonmar accepted D5211: Rewrite FastString table in concurrent hashtable.

This is great. It could be even better if

  • We had your benchmark in the test suite, perhaps testsuite/tests/perf? We can use small parameters so it doesn't run for long.
  • We point to the benchmark from comments in the code, so that others can use it when making future changes.
Wed, Oct 24, 8:27 AM

Fri, Oct 19

simonmar added a comment to D4726: NCG: New code layout algorithm..

A bit more review

Fri, Oct 19, 2:42 AM
simonmar added a comment to D5244: includes: Allow headers to be built with C++11 compilers.

Will this work with g++ with no flags? If not, what else would be needed?

Fri, Oct 19, 2:23 AM

Thu, Oct 18

simonmar accepted D5233: Don't use X86_64_ELF_NONPIC_HACK for +RTS -xp.

btw, use #1234 for ticket references in Phabricator markup.

Thu, Oct 18, 1:22 PM
simonmar accepted D5234: Fix ghc-pkg when only prof way is enabled.

nicecatch

Thu, Oct 18, 1:19 PM
simonmar added a comment to D5232: Remove StgBinderInfo and related computation in CoreToStg.

I think we could remove this, it's a very small code-size optimisation and would require a fair bit more work to implement, not at all clear that it's worth it. I commented more on the ticket.

Thu, Oct 18, 1:15 PM

Mon, Oct 15

simonmar added a comment to D5169: Merge sections in profiling .a to .p_o and use it whenever it exists.
  1. We should build these at installation time, so they don't have to go into the binary distribution (the same goes for the vanilla way` libHSfoo.o` files)
  2. This also needs to be done in Hadrian
Mon, Oct 15, 11:43 AM

Oct 10 2018

simonmar accepted D5214: Generate correct relocation for external cost centre.

Thanks!

Oct 10 2018, 2:59 PM
simonmar accepted D5219: Allocate bss section within proper range of other sections.
Oct 10 2018, 2:59 PM
simonmar added a comment to D5219: Allocate bss section within proper range of other sections.

This looks OK.

Oct 10 2018, 2:59 PM

Oct 9 2018

simonmar added inline comments to D5214: Generate correct relocation for external cost centre.
Oct 9 2018, 3:15 PM
simonmar added a comment to D5210: Add pprList method to Outputable for better String rendering.

For Maybe [String] I would just pprDebug $ text (show x).

Oct 9 2018, 2:04 AM

Oct 8 2018

simonmar added a comment to D5211: Rewrite FastString table in concurrent hashtable.

Wow! Some questions below.

Oct 8 2018, 2:43 AM
simonmar added a comment to D5210: Add pprList method to Outputable for better String rendering.

It's not obvious to me that we should render a String like this in Outputable, after all we don't render a FastString with double quotes, and we don't render a Char with single quotes. Outputable is not intended to produce Haskell concrete syntax, it's mainly for pretty-printing the various internal compiler data structures.

Oct 8 2018, 2:18 AM
simonmar accepted D5212: ghc-heap: Fix writing closures on big endian.
Oct 8 2018, 2:11 AM
simonmar accepted D5201: Fix dataToTag# argument evaluation.
Oct 8 2018, 2:07 AM

Oct 7 2018

simonmar added a comment to D5201: Fix dataToTag# argument evaluation.

Looks good. Was that with the libraries recompiled too?

Oct 7 2018, 2:34 PM
simonmar added a comment to D5201: Fix dataToTag# argument evaluation.
In D5201#143481, @osa1 wrote:

I'd be really interested to see what effect this has on performance and code size too.

Why do you think there will be any difference? We already generate a case around the argument to evaluate it, but we used to do it in Core and sometimes avoid it (incorrectly). Now we do it in Cmm. So the code should really be the same.

I can still test of course, but I'm just curious why you think this makes a difference in code size or performance.

Oct 7 2018, 3:31 AM

Oct 6 2018

simonmar added a comment to D5201: Fix dataToTag# argument evaluation.

I'd be really interested to see what effect this has on performance and code size too.

Oct 6 2018, 4:02 PM
simonmar accepted D5207: UNREG: don't prefix asm prefixes in via-C mode.

Thanks!

Oct 6 2018, 7:05 AM
simonmar accepted D5209: Add a missing write barrier to small array writes.
Oct 6 2018, 7:03 AM

Oct 4 2018

simonmar added a comment to D5204: EXPERIMENTAL: different codegen for tag-check on entering (#8905).

nofib results below

Oct 4 2018, 11:21 AM
simonmar created D5204: EXPERIMENTAL: different codegen for tag-check on entering (#8905).
Oct 4 2018, 11:21 AM
simonmar added a comment to D4717: [WIP] CoreToStg: Try treating String unpackings as single-entry.

@osa1 We save the old info pointer when entering a CAF: https://phabricator.haskell.org/diffusion/GHC/browse/master/rts%2Fsm%2FStorage.c$406

Oct 4 2018, 2:29 AM
simonmar accepted D5195: Add a RTS option -xp to load PIC object anywhere in address space.

Looks good to go, provided it passes validate.

Oct 4 2018, 1:58 AM

Oct 3 2018

simonmar added inline comments to D5195: Add a RTS option -xp to load PIC object anywhere in address space.
Oct 3 2018, 2:46 AM

Oct 1 2018

simonmar added a comment to D4717: [WIP] CoreToStg: Try treating String unpackings as single-entry.

Another option might be to keep top-level strings updatable, but make the GC revert the CAF. That way we would get some of the sharing back.

Oct 1 2018, 2:34 PM
simonmar commandeered D4263: [RTS] Add loadNativeObj and unloadNativeObj.

imcommandeeringthisdiff

Oct 1 2018, 2:47 AM

Sep 29 2018

simonmar added a comment to D4726: NCG: New code layout algorithm..

Partial review

Sep 29 2018, 10:16 AM

Sep 28 2018

simonmar accepted D5168: Always check the relocation value for x86_64.

LGTM

Sep 28 2018, 6:27 PM

Sep 27 2018

simonmar accepted D5186: CodeGen: Teach CodeGen about aliasing of XMM/YMM/ZMM registers.

Builds are failing, but looks unrelated.

Sep 27 2018, 6:01 PM
simonmar added inline comments to D5168: Always check the relocation value for x86_64.
Sep 27 2018, 1:58 PM
simonmar added inline comments to D5168: Always check the relocation value for x86_64.
Sep 27 2018, 11:46 AM
simonmar retitled D5185: Fix for recover with -fexternal-interpreter (#15481) from Fix for recover with -fexternal-interpreter (#15418) to Fix for recover with -fexternal-interpreter (#15481).
Sep 27 2018, 10:56 AM
simonmar committed rGHCd00c308633fe: Fix for recover with -fexternal-interpreter (#15418) (authored by simonmar).
Fix for recover with -fexternal-interpreter (#15418)
Sep 27 2018, 10:54 AM
simonmar closed D5185: Fix for recover with -fexternal-interpreter (#15481).
Sep 27 2018, 10:54 AM
simonmar updated the diff for D5183: Add -fkeep-cafs.

Try to fix test on OS X

Sep 27 2018, 10:51 AM
simonmar added inline comments to D5168: Always check the relocation value for x86_64.
Sep 27 2018, 7:01 AM
simonmar added inline comments to D5185: Fix for recover with -fexternal-interpreter (#15481).
Sep 27 2018, 6:48 AM

Sep 26 2018

simonmar created D5185: Fix for recover with -fexternal-interpreter (#15481).
Sep 26 2018, 3:37 PM
simonmar added a reviewer for D5183: Add -fkeep-cafs: noamz.
Sep 26 2018, 7:50 AM
simonmar created D5183: Add -fkeep-cafs.
Sep 26 2018, 7:48 AM

Sep 25 2018

simonmar added inline comments to D5168: Always check the relocation value for x86_64.
Sep 25 2018, 5:09 PM
simonmar added a comment to D5169: Merge sections in profiling .a to .p_o and use it whenever it exists.

Does that include the ghc package?

Sep 25 2018, 7:02 AM
simonmar accepted D5169: Merge sections in profiling .a to .p_o and use it whenever it exists.

Great! This should make ghc -fexternal-interpreter -prof a lot faster to start up, and some of the tests will run faster.

Sep 25 2018, 5:57 AM

Sep 24 2018

simonmar accepted D5178: Fix a MSG_BLACKHOLE sanity check, add some comments.

Thanks!

Sep 24 2018, 7:59 AM

Sep 21 2018

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

Sep 20 2018

simonmar added inline comments to D5168: Always check the relocation value for x86_64.
Sep 20 2018, 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.

Sep 20 2018, 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.

Sep 20 2018, 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.

Sep 20 2018, 6:50 AM

Sep 18 2018

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!

Sep 18 2018, 3:36 PM

Sep 15 2018

simonmar accepted D5152: Stable name comment wibbles.
Sep 15 2018, 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 :)

Sep 15 2018, 7:12 AM

Sep 14 2018

simonmar committed rGHCc23f057f1753: Mark code related symbols as @function not @object (authored by last_g).
Mark code related symbols as @function not @object
Sep 14 2018, 9:19 AM
simonmar closed D4713: Mark code related symbols as @function not @object.
Sep 14 2018, 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
Sep 14 2018, 9:11 AM
simonmar closed D4722: Mark system and internal symbols as private symbols in asm.
Sep 14 2018, 9:11 AM
simonmar added inline comments to D5145: Don't shortcut SRTs for static functions (#15544).
Sep 14 2018, 3:38 AM
simonmar added inline comments to D5117: Stable name type role.
Sep 14 2018, 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?

Sep 14 2018, 3:09 AM

Sep 13 2018

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).

Sep 13 2018, 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.

Sep 13 2018, 4:44 AM

Sep 12 2018

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.

Sep 12 2018, 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 :(

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

Sep 11 2018

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

Sep 10 2018

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?

Sep 10 2018, 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.

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

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

Sep 10 2018, 1:58 AM

Sep 7 2018

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?

Sep 7 2018, 9:54 AM
simonmar added inline comments to D5136: Update UnsafeReenter test.
Sep 7 2018, 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

Sep 7 2018, 9:18 AM

Sep 6 2018

simonmar accepted D5117: Stable name type role.

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

Sep 6 2018, 9:52 AM
simonmar accepted D5134: Various RTS bug fixes:.
Sep 6 2018, 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?

Sep 6 2018, 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?

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

Thanks!

Sep 6 2018, 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.

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

Aug 28 2018

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?

Aug 28 2018, 9:11 AM