gcampax (Giovanni Campagna)
User

Projects

User does not belong to any projects.

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Wednesday

  • Clear sailing ahead.

User Details

User Since
Nov 24 2014, 3:12 PM (134 w, 6 d)
Availability
Available

Recent Activity

Jul 21 2016

gcampax added a comment to D2417: CNF: Drop un-needed #include.

It's probably a left-over of the old symbol table and symbol matching support. I think dlfcn.h can be removed too, if you care about building on windows.

Jul 21 2016, 7:06 AM

Jul 20 2016

gcampax added a comment to D1264: Merge Compacts into GHC.

@gcampax would you mind if I comandeered this diff and made the necessary changes to get it rebased and committed?

Jul 20 2016, 9:01 AM

Apr 20 2016

gcampax updated the diff for D1264: Merge Compacts into GHC.

I addressed all review comments, and I also realized that there
was no test case for serialization. We have one now (and of course
it passes)

Apr 20 2016, 1:11 PM

Apr 19 2016

gcampax added inline comments to D1264: Merge Compacts into GHC.
Apr 19 2016, 11:39 AM
gcampax added inline comments to D1264: Merge Compacts into GHC.
Apr 19 2016, 11:23 AM

Apr 15 2016

gcampax updated the diff for D1264: Merge Compacts into GHC.

I think I addressed all previous comments (they are marked DONE or
have a response), so it would be great to have a final review.

Apr 15 2016, 4:46 PM

Jan 27 2016

gcampax updated the diff for D1264: Merge Compacts into GHC.

Addressed more review comments

Jan 27 2016, 1:09 AM

Jan 26 2016

gcampax added a comment to D1264: Merge Compacts into GHC.

I went through and marked as done what I fixed or will fix in the next iteration. Updated patch will be coming soon.

Jan 26 2016, 11:47 PM
gcampax added a comment to D1264: Merge Compacts into GHC.

Also what happened to fix-ups by symbol name as mentioned in the paper? This seems like a reason way to mitigate the need for static linking/disabling ASLR (although presumably at quite a cost; do you have numbers characterizing this effect?)

Jan 26 2016, 11:21 PM

Jan 25 2016

gcampax updated the diff for D1264: Merge Compacts into GHC.

Updated with more docs. Addressed review comments.

Jan 25 2016, 10:54 PM
gcampax added inline comments to D1264: Merge Compacts into GHC.
Jan 25 2016, 10:50 PM
gcampax added a comment to D1264: Merge Compacts into GHC.

Thanks for the review, I'll work on fixing all points I did not comment on.

Jan 25 2016, 11:35 AM

Dec 11 2015

gcampax added a comment to D1264: Merge Compacts into GHC.

@rrnewton if you do that, you need to be careful to follow forwarding pointers on the Compact side, as the same object that is being copied is also being moved by the GC. At the very least, you need an atomic compare-and-swap, which I remember having a measurable effect on the Compact performance.

Dec 11 2015, 2:33 PM
gcampax updated the diff for D1264: Merge Compacts into GHC.

Fixed building with -Werror (and fixed ./validate)

Dec 11 2015, 1:50 PM

Dec 10 2015

gcampax updated the diff for D1264: Merge Compacts into GHC.

No changes except for the bug fix

Dec 10 2015, 2:04 PM
gcampax added a comment to D1264: Merge Compacts into GHC.

Btw the bug comes from 74a00bc8f96069f7205f091a02f3c571362f9522 (this patch was developer before that commit). I don't know why the included test suite doesn't catch it, but I'll fix it.

Dec 10 2015, 1:02 PM
gcampax added inline comments to D1264: Merge Compacts into GHC.
Dec 10 2015, 12:54 PM

Dec 5 2015

gcampax updated the diff for D1264: Merge Compacts into GHC.

I removed Md5, and I removed the hash table code and --export-dynamic.
Both features were only used by the symbol table support code
which is not part of this diff.

Dec 5 2015, 12:32 AM

Nov 10 2015

gcampax added a comment to D1264: Merge Compacts into GHC.

Don't have time for a full review today, but let me add a few thoughts:

  • The md5 stuff doesn't seem to be used anywhere. Could it be removed from this diff?
Nov 10 2015, 8:09 PM

Nov 4 2015

gcampax retitled D1435: cnf: make use of the striped allocator from to cnf: make use of the striped allocator.
Nov 4 2015, 11:31 AM
gcampax added a dependent revision for D1264: Merge Compacts into GHC: D1435: cnf: make use of the striped allocator.
Nov 4 2015, 11:31 AM
gcampax added a dependent revision for D1434: RTS: add a striped allocator: D1435: cnf: make use of the striped allocator.
Nov 4 2015, 11:31 AM
gcampax retitled D1434: RTS: add a striped allocator from to RTS: add a striped allocator.
Nov 4 2015, 11:29 AM
gcampax added a dependent revision for D1264: Merge Compacts into GHC: D1434: RTS: add a striped allocator.
Nov 4 2015, 11:29 AM
gcampax updated the diff for D1264: Merge Compacts into GHC.

This is the first commit in the series.
I'll add the others to new diffs.

Nov 4 2015, 11:19 AM

Oct 1 2015

gcampax added a comment to D1264: Merge Compacts into GHC.

Honestly, I don't see this library being useful unless in lockstep with ghc - the ties are too deep with the RTS, and new features or optimization would most certainly involve changes both in the RTS and in the Haskell interface code.
At that point, the issue of independent releases becomes less important: one has to release exactly with ghc, and have it depend on exactly the ghc-prim and base version associated with the right RTS.
If the issue is distributing this package when people do not want compacts to be installed togheter with ghc, I think splitting it at the distro level (ie, when composing rpms or debs from the ghc sources) is going to be significantly easier than using a separate source repo.

Oct 1 2015, 11:02 AM

Sep 20 2015

gcampax added a comment to D1264: Merge Compacts into GHC.

Forgot to say, the changes are in three separate commit because they are logically separable: you can have the basic implementation of compacts without the striped allocator (for example to avoid an OS/arch dependency).

Sep 20 2015, 9:38 PM
gcampax retitled D1264: Merge Compacts into GHC from to Merge Compacts into GHC.
Sep 20 2015, 9:38 PM

Aug 6 2015

gcampax added a comment to D1135: Rejigger OSMem to allow building on Mac.

The previous code was building and validating fine on Yosemite. What problem were you experiencing?

Aug 6 2015, 5:22 PM

Jul 21 2015

gcampax accepted D524: Two step allocator for 64-bit systems.
Jul 21 2015, 12:48 AM
gcampax added a comment to D524: Two step allocator for 64-bit systems.

OK nevermind, I checked again without the patch and I get the same failures (on 214596de224afa576a9c295bcf53c6941d6892e0, aka today's master, on OS X Yosemite, bootstrapped with ghc 7.10.1 from homebrew / clang 6.1.0).

Jul 21 2015, 12:48 AM

Jul 20 2015

gcampax added a comment to D524: Two step allocator for 64-bit systems.

Well these tests are about heap exhaustion, not address space, so our behavior should not change...

Jul 20 2015, 4:37 PM
gcampax added a comment to D524: Two step allocator for 64-bit systems.

I observed the following test failures that might be related (but might also be a problem in the test or the driver, because the test program behaves reasonably, just the stdout doesn't match)

Jul 20 2015, 12:46 PM
gcampax added a comment to D524: Two step allocator for 64-bit systems.

The last patch I submitted was successfully tested on Darwin.

Jul 20 2015, 10:53 AM

Apr 26 2015

gcampax updated the diff for D524: Two step allocator for 64-bit systems.

Fixed lint warning

Apr 26 2015, 7:49 PM
gcampax updated the diff for D524: Two step allocator for 64-bit systems.

This is the updated patch to fix the aforementioned bug.
It validates fine on OS X and Linux, unfortunately after
rebasing it picked up a problem in Windows and now it
does not work.

Apr 26 2015, 7:46 PM

Dec 3 2014

gcampax updated the diff for D524: Two step allocator for 64-bit systems.

Ready for merge, I hope.

Dec 3 2014, 8:58 PM

Nov 28 2014

gcampax retitled D524: Two step allocator for 64-bit systems from RFC: two step allocator for 64-bit posix systems to Two step allocator for 64-bit systems.
Nov 28 2014, 5:50 PM

Nov 26 2014

gcampax updated the diff for D524: Two step allocator for 64-bit systems.

Updated with some of the review comments - now builds fine,
passes validate and should be bug free. I'll work on addressing
the other comments soon, but I wanted to give out a working
version in case some one else wants to play with it.

Nov 26 2014, 7:14 PM

Nov 25 2014

gcampax added inline comments to D524: Two step allocator for 64-bit systems.
Nov 25 2014, 9:01 PM
gcampax added inline comments to D524: Two step allocator for 64-bit systems.
Nov 25 2014, 1:17 AM

Nov 24 2014

gcampax retitled D524: Two step allocator for 64-bit systems from to RFC: two step allocator for 64-bit posix systems.
Nov 24 2014, 3:23 PM