Camelia, the Perl 6 bug

IRC log for #parrot, 2013-02-17

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:12 Reini joined #parrot
00:42 Reini joined #parrot
00:59 kid51_ joined #parrot
01:04 Coke r: my $a = /a/; say $a.perl;
01:04 p6eval rakudo 932bc5: OUTPUT«regex(Mu : Mu *%_) { ... }␤»
01:04 Coke r: my $a = /a/; say ~$a;
01:04 p6eval rakudo 932bc5: OUTPUT«␤»
01:05 Coke r: my $a = /a/; say $agist;
01:05 p6eval rakudo 932bc5: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Variable '$agist' is not declaredâ�¤at /tmp/9aOZ8tvtjf:1â�¤------> [32mmy $a = /a/; say $agist[33mâ��[31m;[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
01:05 Coke r: my $a = /a/; say $a.gist;
01:05 p6eval rakudo 932bc5: OUTPUT«␤»
01:05 Coke r: my $a = /a/; say ~$a;
01:05 p6eval rakudo 932bc5: OUTPUT«␤»
01:05 Coke is there a way to get something like "a" out of that?
01:06 benabik r: /a/.^methods
01:06 p6eval rakudo 932bc5:  ( no output )
01:06 benabik r: /a/.^methods.say
01:06 p6eval rakudo 932bc5: OUTPUT«No such method 'gist' for invocant of type 'Sub'␤  in method gist at src/gen/CORE.setting:5131␤  in sub say at src/gen/CORE.setting:7601␤  in method say at src/gen/CORE.setting:898␤  in block  at /tmp/IsHfXY9fuT:1␤␤»
01:06 benabik r: /a/.^methods.map(*.name).say
01:06 p6eval rakudo 932bc5: OUTPUT«Unmarshallable foreign language value passed for parameter '$x0'␤  in block  at /tmp/XeUXtZ6ntf:1␤␤»
01:06 benabik Blah.
01:08 benabik Coke: No idea, but #perl6 might know.
01:14 Coke benabik: oh. I thought this WAS perl6. Thanks. ;)
01:28 benabik Coke: Thought I'd see if I could answer your question anyway.  :-D
01:43 Reini joined #parrot
01:46 MikeFair joined #parrot
02:28 Reini joined #parrot
03:53 Reini joined #parrot
04:14 dalek parrot/sixparrot: bbb5d1b | allison++ | src/pmc/parrotinterpreter.pmc:
04:14 dalek parrot/sixparrot: Remove multidispatch from ParrotInterpreter equality vtable.
04:14 dalek parrot/sixparrot: review: https://github.com/parrot/parrot/commit/bbb5d1b92b
04:17 kid51 allison: If you're looking at sixparrot, you might want to look at these test failures I reported two days ago:
04:17 kid51 http://irclog.perlgeek.de/p​arrot/2013-02-15#i_6455738
04:18 allison kid51: curious, I haven't seen any test failures
04:18 kid51 in make fulltest
04:18 Coke kid51: early days yet.
04:18 kid51 not in make test
04:18 kid51 Coke: understood
04:18 kid51 I was able to fix one of three myself
04:19 kid51 Would actually have expected much more breakage
04:23 Coke there will be more of that too, no doubt. ;)
04:23 cotto no doubt
04:26 Reini joined #parrot
04:29 allison yah, breakage likely
04:29 allison the shootout example seem worth keeping, to watch the alioth benchmarks
04:30 allison not a fantastic measure (they're pretty obscure), but a measure anyway
04:47 dalek parrot/sixparrot: 8b5e0b7 | coke++ | sixparrot-TODO.md:
04:47 dalek parrot/sixparrot: Track more removals
04:47 dalek parrot/sixparrot: review: https://github.com/parrot/parrot/commit/8b5e0b7321
04:48 preflex_ joined #parrot
04:55 allison and here comes cutting decision time: removing MULTI from scalar.pmc causes failing tests in Parrot, but Rakudo all still passes
04:56 allison and, the failing tests in Parrot are specifically related to multidispatch
04:57 allison so, it's actually removing functionality
04:58 allison it's functionality I *intend* to remove, so I'm inclined to remove the tests
04:58 allison but, will leave it here in IRC until tomorrow to give other time to comment
04:58 allison others, that is
05:01 awwaiid joined #parrot
05:04 kid51 allison: That might be worth a parrot-dev post, just so that everyone is fully aware of how it reflects a (desirable) change of course
05:05 allison kid51: at the moment, it's purely experimental, it's a 20 line change that has no observable impact on performance
05:06 allison kid51: but, it's one change in a much larger direction
05:06 kid51 And a direction I support
05:06 allison so, if people are uncomfortable removing functionality, then I can branch it
05:06 kid51 Are you doing this in master or in a branch?
05:07 allison and wait to see if the full change really does bring real performance improvements
05:07 allison sixparrot branch
05:07 kid51 Fine
05:14 cotto allison: +2 to remove the tests and functionality
05:15 allison cotto: okey-dokey
05:32 Coke moritz: something weird with "make src/pmc/addrregistry.o" in sixparrot branch.
05:32 Coke looks like you removed it and readded, so I'm deferring to you for now.
05:50 dalek parrot/sixparrot: 6e635d5 | allison++ | / (2 files):
05:50 dalek parrot/sixparrot: Remove multidispatch from scalar PMC.
05:50 dalek parrot/sixparrot: review: https://github.com/parrot/parrot/commit/6e635d5b30
05:57 Reini joined #parrot
06:17 dalek nqp/target-pbc: 97fd401 | moritz++ | src/QAST/ (3 files):
06:17 dalek nqp/target-pbc: [QAST dumper] include a bit more info
06:17 dalek nqp/target-pbc: review: https://github.com/perl6/nqp/commit/97fd401ee9
06:17 dalek nqp/target-pbc: b1258d7 | jnthn++ | tools/ (2 files):
06:17 dalek nqp/target-pbc: Revert "Merge remote-tracking branch 'origin/spacey'"
06:17 dalek nqp/target-pbc:
06:17 dalek nqp/target-pbc: This reverts commit 1db6167740f7306a0e3acf04ccb15dfcc27c3dcb, reversing
06:17 dalek nqp/target-pbc: changes made to c9bc4a25ba2ca57e3642dbe870da31fd1b661322.
06:17 dalek nqp/target-pbc: review: https://github.com/perl6/nqp/commit/b1258d7c12
06:17 dalek nqp/target-pbc: 0514fec | jnthn++ | src/NQP/ (2 files):
06:17 dalek nqp/target-pbc: Remove a now-unused option.
06:17 dalek nqp/target-pbc: review: https://github.com/perl6/nqp/commit/0514fec9f2
06:17 dalek nqp/target-pbc: 1e0a374 | jnthn++ | src/NQP/Actions.pm:
06:17 dalek nqp/target-pbc: Remove a redundant load.
06:17 dalek nqp/target-pbc: review: https://github.com/perl6/nqp/commit/1e0a374c0a
06:17 dalek nqp/target-pbc: c6832d5 | jnthn++ | src/NQP/Actions.pm:
06:17 dalek nqp/target-pbc: Add a way to specify a custom regex lib.
06:17 dalek nqp/target-pbc:
06:17 dalek nqp/target-pbc: Useful for nqp-jvm while it only has the runtime part of it.
06:17 dalek nqp/target-pbc: review: https://github.com/perl6/nqp/commit/c6832d5b63
06:17 dalek nqp/target-pbc: b19dbc1 | (Gerhard R)++ | / (7 files):
06:17 dalek nqp/target-pbc: Merge branch 'master' into target-pbc
06:17 dalek nqp/target-pbc: review: https://github.com/perl6/nqp/commit/b19dbc141a
06:36 dalek parrot/ops2c-necromancy: 7b8889c | cotto++ | / (12 files):
06:36 dalek parrot/ops2c-necromancy: resurrect ops2c.pl, ops2pm.pl and dependencies
06:36 dalek parrot/ops2c-necromancy: review: https://github.com/parrot/parrot/commit/7b8889c2be
06:36 dalek parrot/ops2c-necromancy: c66f40d | cotto++ | src/ops/ops.num:
06:36 dalek parrot/ops2c-necromancy: update ops.num for the current set of ops
06:36 dalek parrot/ops2c-necromancy: review: https://github.com/parrot/parrot/commit/c66f40da6f
06:36 dalek parrot/ops2c-necromancy: cd1fc9d | cotto++ | lib/Parrot/Ops2pm.pm:
06:36 dalek parrot/ops2c-necromancy: minimize differences between old and new generated include/parrot/oplib/ops.h
06:36 dalek parrot/ops2c-necromancy: review: https://github.com/parrot/parrot/commit/cd1fc9d53c
06:36 dalek parrot/ops2c-necromancy: d15fd44 | cotto++ | lib/Parrot/OpsRenumber.pm:
06:36 dalek parrot/ops2c-necromancy: minimize differences in generated include/parrot/opsenum.h
06:36 dalek parrot/ops2c-necromancy: review: https://github.com/parrot/parrot/commit/d15fd4451f
06:36 dalek parrot/ops2c-necromancy: f3de8ab | cotto++ | config/auto/ops.pm:
06:36 dalek parrot/ops2c-necromancy: put experimental ops at the end of the list
06:36 dalek parrot/ops2c-necromancy: review: https://github.com/parrot/parrot/commit/f3de8abff7
06:36 dalek parrot/ops2c-necromancy: b19020d | cotto++ | src/ops/ops.num:
06:36 dalek parrot/ops2c-necromancy: add the experimental ops to ops.num
06:36 dalek parrot/ops2c-necromancy: review: https://github.com/parrot/parrot/commit/b19020df63
06:36 dalek parrot/ops2c-necromancy: 0858c01 | cotto++ | include/parrot/op (2 files):
06:36 dalek parrot/ops2c-necromancy: check in the generated ops headers
06:36 dalek parrot/ops2c-necromancy: review: https://github.com/parrot/parrot/commit/0858c01855
06:36 dalek parrot/ops2c-necromancy: fbe0a4f | cotto++ | / (3 files):
06:36 dalek parrot/ops2c-necromancy: [ops2c] bring back the old ops2c.pl and a couple dependencies
06:36 dalek parrot/ops2c-necromancy: review: https://github.com/parrot/parrot/commit/fbe0a4f2f3
06:36 dalek parrot/ops2c-necromancy: 57e3690 | cotto++ | config/gen/makefiles/root.in:
06:36 dalek parrot/ops2c-necromancy: [ops2c] use ops2pm to build some generated files
06:36 dalek parrot/ops2c-necromancy: review: https://github.com/parrot/parrot/commit/57e36908b2
06:36 dalek parrot/ops2c-necromancy: ec5e249 | cotto++ | lib/Parrot/Op (2 files):
06:36 dalek parrot/ops2c-necromancy: [ops2c] update/clean up ops2c
06:36 dalek parrot/ops2c-necromancy: review: https://github.com/parrot/parrot/commit/ec5e24901a
06:37 cotto The generated headers work just fine.  The generated C code still needs some work.
06:37 cotto (just in case any ambitious soul wants to jump in)
06:41 cotto 'night
07:08 Mike-PerlRecruiter_ joined #parrot
07:12 Khisanth joined #parrot
07:17 PacoAir joined #parrot
07:28 Reini joined #parrot
08:02 dalek rakudo/optimizer-void-context: a5a3718 | moritz++ | src/Perl6/Optimizer.pm:
08:02 dalek rakudo/optimizer-void-context: steal match widening from rakudo-debugger
08:02 dalek rakudo/optimizer-void-context:
08:02 dalek rakudo/optimizer-void-context: now "23 + 4" in sink context reports the whole expression, not just the operator
08:02 dalek rakudo/optimizer-void-context: review: https://github.com/rakudo/rakudo/commit/a5a3718e45
10:02 Khisanth joined #parrot
10:28 muixirt joined #parrot
10:34 dalek nqp/target-pbc: 7cd9056 | (Gerhard R)++ | src/HLL/Compiler.pm:
10:34 dalek nqp/target-pbc: integrate PBC generation more naturally into HLL::Compiler
10:34 dalek nqp/target-pbc: review: https://github.com/perl6/nqp/commit/7cd9056768
10:51 woolfy joined #parrot
10:52 Liz joined #parrot
11:30 dngor joined #parrot
12:18 dngor_ joined #parrot
12:27 PacoAir joined #parrot
12:40 PacoAir joined #parrot
12:49 dalek nqp/target-pbc: 6fc76a3 | (Gerhard R)++ | src/stage0/ (9 files):
12:49 dalek nqp/target-pbc: rebootstrap so we can build on parrot branch eval_pmc
12:49 dalek nqp/target-pbc: review: https://github.com/perl6/nqp/commit/6fc76a3d8e
13:21 PacoAir joined #parrot
13:33 bouncy joined #parrot
14:21 Psyche^ joined #parrot
14:24 brrt joined #parrot
14:24 brrt left #parrot
14:49 kid51 joined #parrot
14:55 dalek rakudo/nom: a10db62 | moritz++ | src/Perl6/Optimizer.pm:
14:55 dalek rakudo/nom: try to track void context in the optimizer
14:55 dalek rakudo/nom:
14:55 dalek rakudo/nom: does not work yet, it seems to consider all string literals in void context.
14:55 dalek rakudo/nom: No idea why :(
14:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a10db62a91
14:55 dalek rakudo/nom: f41f314 | moritz++ | src/Perl6/Optimizer.pm:
14:55 dalek rakudo/nom: be a bit less wrong about void context detection
14:55 dalek rakudo/nom:
14:55 dalek rakudo/nom: still does not work at all :(
14:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f41f31418c
14:55 dalek rakudo/nom: 15219f7 | moritz++ | src/Perl6/Optimizer.pm:
14:55 dalek rakudo/nom: fix logic error in void context detection
14:55 dalek rakudo/nom:
14:55 dalek rakudo/nom: still has quite a fe false positives
14:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/15219f77ae
14:56 dalek rakudo/nom: d501814 | moritz++ | src/Perl6/Optimizer.pm:
14:56 dalek rakudo/nom: track declaration bits in the QAST
14:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d501814e27
14:56 dalek rakudo/nom: 9244510 | moritz++ | src/Perl6/Optimizer.pm:
14:56 dalek rakudo/nom: use %!worrying mechanism for string constants in void context
14:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9244510d3c
14:56 dalek rakudo/nom: 7636b79 | moritz++ | src/Perl6/Actions.pm:
14:56 dalek rakudo/nom: give string literal QAST nodes a Match object
14:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7636b7925a
14:56 dalek rakudo/nom: c24440a | moritz++ | src/Perl6/Optimizer.pm:
14:56 dalek rakudo/nom: detect Int and Num literals in void context
14:56 dalek rakudo/nom:
14:56 dalek rakudo/nom: Does not trigger yet, probably because they have no .node info.
14:56 dalek rakudo/nom: Also replace the constant QAST node with a null op
14:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c24440a636
14:56 dalek rakudo/nom: 89c7e57 | moritz++ | src/Perl6/ (2 files):
14:56 dalek rakudo/nom: give numeric constant QAST nodes a .node
14:56 dalek rakudo/nom:
14:56 dalek rakudo/nom: now Int and Num literals warn in void context
14:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/89c7e570bc
14:56 dalek rakudo/nom: f6a731c | moritz++ | src/Perl6/Optimizer.pm:
14:56 dalek rakudo/nom: warn when inlining constant expressions in void context
14:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f6a731c2f2
14:56 dalek rakudo/nom: a5a3718 | moritz++ | src/Perl6/Optimizer.pm:
14:56 dalek rakudo/nom: steal match widening from rakudo-debugger
14:56 dalek rakudo/nom:
14:56 dalek rakudo/nom: now "23 + 4" in sink context reports the whole expression, not just the operator
14:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a5a3718e45
14:56 dalek rakudo/nom: df3a732 | moritz++ | src/Perl6/ (3 files):
14:56 dalek rakudo/nom: Merge remote-tracking branch 'origin/optimizer-void-context' into nom
14:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/df3a732437
14:57 Reini joined #parrot
14:58 dalek rakudo/nom: d2795bb | moritz++ | docs/ChangeLog:
14:58 dalek rakudo/nom: update ChangeLog with new warnings
14:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d2795bb7b2
14:58 mtk joined #parrot
15:01 dngor joined #parrot
15:03 mtk joined #parrot
15:07 mtk joined #parrot
15:14 xcombelle joined #parrot
15:24 woolfy joined #parrot
15:24 mtk joined #parrot
15:25 Liz joined #parrot
15:56 kid51 joined #parrot
15:58 dalek nqp/target-pbc: de66164 | (Gerhard R)++ | src/ (3 files):
15:58 dalek nqp/target-pbc: untangle code
15:58 dalek nqp/target-pbc: review: https://github.com/perl6/nqp/commit/de66164b3b
15:58 dalek nqp/target-pbc: 4068cef | (Gerhard R)++ | t/ (4 files):
15:58 dalek nqp/target-pbc: adjust tests
15:58 dalek nqp/target-pbc: review: https://github.com/perl6/nqp/commit/4068cef76e
15:58 dalek nqp/target-pbc: 7fef0cc | (Gerhard R)++ | src/stage0/ (9 files):
15:58 dalek nqp/target-pbc: rebootstrap
15:58 dalek nqp/target-pbc: review: https://github.com/perl6/nqp/commit/7fef0cca19
16:25 zby_home joined #parrot
17:02 kid51 joined #parrot
17:45 moritz can I simply  #include <sys/resource.h> in src/platform/sysmem.c, or does that need some kind of configure probe first?
17:45 Eddward joined #parrot
17:47 allison moritz: not windows-safe
17:48 moritz so, how do I add the configure probe?
17:49 moritz or do I have to add an src/platform/linux/sysmem.c ?
17:50 kid51 moritz: You might want to first look at other files in src/platform/*/*.c
17:51 moritz kid51: and look for what?
17:51 kid51 These files are infrequently added, so I don't know the answer off the top of my head..
17:51 kid51 Look for what includes those files have.
17:51 kid51 My hunch is that a configure probe will be needed, but I haven't thought about anything like this in > 1 yr
17:52 kid51 What is your objective?
17:52 moritz kid51: include ulimits in the calculation of available system memory
17:53 kid51 hmm, I have a vague recollection that we did something like that about two years ago, say, when we were dealing with garbage collection
17:53 benabik kid51: I think this is one of those "discussed to no solution thing", much like estimating memory on 64b OS X.
17:54 kid51 sysmem.c is mentioned in config/auto/platform.pm
17:54 pmichaud some discussion about this issue at http://irclog.perlgeek.de/p​arrot/2012-07-01#i_5775352
17:54 pmichaud good morning, #parrot
17:55 kid51 We have OS-specific versions of probes: e.g., src/platform/generic/sysmem.c
17:55 kid51 src/platform/darwin/sysmem.c
17:55 kid51 src/platform/win32/sysmem.c
17:56 pmichaud more directly: http://irclog.perlgeek.de/p​arrot/2012-07-02#i_5776957
17:57 moritz kid51: if I add a platform/linux/sysmem.c, does that need to start as a copy of the generic one?
17:58 moritz I still think that a configure probe would be better
17:58 moritz but I have no clue how to add one
17:58 moritz and git grep doesn't give me a clue either
17:59 kid51 Have you looked at config/auto/platform.pm?
18:00 moritz I've looked just now; but it doesn't enlighten me
18:00 moritz config/gen/config_h.pm looks like the better place
18:01 kid51 config_h.pm is one of the last configuration steps
18:01 contingencyplan joined #parrot
18:01 kid51 the 'gen' steps are intended to spew out Makefiles and header files based on data assembled earlier
18:02 moritz the problem is, I have no idea how the data flows in the configure system
18:02 moritz for example there's a  $conf->data->keys()
18:03 moritz where does that data come from?
18:03 kid51 IIRC -- and, again, I haven't had to think about this in some time -- we first examine the local Perl5 %Config, then override values with config/init/hints/*.pm, then conduct probes in the config/auto stage
18:04 kid51 Roughly speaking , there are 4 configuration stages
18:04 kid51 init: Populate with default values from P5 %Config, hints, etc.
18:05 moritz oh, found it
18:05 kid51 inter: Additional population of values where interactive configuration is sometimes appropriate (that sometimes being: when done by Andy Dougherty :-) )
18:05 kid51 auto: probe the system, usually with little C programs
18:05 moritz config/auto/headers.pm has a list of @extra_headers
18:06 Reini joined #parrot
18:06 kid51 finally, gen: spew out files based on data in the Parrot::Configure object -- $conf in your example above.
18:08 kid51 perldoc Parrot::Configure
18:08 kid51 or Parrot::Configure::Data
18:08 kid51 or Parrot::Configure::Compiler
18:09 kid51 Also: perldoc pod/configuration.pod
18:12 moritz woah, compiled at first attempt
18:12 moritz and it's been weeks since I last wrote any C code :-)
18:13 kid51 Other things being equal, I'd say adding that header to config/auto/headers.pm would be the way to go.
18:15 moritz erm no, it just compiled it later than I expected
18:16 kid51 At the risk of exposing how long it's been since *I* wrote C code ...
18:17 kid51 ... where would headers like sys/resources be stored?
18:17 rurban I'm adding a getrlimit check now: rurban/rlimit-gh935
18:17 moritz rurban: I think I'm done now
18:17 moritz rurban: we can compare patches :-)
18:17 moritz kid51: in /usr/include/
18:18 moritz it's a system header
18:18 rurban You need to check PARROT_HAS_HEADER_SYSRESOURCE
18:18 moritz rurban: right, but first you need to tell configure to generate that macro
18:18 rurban then compare getrlimit to the returened memsize, and return the min
18:18 rurban sure, easy
18:18 moritz after 20 minuts of grepping around, it's easy, yes :-)
18:18 rurban and I'm not sure if we need to check RLIMIT_DATA and RLIMIT_AS or only one
18:19 moritz I'm checking RLIMIT_AS for now
18:19 rurban I wrote it in 5min :)
18:19 moritz because I usually set ulimit -v
18:19 moritz rurban: http://moritz.faui2k3.org/tmp/respect-ulimit.patch that's my patch so far
18:19 rurban I think per process data maybe limited also
18:23 dalek parrot/rurban/rlimit-gh935: baefa33 | rurban++ | / (2 files):
18:23 dalek parrot/rurban/rlimit-gh935: [GH #935] honor user-rlimits for returned sysmem_amount (untested)
18:23 dalek parrot/rurban/rlimit-gh935: review: https://github.com/parrot/parrot/commit/baefa33172
18:25 rurban oops
18:26 benabik Now if we can write a nice probe for HW_MEMSIZE on OS X...
18:26 kid51 benabik: I *definitely* remember discussions about that one!
18:27 rurban I think HW_PHYSMEM supported > 4GB
18:27 rurban and HW_MEMSIZE only < 2GB, or smthng like this
18:28 benabik HW_PHYSMEM returns 32s.  HW_MEMSIZE returns 64b.
18:28 benabik *32b
18:28 rurban oh! I think I already patched that somewhere
18:29 kid51_ joined #parrot
18:30 moritz rurban: seems our patches are nearly identical, except that you test more limits than me
18:31 dalek parrot/rurban/rlimit-gh935: aa3c2dd | rurban++ | / (2 files):
18:31 dalek parrot/rurban/rlimit-gh935: [GH #935] honor user-rlimits for returned sysmem_amount (untested)
18:31 dalek parrot/rurban/rlimit-gh935:
18:31 dalek parrot/rurban/rlimit-gh935: We need to check for RLIMIT_DATA and then RLIMIT_AS,
18:31 dalek parrot/rurban/rlimit-gh935: first hard, then soft limits.
18:31 dalek parrot/rurban/rlimit-gh935: review: https://github.com/parrot/parrot/commit/aa3c2ddcc8
18:31 rurban We also need to add a testcase
18:33 rurban benabik: there's a branch rurban/darwin-memsize-gh268
18:33 rurban All tests pass, so I merge it before the rlimit check
18:35 benabik rurban: You changed it in platform/generic, but there's a platform/darwin
18:36 dalek parrot: 7b86dcd | rurban++ | src/platform/generic/sysmem.c:
18:36 dalek parrot: [GH #268] sysctl: check for HW_MEMSIZE
18:36 dalek parrot:
18:36 dalek parrot: HW_PHYSMEM returns max 2G as its a signed int only. Use HW_MEMSIZE if available.
18:36 dalek parrot: This helps rakudo building core.pir doing less gc, which is triggered when 10% of total memory is allocated
18:36 dalek parrot: review: https://github.com/parrot/parrot/commit/7b86dcde7d
18:36 dalek parrot: f856f62 | rurban++ | src/platform/generic/sysmem.c:
18:36 dalek parrot: Merge remote-tracking branch 'origin/rurban/darwin-memsize-gh268'
18:36 dalek parrot: review: https://github.com/parrot/parrot/commit/f856f62ae7
18:37 rurban Oh, I have to do it both? I'll do
18:40 kid51 There is also src/platform/win32/sysmem.c
18:41 dalek parrot/rurban/darwin-memsize-gh268: 1103c31 | rurban++ | src/platform/darwin/sysmem.c:
18:41 dalek parrot/rurban/darwin-memsize-gh268: [GH #268] provide >2GB RAM HW_MEMSIZE check also for darwin, not only generic
18:41 dalek parrot/rurban/darwin-memsize-gh268: review: https://github.com/parrot/parrot/commit/1103c31960
18:41 rurban win32 last
18:41 benabik I'd be slightly surprised if win32 uses sysctl for memory size.
18:41 rurban I guess win32 has a proper API for this
18:43 rurban our t/stress/gc.t sucks
18:44 rurban I'll wait with the new rurban/darwin-memsize-gh268 until I get reports, and until I tested it on ppc
18:47 travis-ci joined #parrot
18:47 travis-ci [travis-ci] parrot/parrot#813 (master - f856f62 : Reini Urban): The build was fixed.
18:47 travis-ci [travis-ci] Change view : https://github.com/parrot/parrot/c​ompare/b23f23e38b66...f856f62ae774
18:47 travis-ci [travis-ci] Build details : http://travis-ci.org/parrot/parrot/builds/4858806
18:47 travis-ci left #parrot
18:49 moritz rurban: seems you just merged darwin-memsize-gh26 into master
18:50 rurban yes, the old version. This was tested ok.
18:50 moritz ok
18:50 rurban I just forgot to merge it a month ago.
18:50 rurban This helps on 4GB linux and BSD systems
18:50 rurban without sysconf(_SC_PHYS_PAGES)
18:51 rurban There was a reported problem on a darwin system with the new patch, which I want to get tested
18:51 benabik rurban++
18:52 rurban But first I need to add to the t/stress/gc.t
18:52 rurban and add rlimit's
18:54 * moritz tests rurban/rlimit-gh935
18:55 rurban moritz: we need to test against RLIM_INFINITY as result value I guess
18:56 moritz yes, that's what http://moritz.faui2k3.org/tmp/respect-ulimit.patch does
19:00 moritz /home/moritz/p6/rakudo/install/bin/parrot  -o blib/Perl6/ModuleLoader.pbc src/gen/perl6-moduleloader.pir
19:00 moritz error:imcc:loadlib directive could not find library `nqp_group' in file 'src/gen/perl6-moduleloader.pir' line 1
19:00 rurban oop, my patch is wrong. ~0 not 0
19:00 moritz make: *** [blib/Perl6/ModuleLoader.pbc] Error 1
19:01 * moritz has no idea what's going on there
19:02 rurban use -L . -X .
19:02 moritz ah no, I know what's going on
19:02 rurban new loadpath order
19:03 moritz the nqp is compiled for an older parrot
19:03 rurban oh
19:03 moritz so now it looks in the wrong places
19:08 Mike-PerlRecruiter_ joined #parrot
19:12 dalek parrot/rurban/rlimit-gh935: 2c4e32b | rurban++ | / (2 files):
19:12 dalek parrot/rurban/rlimit-gh935: [GH #935] honor user-rlimits for returned sysmem_amount (untested)
19:12 dalek parrot/rurban/rlimit-gh935:
19:12 dalek parrot/rurban/rlimit-gh935: We need to check for RLIMIT_DATA and then RLIMIT_AS,
19:12 dalek parrot/rurban/rlimit-gh935: first hard, then soft limits.
19:12 dalek parrot/rurban/rlimit-gh935: review: https://github.com/parrot/parrot/commit/2c4e32bebe
19:12 dalek parrot/ops2c-necromancy: ca95550 | cotto++ | lib/Parrot/Ops2c/Utils.pm:
19:12 dalek parrot/ops2c-necromancy: [ops2c] remove x_numops, which nothing uses
19:12 dalek parrot/ops2c-necromancy: review: https://github.com/parrot/parrot/commit/ca95550f39
19:12 dalek parrot/ops2c-necromancy: a55f89c | cotto++ | lib/Parrot/OpsFile.pm:
19:12 dalek parrot/ops2c-necromancy: [ops2c] fix branch detection in the ops processor
19:12 dalek parrot/ops2c-necromancy: review: https://github.com/parrot/parrot/commit/a55f89ceea
19:14 rurban This guy says http://stackoverflow.com/questions/7382554/how-​to-get-total-size-of-free-memory-in-c-in-linux
19:14 rurban if (lim.rlim_cur >= 0xC000000000000000ull) // most systems cannot address more than 48 bits
19:15 rurban But he doesn't check for RLIM_INFINITY (~0UL)
19:23 dalek nqp: 54985c7 | jnthn++ | src/ (6 files):
19:23 dalek nqp: Eliminate a bunch of pir::.
19:23 dalek nqp: review: https://github.com/perl6/nqp/commit/54985c7d3a
19:23 dalek nqp: 3c896f1 | jnthn++ | t/nqp/62-subst.t:
19:23 dalek nqp: Update test to not pass due to a PCC fail.
19:24 dalek nqp:
19:24 dalek nqp: Something that takes no parameters will not check that it got none.
19:24 dalek nqp: Fixing the test, rather than porting the bug.
19:24 dalek nqp: review: https://github.com/perl6/nqp/commit/3c896f153d
19:24 dalek nqp: d47185c | jnthn++ | src/core/Regex.pm:
19:24 dalek nqp: Further portability tweak.
19:24 dalek nqp: review: https://github.com/perl6/nqp/commit/d47185cb2c
20:01 dalek parrot/rurban/rlimit-gh935: 1b0620f | rurban++ | t/stress/gc.t:
20:01 dalek parrot/rurban/rlimit-gh935: [GH #935] add t/stress/gc.t
20:01 dalek parrot/rurban/rlimit-gh935:
20:01 dalek parrot/rurban/rlimit-gh935: use from cmd-line as ./parrot t/stress/gc_2.pir 1000000
20:01 dalek parrot/rurban/rlimit-gh935: ulimit -Sv 64000
20:01 dalek parrot/rurban/rlimit-gh935: ./parrot t/stress/gc_3.pir 1000000
20:01 dalek parrot/rurban/rlimit-gh935: ulimit -Sv unlimited
20:01 dalek parrot/rurban/rlimit-gh935: review: https://github.com/parrot/parrot/commit/1b0620f2d1
20:04 dalek parrot/ops2c-necromancy: 5779631 | cotto++ | lib/Parrot/Op (2 files):
20:04 dalek parrot/ops2c-necromancy: [ops2c] remove the op body prelude, which is no longer needed
20:04 dalek parrot/ops2c-necromancy: review: https://github.com/parrot/parrot/commit/5779631eb1
20:04 dalek parrot/ops2c-necromancy: 27d50f5 | cotto++ | lib/Parrot/Op (3 files):
20:04 dalek parrot/ops2c-necromancy: [ops2c] various cosmetic changes to generated ops code
20:04 dalek parrot/ops2c-necromancy: review: https://github.com/parrot/parrot/commit/27d50f5036
20:12 perlite_ joined #parrot
20:26 dalek nqp: 4500780 | jnthn++ | src/HLL/Compiler.pm:
20:26 dalek nqp: Remove one seemingly unrequired loadbytecode.
20:26 dalek nqp: review: https://github.com/perl6/nqp/commit/4500780d2e
20:26 dalek nqp: 26b0b8e | jnthn++ | src/QAST/Operations.nqp:
20:26 dalek nqp: Map some more SC related ops.
20:26 dalek nqp: review: https://github.com/perl6/nqp/commit/26b0b8ee72
20:26 dalek nqp: 90f5160 | jnthn++ | src/ (4 files):
20:26 dalek nqp: More pir:: => nqp::.
20:26 dalek nqp: review: https://github.com/perl6/nqp/commit/90f51607d8
21:33 dalek nqp: 8740c50 | moritz++ | / (2 files):
21:33 dalek nqp: remove pir::escape call
21:33 dalek nqp: review: https://github.com/perl6/nqp/commit/8740c506f0
21:47 donaldh joined #parrot
21:52 dalek nqp: 5265cf6 | jnthn++ | src/HLL/Compiler.pm:
21:52 dalek nqp: Seems PGE/Dumper.pbc is not used.
21:52 dalek nqp: review: https://github.com/perl6/nqp/commit/5265cf6f31
21:52 dalek nqp: 9c9d7bc | jnthn++ | src/QAST/Operations.nqp:
21:52 dalek nqp: Another missing SC op mapping.
21:52 dalek nqp: review: https://github.com/perl6/nqp/commit/9c9d7bcda4
21:52 dalek nqp: 77bd4eb | jnthn++ | src/NQP/World.pm:
21:52 dalek nqp: Replace a couple of QAST::VM with QAST::Op.
21:52 dalek nqp: review: https://github.com/perl6/nqp/commit/77bd4eb6fc
21:52 dalek nqp: c484723 | jnthn++ | src/QAST/Operations.nqp:
21:52 dalek nqp: A couple more coderef op mappings.
21:52 dalek nqp: review: https://github.com/perl6/nqp/commit/c48472343d
21:52 dalek nqp: afbe2be | jnthn++ | src/NQP/World.pm:
21:52 dalek nqp: Get rid of another QAST::VM.
21:52 dalek nqp:
21:52 dalek nqp: Seems this is one of, if not the last QAST::VM node in code-gen that
21:52 dalek nqp: should be portable. Of course, still a bunch of pir:: and Q:PIR uses
21:52 dalek nqp: to go.
21:52 dalek nqp: review: https://github.com/perl6/nqp/commit/afbe2be21c
22:10 donaldh joined #parrot
22:33 bluescreen joined #parrot
22:42 dalek nqp: 32a218b | jnthn++ | src/HLL/Grammar.pm:
22:42 dalek nqp: Eliminate Q:PIR in starter/stopper.
22:43 dalek nqp:
22:43 dalek nqp: Took a simpler approach than the kboga++ patches for these two.
22:43 dalek nqp: review: https://github.com/perl6/nqp/commit/32a218b2c3
22:43 dalek nqp: 98a623e | jnthn++ | src/HLL/Grammar.pm:
22:43 dalek nqp: Port HLL::Grammar.O to NQP.
22:43 dalek nqp:
22:43 dalek nqp: Mostly from kboga++'s pull request, with a few tweaks and some use of
22:43 dalek nqp: native types.
22:43 dalek nqp: review: https://github.com/perl6/nqp/commit/98a623e5c4
23:00 dalek parrot/sixparrot: 3c8de68 | allison++ | / (4 files):
23:00 dalek parrot/sixparrot: Remove multidispatch from Integer PMC.
23:00 dalek parrot/sixparrot: review: https://github.com/parrot/parrot/commit/3c8de68a9a
23:06 cotto allison++
23:07 allison I've gained a pretty consistent 30 seconds on the parrot test suite, but no significant change on Rakudo
23:07 allison (not slower, anyway)
23:31 cotto All dynop tests pass.  I still need to implement write barriers, but this is progressing nicely.
23:35 cotto and github is down
23:36 cotto I guess that's why dalek didn't pick up a previous push
23:43 dalek rakudo/nom: 10dac76 | jnthn++ | src/Perl6/ (2 files):
23:43 dalek rakudo/nom: Support for nqp::const.
23:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/10dac76d0f
23:43 dalek rakudo/nom: b9ee89a | jnthn++ | / (9 files):
23:43 dalek rakudo/nom: Some pir:: => nqp:: for the setting.
23:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b9ee89a9e1
23:45 rurban github up again

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced