hsyl20 (Sylvain HENRY)
User

Projects

User does not belong to any projects.

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Thursday

  • Clear sailing ahead.

User Details

User Since
May 19 2015, 3:52 AM (110 w, 4 h)
Availability
Available

Recent Activity

Mon, Jun 19

hsyl20 abandoned D3659: Fix Note "What AbsBinds means".

Fixed in https://git.haskell.org/ghc.git/commitdiff/5c93df90a96494229b60bbed0971a4b08c0326a6

Mon, Jun 19, 4:53 PM
hsyl20 created D3659: Fix Note "What AbsBinds means".
Mon, Jun 19, 5:40 AM

Thu, Jun 15

hsyl20 added a comment to D3647: Introduce module hierarchy.

I didn't want to discuss too much the details of the new hierarchy beforehand because I wasn't sure I would have the patience to finish this patch anyway ;-).

Thu, Jun 15, 8:47 AM

Wed, Jun 14

hsyl20 updated the diff for D3647: Introduce module hierarchy.
  • Minor fixes
Wed, Jun 14, 10:49 PM
hsyl20 updated the summary of D3648: Fix GCC 7 warning in the RTS.
Wed, Jun 14, 10:21 PM
Herald added a reviewer for D3648: Fix GCC 7 warning in the RTS: austin.
Wed, Jun 14, 9:49 PM
hsyl20 added a reviewer for D3647: Introduce module hierarchy: simonpj.

Some submodules also need to be updated:

Wed, Jun 14, 8:27 PM
hsyl20 created D3647: Introduce module hierarchy.
Wed, Jun 14, 8:20 PM

Feb 2 2017

hsyl20 added a comment to D2839: Ditch static flags.

@hsyl20, do you think you'll get a chance to finish this up at some point? If not I can pick it up.

Feb 2 2017, 2:38 AM

Jan 23 2017

hsyl20 updated the diff for D3009: Ensure that scrutinee constant folding wraps numbers.
  • Typo
Jan 23 2017, 7:06 PM
hsyl20 updated the diff for D3009: Ensure that scrutinee constant folding wraps numbers.
  • Doc
Jan 23 2017, 7:01 PM
hsyl20 updated the diff for D3009: Ensure that scrutinee constant folding wraps numbers.
  • Fix test
Jan 23 2017, 6:16 PM
hsyl20 retitled D3009: Ensure that scrutinee constant folding wraps numbers from to Ensure that scrutinee constant folding wraps numbers.
Jan 23 2017, 6:09 PM
hsyl20 accepted D3008: Re-sort case alternatives after scrutinee constant folding (#13170).

It looks good to me. Sorry to have missed that!

Jan 23 2017, 5:01 PM

Jan 9 2017

hsyl20 accepted D2921: users-guide: Produce OpenSearch description.

It looks good to me. Thanks for the patch.

Jan 9 2017, 4:58 AM

Dec 20 2016

hsyl20 planned changes to D2858: Enhanced constant folding.
Dec 20 2016, 7:58 PM
hsyl20 added a comment to D2858: Enhanced constant folding.

I'm glad to have better constant-folding, but I worry that all looks rather ad-hoc, picking off a bunch of special cases. For example, what about

((v + x#) + w) + y#

will you get to (v+w) + (x+y)#?

Dec 20 2016, 7:57 PM

Dec 19 2016

hsyl20 added a comment to rGHCd3b546b1a605: Scrutinee Constant Folding.

@nomeata Indeed it would be better to grep in Core. Proposed patch: https://phabricator.haskell.org/D2883

Dec 19 2016, 3:11 PM
hsyl20 retitled D2883: Fix test for T12877 from to Fix test for T12877.
Dec 19 2016, 3:10 PM
hsyl20 added a comment to D2839: Ditch static flags.

OK by me once it passes validate.

Dec 19 2016, 6:18 AM

Dec 16 2016

hsyl20 added inline comments to D2858: Enhanced constant folding.
Dec 16 2016, 10:42 AM
hsyl20 updated the diff for D2858: Enhanced constant folding.
  • Guard the pmcheck flag (not supported before 8.0.1)
Dec 16 2016, 10:41 AM
hsyl20 added a comment to D2858: Enhanced constant folding.

Tests are failing because of this kind of change:

 -- RHS size: {terms: 2, types: 0, coercions: 0}
@@ -17,7 +17,7 @@
  Caf=NoCafRefs,
  Str=m1,
  Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
-         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 40 20}]
+         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 40 19}]
 T7116.$trModule1 = GHC.Types.TrNameS "T7116"#
Dec 16 2016, 8:32 AM
hsyl20 updated the diff for D2858: Enhanced constant folding.
  • Handle more cases
Dec 16 2016, 8:16 AM
hsyl20 planned changes to D2858: Enhanced constant folding.

I htink I forgot to handle some cases such as the example in the revision text: (10# + x) - y ===> 10# + (x - y)

Dec 16 2016, 5:31 AM

Dec 15 2016

hsyl20 retitled D2858: Enhanced constant folding from to Enhanced constant folding.
Dec 15 2016, 7:35 PM
hsyl20 added inline comments to D2839: Ditch static flags.
Dec 15 2016, 11:07 AM
hsyl20 added a comment to D2839: Ditch static flags.

it is still better as we can set/unset these 4 flags before each run when using GHC API.

I don't think that's true, because an expression like hasNoStateHack unsafeGlobalDynFlags can be lifted out as a CAF and it'll have the same value even after we reset unsafeGlobalDynFlags.

Dec 15 2016, 5:37 AM
hsyl20 updated the diff for D2839: Ditch static flags.
  • Avoid using unsafeGlabalDynflags in a few places
  • s/getPprDebug/sdocWithPprDebug (similar to sdocWithDynFlags)
  • Replace all uses of "hasPprDebug unsafeGlobalDynFlags" except in pprTraceDebug
Dec 15 2016, 5:33 AM

Dec 13 2016

hsyl20 added a comment to D2839: Ditch static flags.

If someone knows how we could fix "plugins06" test, it would be helpful. This test abuses static flags to trigger a panic (see tests/plugins/LinkerTicklingPlugin.hs)

Dec 13 2016, 7:37 PM
hsyl20 retitled D2839: Ditch static flags from to Ditch static flags.
Dec 13 2016, 7:21 PM

Dec 9 2016

hsyl20 added inline comments to rGHCd3b546b1a605: Scrutinee Constant Folding.
Dec 9 2016, 11:53 AM

Dec 8 2016

hsyl20 retitled D2806: Export `warningGroups' and `warningHierarchies' from to Export `warningGroups' and `warningHierarchies'.
Dec 8 2016, 8:15 AM

Nov 30 2016

hsyl20 updated the diff for D2769: Levity polymorphic expressions mustn't be floated-out in let-bindings..
  • typo
Nov 30 2016, 6:26 AM
hsyl20 updated the diff for D2769: Levity polymorphic expressions mustn't be floated-out in let-bindings..
  • Add note reference
Nov 30 2016, 6:25 AM
hsyl20 updated the diff for D2769: Levity polymorphic expressions mustn't be floated-out in let-bindings..
  • s/isRuntimeRepPolymorphic/isLevityPolymorphic
Nov 30 2016, 6:17 AM

Nov 29 2016

hsyl20 retitled D2769: Levity polymorphic expressions mustn't be floated-out in let-bindings. from to Levity polymorphic expressions mustn't be floated-out in let-bindings..
Nov 29 2016, 10:48 PM
hsyl20 added a comment to D2762: Scrutinee Constant Folding.

I have added a test. Compared with GHC 8.0.1, I get x2 speedup for GHC (master + this patch) and x6 for the program itself.

Nov 29 2016, 4:06 PM
hsyl20 updated the diff for D2762: Scrutinee Constant Folding.
  • Add perf test
Nov 29 2016, 3:56 PM
hsyl20 updated the diff for D2762: Scrutinee Constant Folding.

I have included the example in the note. I will try to make a test case if I figure out how to make a good one.

Nov 29 2016, 11:07 AM
hsyl20 added a comment to D2762: Scrutinee Constant Folding.

Thanks Simon and Ben. I have also added an optimization flag to disable this with -O0.

Nov 29 2016, 10:10 AM
hsyl20 updated the diff for D2762: Scrutinee Constant Folding.
  • Better handling of literal values
  • Support for non-dead binder
Nov 29 2016, 10:04 AM
hsyl20 updated the diff for D2762: Scrutinee Constant Folding.
  • Remove garbage
Nov 29 2016, 7:05 AM
hsyl20 updated the diff for D2762: Scrutinee Constant Folding.
  • Merge the rules into caseRules
Nov 29 2016, 7:04 AM
hsyl20 updated D2762: Scrutinee Constant Folding.
Nov 29 2016, 6:08 AM
hsyl20 retitled D2762: Scrutinee Constant Folding from to Scrutinee Constant Folding.
Nov 29 2016, 6:07 AM

Nov 21 2016

hvr awarded D2728: Replace -fshow-source-paths with -fhide-source-paths a Love token.
Nov 21 2016, 9:32 AM
hsyl20 updated the diff for D2728: Replace -fshow-source-paths with -fhide-source-paths.
  • Fix tests
  • doc
Nov 21 2016, 2:03 AM

Nov 18 2016

hsyl20 retitled D2728: Replace -fshow-source-paths with -fhide-source-paths from to Replace -fshow-source-paths with -fhide-source-paths.
Nov 18 2016, 10:14 AM

Nov 11 2016

hsyl20 updated the diff for D2697: Skip 64-bit symbol tables.
  • Avoid redundant check
Nov 11 2016, 10:02 PM
hsyl20 added inline comments to D2697: Skip 64-bit symbol tables.
Nov 11 2016, 10:01 PM
hsyl20 added a comment to D2697: Skip 64-bit symbol tables.

@osa1 https://git.haskell.org/ghc.git/commitdiff/aa10c67ec5b9cea9d89ecac88f3a22ec873439c2 has been applied between the two patches. It should explain the difference.

Nov 11 2016, 7:40 PM
hsyl20 added a comment to D2697: Skip 64-bit symbol tables.

@osa1 There is something wrong in your log dump: it still shows the old error message (line 296 in the source). It seems like the rts hasn't been rebuilt.

Nov 11 2016, 7:33 PM
hsyl20 added inline comments to D2695: rts: Fix build when linked with gold.
Nov 11 2016, 7:25 PM
hsyl20 updated the Trac tickets for D2697: Skip 64-bit symbol tables.
Nov 11 2016, 6:36 PM
hsyl20 retitled D2697: Skip 64-bit symbol tables from to Skip 64-bit symbol tables.
Nov 11 2016, 6:28 PM

Nov 10 2016

hsyl20 added a comment to D2679: Make default output less verbose (source/object paths).

I have added a ticket so that we don't forget to homogenize verbosity flags: Trac #12822

Nov 10 2016, 4:21 PM

Nov 9 2016

hsyl20 updated the diff for D2679: Make default output less verbose (source/object paths).
  • Change flag name to -fshow-source-paths
Nov 9 2016, 6:34 AM

Nov 7 2016

hsyl20 added a comment to D2679: Make default output less verbose (source/object paths).

@mpickering: The failing test should be fixed now.

Nov 7 2016, 2:03 PM
hsyl20 updated the diff for D2679: Make default output less verbose (source/object paths).
  • Fix T12567a
Nov 7 2016, 1:46 PM

Nov 4 2016

hsyl20 updated the diff for D2679: Make default output less verbose (source/object paths).
  • Try to fix T12567a manually (doesn't support "accept")
Nov 4 2016, 8:59 PM
hsyl20 updated the diff for D2679: Make default output less verbose (source/object paths).
  • Add -fshow-module-paths flag
Nov 4 2016, 7:46 PM
hsyl20 retitled D2679: Make default output less verbose (source/object paths) from to Make default output less verbose (source/object paths).
Nov 4 2016, 4:32 PM

Oct 26 2016

hsyl20 updated the diff for D2633: Uninstall signal handlers.
  • Use modifyMVar_
Oct 26 2016, 2:59 PM
hsyl20 updated the diff for D2633: Uninstall signal handlers.
  • Fix: don't decrement the counter twice
Oct 26 2016, 11:02 AM
hsyl20 planned changes to D2633: Uninstall signal handlers.

Oups I have spotted a bug. I will update the revision.

Oct 26 2016, 10:57 AM
hsyl20 requested review of D2633: Uninstall signal handlers.
Oct 26 2016, 9:49 AM
hsyl20 updated the diff for D2633: Uninstall signal handlers.
  • Use reference counting for signal handlers
Oct 26 2016, 9:41 AM

Oct 24 2016

hsyl20 retitled D2633: Uninstall signal handlers from to Uninstall signal handlers.
Oct 24 2016, 9:06 AM

Oct 12 2016

hsyl20 updated the diff for D2563: Check for empty entity string in "prim" foreign imports.
  • Rebase
Oct 12 2016, 8:16 AM

Oct 11 2016

hsyl20 updated the diff for D2563: Check for empty entity string in "prim" foreign imports.
  • Fix foreign imports when entity string is missing
Oct 11 2016, 3:40 PM
hsyl20 added a comment to D2563: Check for empty entity string in "prim" foreign imports.

The parser makes the "entity string" (the string in the import declaration) optional. From compiler/parser/Parser.y:

-- if the entity string is missing, it defaults to the empty string;
-- the meaning of an empty entity string depends on the calling
-- convention
Oct 11 2016, 11:25 AM

Oct 9 2016

hsyl20 updated the diff for D2563: Check for empty entity string in "prim" foreign imports.
  • rebase
Oct 9 2016, 6:04 AM

Oct 3 2016

hsyl20 updated the diff for D2563: Check for empty entity string in "prim" foreign imports.
  • Fix T10461
Oct 3 2016, 9:08 AM
hsyl20 added a comment to D2563: Check for empty entity string in "prim" foreign imports.

This patch fails in T10461. I will fix its stderr file.

Oct 3 2016, 8:29 AM
hsyl20 retitled D2563: Check for empty entity string in "prim" foreign imports from to Check for empty entity string in "prim" foreign imports.
Oct 3 2016, 3:55 AM

Sep 27 2016

hsyl20 updated the diff for D2263: CodeGen X86: fix unsafe foreign calls wrt inlining.
  • Upload on staging
Sep 27 2016, 11:07 AM
hsyl20 updated the diff for D2263: CodeGen X86: fix unsafe foreign calls wrt inlining.
  • Fix test
Sep 27 2016, 10:22 AM
hsyl20 updated the diff for D2263: CodeGen X86: fix unsafe foreign calls wrt inlining.
  • Add test
Sep 27 2016, 10:13 AM
hsyl20 updated D2263: CodeGen X86: fix unsafe foreign calls wrt inlining.
Sep 27 2016, 10:01 AM
hsyl20 updated the diff for D2263: CodeGen X86: fix unsafe foreign calls wrt inlining.
  • Fix too long lines
Sep 27 2016, 9:40 AM
hsyl20 updated the diff for D2263: CodeGen X86: fix unsafe foreign calls wrt inlining.
  • Remove comment
Sep 27 2016, 9:25 AM
hsyl20 updated the diff for D2263: CodeGen X86: fix unsafe foreign calls wrt inlining.
  • Rebase
  • Fix to take into account Simon Marlow's suggestions
Sep 27 2016, 9:23 AM

May 24 2016

hsyl20 retitled D2263: CodeGen X86: fix unsafe foreign calls wrt inlining from to CodeGen X86: fix unsafe foreign calls wrt inlining.
May 24 2016, 8:24 PM

May 19 2016

hsyl20 added a comment to D2237: Runtime linker: Break m32 allocator out into its own file.

@erikd I like the approach. Thanks for working on this.

May 19 2016, 6:09 AM

May 12 2016

hsyl20 accepted D2201: RtsUtils: Use `size_t` instead of `int` where appropriate.

I wish we could do the same thing (at least use Word instead of Int) for sizes and offsets in:

  • Foreign.Storable (sizeOf, alignment)
  • Foreign.Marshal.Alloc (mallocBytes)
  • GHC.ForeignPtr (malloc*Bytes)
  • Data.ByteString's definition

Maybe in base 5.0 ;-)

May 12 2016, 8:12 AM
hsyl20 accepted D2200: rts: Make function pointer parameters `const` where possible.
May 12 2016, 8:00 AM

May 3 2016

hsyl20 added a comment to D2166: rts: Replace `nat` with `uint32_t`.

The constants (like 0x141 in the given excerpt) are just line numbers (cf ASSERT definition).

May 3 2016, 4:38 PM

Apr 21 2016

hsyl20 added inline comments to D2131: rts/itimer/pthread: Stop timer when ticker is stopped.
Apr 21 2016, 8:27 AM

Apr 20 2016

hsyl20 accepted D2129: rts: Close livelock window due to rapid ticker enable/disable.

It looks good to me to fix Trac #11830.
Note that we have the same disarming behavior with setitimer/timer_settime if the delay is set to 0. Maybe we should set a very small delay instead to get the same behavior?

Apr 20 2016, 6:09 PM

Mar 7 2016

hsyl20 accepted D1976: Reduce fragmentation from m32_allocator.

It looks good to me. If you want, you can set M32_REFCOUNT_BYTES to sizeof(uint_t) to avoid wasting 4 bytes per page on 32-bit architectures.

Mar 7 2016, 9:39 AM

Feb 26 2016

hsyl20 added a comment to D1947: rts/timer: use timerfd_* on Linux instead of alarm signals.

Any opinion on what we should do for non-Linux platforms? (to fix Trac #10840)

Feb 26 2016, 8:56 AM
hsyl20 updated the diff for D1947: rts/timer: use timerfd_* on Linux instead of alarm signals.
  • Add write barrier
Feb 26 2016, 8:47 AM

Feb 25 2016

hsyl20 updated the diff for D1947: rts/timer: use timerfd_* on Linux instead of alarm signals.
  • Capitalize the enum members
  • Ensure TFD_CLOEXEC is available
Feb 25 2016, 9:58 AM

Feb 24 2016

hsyl20 updated the diff for D1947: rts/timer: use timerfd_* on Linux instead of alarm signals.

Follow reviews:

  • Detect sys/timerfd.h
  • Enhance CPP
  • Bonus: close timerfd on exec. Detach the thread and give it a name (similarly to the worker threads).
Feb 24 2016, 5:30 PM
hsyl20 added a comment to D1947: rts/timer: use timerfd_* on Linux instead of alarm signals.

Should we discuss on the mailing-list if dropping the support for Linux < 2.6.25 is ok?

Feb 24 2016, 8:39 AM
hsyl20 updated the diff for D1947: rts/timer: use timerfd_* on Linux instead of alarm signals.
  • Use an enum for the timer thread state
Feb 24 2016, 8:34 AM
hsyl20 retitled D1947: rts/timer: use timerfd_* on Linux instead of alarm signals from to rts/timer: use timerfd_* on Linux instead of alarm signals.
Feb 24 2016, 6:04 AM

Feb 3 2016

hsyl20 added a comment to D1470: RTS linker refactoring.

@bgamari No problem. I'll try to get back to it when I will have more time.

Feb 3 2016, 5:26 PM

Dec 8 2015

hsyl20 updated the diff for D1470: RTS linker refactoring.
  • More fixes for Windows and MacOS
Dec 8 2015, 12:53 PM