DemiMarie (Demi Marie Obenour)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 5 2016, 6:50 AM (128 w, 3 d)

Recent Activity

Dec 15 2017

DemiMarie updated the diff for D4265: Delete unsafeGlobalDynFlags from the state hack.

Fix unused variable error

Dec 15 2017, 10:57 AM

Dec 13 2017

DemiMarie updated the diff for D4265: Delete unsafeGlobalDynFlags from the state hack.

Pass unsafeGlobalDynFlags where it is needed

Dec 13 2017, 12:04 PM
DemiMarie updated the diff for D4265: Delete unsafeGlobalDynFlags from the state hack.

Fix compilation errors

Dec 13 2017, 11:50 AM
DemiMarie created D4265: Delete unsafeGlobalDynFlags from the state hack.
Dec 13 2017, 11:22 AM

Oct 13 2017

DemiMarie added a comment to D2768: Kill the splitter with fire.

Is there a way we can quit using GCC on Windows and just call the linker
directly?

Oct 13 2017, 9:00 PM

Apr 9 2017

DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.
  • Merge branch 'master' into computed-goto
Apr 9 2017, 11:26 AM

Mar 19 2017

DemiMarie added a comment to D3358: base: Implement bit casts between word and float types.

This seems horribly inefficient. It seems that the best approach would be something integrated into the compiler backend. Especially on x64 where the SSE registers are used.

Mar 19 2017, 8:28 PM

Feb 15 2017

DemiMarie added inline comments to D3090: Add support for concurrent package db access and updates.
Feb 15 2017, 2:24 PM

Feb 2 2017

DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

Make M4 quoting more consistent

Feb 2 2017, 2:10 PM
DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

Some Autoconf fixes

Feb 2 2017, 1:55 PM

Feb 1 2017

DemiMarie added inline comments to D2996: WIP – computed gotos in the interpreter.
Feb 1 2017, 12:31 PM
DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

Pass -Werror when checking if the C compiler supports a flag

Feb 1 2017, 12:29 PM
DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

Try to fix macOS build

Feb 1 2017, 7:52 AM

Jan 31 2017

DemiMarie added inline comments to D2996: WIP – computed gotos in the interpreter.
Jan 31 2017, 6:53 PM
DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

Fix configure. Don't goto from do-while loop.

Jan 31 2017, 6:50 PM
DemiMarie added inline comments to D2996: WIP – computed gotos in the interpreter.
Jan 31 2017, 6:26 PM

Jan 29 2017

DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

Clean up CPP in rts/Interpreter.c

Jan 29 2017, 4:26 PM
DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

Another aclocal.m4 fix

Jan 29 2017, 3:59 PM

Jan 28 2017

DemiMarie updated subscribers of D2996: WIP – computed gotos in the interpreter.

@simonpj Is there any way this patch could cause a Core Lint failure? This is Trac #13204.

Jan 28 2017, 6:45 PM
DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

Fix configure syntax error

Jan 28 2017, 2:40 PM
DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

Autoconf checks for flags for fast computed goto

Jan 28 2017, 2:15 PM

Jan 26 2017

DemiMarie added a comment to D2996: WIP – computed gotos in the interpreter.

I'd still really like to see some measurements, since there's a complexity cost to doing this.

Jan 26 2017, 9:44 AM

Jan 25 2017

DemiMarie added a comment to D2996: WIP – computed gotos in the interpreter.

Have you measured the difference? Did you look at the generated asm to check that it's doing the right thing?

As far as I can tell, the change here is to inline the DISPATCH code, but gcc could already do that if it wanted to. Maybe there's a way to convince gcc to do it?

Oh, I guess it avoids bounds checks too?

Incidentally, I suspect there's quite a lot of low-hanging fruit in the interpreter and byte-code compiler, it would be great if someone wanted to improve those.

Jan 25 2017, 9:45 PM

Jan 24 2017

DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

Hopefully fix the segfault for real.

Jan 24 2017, 10:00 PM
DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

Disable computed gotos in the DEBUG RTS

Jan 24 2017, 9:58 PM
DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

Fix segfault

Jan 24 2017, 9:49 PM

Jan 23 2017

DemiMarie added a comment to D2996: WIP – computed gotos in the interpreter.

It replaces a single dispatch point with multiple ones. This improves CPU branch prediction.

Well yes, but do we know if it makes a difference? And is there a way to convince gcc to do it? I've seen gcc duplicate small blocks before.

Jan 23 2017, 10:21 AM
DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

Don't clobber an old recipe for includes/rts/Bytecodes.h

Jan 23 2017, 10:20 AM
DemiMarie added a comment to D2996: WIP – computed gotos in the interpreter.

Have you measured the difference? Did you look at the generated asm to check that it's doing the right thing?

As far as I can tell, the change here is to inline the DISPATCH code, but gcc could already do that if it wanted to. Maybe there's a way to convince gcc to do it?

Oh, I guess it avoids bounds checks too?

Incidentally, I suspect there's quite a lot of low-hanging fruit in the interpreter and byte-code compiler, it would be great if someone wanted to improve those.

Jan 23 2017, 7:21 AM

Jan 22 2017

DemiMarie added a comment to D1435: cnf: make use of the striped allocator.

@ezyang no, I just noticed this is a very old active revision.

Jan 22 2017, 9:18 PM

Jan 21 2017

DemiMarie added a comment to D1435: cnf: make use of the striped allocator.

Ping?

Jan 21 2017, 11:39 PM
DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

Fix another typo

Jan 21 2017, 9:14 PM
DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

Add missing makefile

Jan 21 2017, 9:12 PM
DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

Typo in comment

Jan 21 2017, 9:10 PM
DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

Revert some makefile changes

Jan 21 2017, 9:09 PM
DemiMarie added a comment to D2996: WIP – computed gotos in the interpreter.

@bgamari How can I make the build system work? I am stuck.

Jan 21 2017, 8:26 PM
DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

Try to unbreak the build

Jan 21 2017, 7:57 PM
DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

Fix submodules

Jan 21 2017, 2:48 PM
DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

Fix build failure

Jan 21 2017, 2:33 PM
DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

Fix haddock submodule

Jan 21 2017, 1:01 PM
DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

Fix submodules

Jan 21 2017, 12:57 PM
DemiMarie updated the diff for D2768: Kill the splitter with fire.

Fix haddock submodule

Jan 21 2017, 12:55 PM
DemiMarie updated the diff for D2768: Kill the splitter with fire.

Fix compilation error

Jan 21 2017, 10:11 AM

Jan 20 2017

DemiMarie updated the diff for D2768: Kill the splitter with fire.

Rebase

Jan 20 2017, 11:33 PM
DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

put more opcodes on one line

Jan 20 2017, 8:10 PM
DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

Fix an assertion and comment

Jan 20 2017, 7:54 PM
DemiMarie updated the diff for D2996: WIP – computed gotos in the interpreter.

Fix INTERP_STATS build

Jan 20 2017, 7:46 PM
DemiMarie retitled D2996: WIP – computed gotos in the interpreter from to WIP – computed gotos in the interpreter.
Jan 20 2017, 7:44 PM

Jan 19 2017

DemiMarie committed rGHCf07a6c17a3d6: Don't error on missing Perl, just warn and disable object splitting. (authored by DemiMarie).
Don't error on missing Perl, just warn and disable object splitting.
Jan 19 2017, 3:22 PM
DemiMarie closed D2986: Don't error on missing Perl, just warn and disable object splitting. by committing rGHCf07a6c17a3d6: Don't error on missing Perl, just warn and disable object splitting..
Jan 19 2017, 3:22 PM
DemiMarie updated D2986: Don't error on missing Perl, just warn and disable object splitting..
Jan 19 2017, 3:05 PM
DemiMarie retitled D2993: Clean up some shell code and M4 quoting from to Clean up some shell code and M4 quoting.
Jan 19 2017, 3:05 PM

Jan 18 2017

DemiMarie added a comment to D2903: WIP: Register Allocator Loop Annotations.

@simonmar LuaJIT has a finely tuned linear scan allocator, which might be a
source of information.

Jan 18 2017, 7:44 AM

Jan 17 2017

DemiMarie updated the diff for D2986: Don't error on missing Perl, just warn and disable object splitting..

Revert changes to other shell code; this will go in other patch

Jan 17 2017, 10:12 PM
DemiMarie updated D2986: Don't error on missing Perl, just warn and disable object splitting..
Jan 17 2017, 2:27 PM
DemiMarie updated D2986: Don't error on missing Perl, just warn and disable object splitting..
Jan 17 2017, 2:27 PM
DemiMarie abandoned D2984: Perl is not needed except by the splitter.

Forgot about this revision. It is superseded by D2986 anyway, so I'm abandoning it.

Jan 17 2017, 2:26 PM
DemiMarie retitled D2986: Don't error on missing Perl, just warn and disable object splitting. from to Don't error on missing Perl, just warn and disable object splitting..
Jan 17 2017, 2:25 PM

Jan 16 2017

DemiMarie added a comment to D2903: WIP: Register Allocator Loop Annotations.

Do you plan on fixing the graph allocator at some point?

Jan 16 2017, 8:48 PM
DemiMarie retitled D2984: Perl is not needed except by the splitter from to Perl is not needed except by the splitter.
Jan 16 2017, 6:42 PM
DemiMarie abandoned D2744: Allow user to override CC_STAGE0, AR_STAGE0, AR_OPTS_STAGE0, and ArSupportsAtFile_STAGE0..

@bgamari I agree (and that is exactly what I ended up doing).

Jan 16 2017, 1:41 PM
DemiMarie added a comment to D2903: WIP: Register Allocator Loop Annotations.

@tjakway, are you aware of the outstanding problems with the graph-colouring allocator, in Trac #7679? It would be a shame to do this work if it can't be used due to other unresolved issues.

I was not, thanks very much for pointing that out. I was wondering why I was consistently getting strange benchmarking results... thought I had broken something.

Would something like iterated register coalescing help?

That depends what the problem is :) I thought I'd made a comment about it somewhere, but now I can't find it. Anyway, my vague recollection is that the problem has to do with the Cmm code reusing virtual register names, which forces the graph colouring allocator to always map them to the same physical register. The linear register allocator can use different mappings for each instance of the same virtual register. If that's the case, it should be simple to fix with some register renaming.

Jan 16 2017, 1:39 PM
DemiMarie added a comment to D2903: WIP: Register Allocator Loop Annotations.

Ah. So in this case converting to SSA form would solve the problem.

Jan 16 2017, 7:15 AM

Jan 15 2017

DemiMarie accepted D2975: LLVM: Tweak TBAA metadata codegen.
Jan 15 2017, 12:10 PM
DemiMarie added a comment to D2975: LLVM: Tweak TBAA metadata codegen.

Looks good to me. Works with LLVM version 3.8 too.

Jan 15 2017, 12:07 PM

Jan 14 2017

DemiMarie added a comment to D2975: LLVM: Tweak TBAA metadata codegen.

@erikd The ghci-ext-prof wrong exit codes are in the stdout output of the build.

Jan 14 2017, 9:34 PM
DemiMarie added a comment to D2975: LLVM: Tweak TBAA metadata codegen.

I think that this is good, but I am somewhat worried about the T12234 stat failure and the failures in the ghci-ext-prof ways.

Jan 14 2017, 8:41 PM
DemiMarie added a comment to D2960: Linker: iOS uses mach-o libraries..

@shlevy How does one do that? Would it pass App Store approval?

Jan 14 2017, 8:00 PM
DemiMarie added a comment to D2975: LLVM: Tweak TBAA metadata codegen.

@erikd I am the same person as @drbo – would it be possible for you to mark this account as a reviewer?

Jan 14 2017, 7:56 PM
DemiMarie added a comment to D2903: WIP: Register Allocator Loop Annotations.

@tjakway, are you aware of the outstanding problems with the graph-colouring allocator, in Trac #7679? It would be a shame to do this work if it can't be used due to other unresolved issues.

I was not, thanks very much for pointing that out. I was wondering why I was consistently getting strange benchmarking results... thought I had broken something.

Jan 14 2017, 3:38 PM
DemiMarie added a comment to D2960: Linker: iOS uses mach-o libraries..

The runtime linker can't work on iOS, to the best of my understanding. I believe iOS doesn't allow apps to mark code as executable at runtime. libFFI uses statically mmap'd trampolines to work around this problem.

Jan 14 2017, 3:32 PM
DemiMarie added a comment to D2963: Teach maintainer-clean to mk/build.mk.

I don't like this. mk/build.mk is meant to be customized by the user, and so shouldn't be deleted.

Jan 14 2017, 3:28 PM

Jan 9 2017

DemiMarie updated the diff for D2790: Throw an exception on heap overflow.

Update user's guide for HeapOverflow being throw

Jan 9 2017, 10:26 AM

Jan 7 2017

DemiMarie updated the diff for D2790: Throw an exception on heap overflow.

Fix documentation of getTopHandlerThread

Jan 7 2017, 3:37 PM
DemiMarie updated the diff for D2790: Throw an exception on heap overflow.

Accept the new T5644 output

Jan 7 2017, 3:34 PM
DemiMarie updated the diff for D2790: Throw an exception on heap overflow.

Fix T5644 to account for the running of finalizers on heap overflow

Jan 7 2017, 2:41 PM

Jan 3 2017

DemiMarie retitled D2915: Enable subsections via symbols on iOS from to Enable subsections via symbols on iOS.
Jan 3 2017, 1:22 PM
DemiMarie added a parent revision for D2915: Enable subsections via symbols on iOS: D2911: -dead_strip is now the default on Darwin.
Jan 3 2017, 1:22 PM
DemiMarie added a child revision for D2911: -dead_strip is now the default on Darwin: D2915: Enable subsections via symbols on iOS.
Jan 3 2017, 1:22 PM
DemiMarie updated the diff for D2744: Allow user to override CC_STAGE0, AR_STAGE0, AR_OPTS_STAGE0, and ArSupportsAtFile_STAGE0..

Add comments and validity check

Jan 3 2017, 1:00 PM
DemiMarie updated the diff for D2911: -dead_strip is now the default on Darwin.

Revert back to working version

Jan 3 2017, 12:00 PM
DemiMarie updated the diff for D2911: -dead_strip is now the default on Darwin.
  • Enable subsections via symbols on iOS, too
Jan 3 2017, 10:14 AM

Jan 2 2017

DemiMarie updated the diff for D2911: -dead_strip is now the default on Darwin.

whitespace fix

Jan 2 2017, 1:37 PM
DemiMarie updated the diff for D2911: -dead_strip is now the default on Darwin.

Revert a change that affected non-Darwin platforms

Jan 2 2017, 1:37 PM
DemiMarie updated the diff for D2911: -dead_strip is now the default on Darwin.

Use -dead_strip only when linking a final object file

Jan 2 2017, 11:27 AM
DemiMarie updated the diff for D2911: -dead_strip is now the default on Darwin.

Fix unbound variable error

Jan 2 2017, 9:48 AM
DemiMarie updated the diff for D2911: -dead_strip is now the default on Darwin.

Don't use -Wl,-r on Darwin – it is incompatible with -dead_strip

Jan 2 2017, 9:25 AM

Jan 1 2017

DemiMarie updated the diff for D2911: -dead_strip is now the default on Darwin.

Import what is needed from Platform

Jan 1 2017, 1:07 PM
DemiMarie updated the diff for D2911: -dead_strip is now the default on Darwin.

Fix silly type error

Jan 1 2017, 1:01 PM
DemiMarie added a parent revision for D2879: Don't use the splitter on Darwin: D2911: -dead_strip is now the default on Darwin.
Jan 1 2017, 12:55 PM
DemiMarie added a child revision for D2911: -dead_strip is now the default on Darwin: D2879: Don't use the splitter on Darwin.
Jan 1 2017, 12:55 PM
DemiMarie retitled D2911: -dead_strip is now the default on Darwin from to -dead_strip is now the default on Darwin.
Jan 1 2017, 12:54 PM

Dec 26 2016

DemiMarie updated the diff for D2790: Throw an exception on heap overflow.

Fix typo

Dec 26 2016, 3:22 PM

Dec 22 2016

DemiMarie updated the diff for D2768: Kill the splitter with fire.

Rebase

Dec 22 2016, 11:33 PM
DemiMarie updated the diff for D2790: Throw an exception on heap overflow.

Fix units of heapLimitGrace

Dec 22 2016, 11:30 PM
DemiMarie updated the diff for D2790: Throw an exception on heap overflow.

Delete unnecessary #include

Dec 22 2016, 11:11 PM
DemiMarie updated the diff for D2790: Throw an exception on heap overflow.

Add a test for catching HeapOverflow

Dec 22 2016, 7:17 PM

Dec 21 2016

DemiMarie added a comment to D2879: Don't use the splitter on Darwin.

In what sense is it not needed? Is there a Trac ticket that we can attach this to?

Dec 21 2016, 5:15 PM
DemiMarie updated the diff for D2790: Throw an exception on heap overflow.

Clarify the help for +RTS -Mgrace=

Dec 21 2016, 12:38 PM

Dec 19 2016

DemiMarie updated the diff for D2790: Throw an exception on heap overflow.

Always collect GC stats

Dec 19 2016, 4:54 PM