Camelia, the Perl 6 bug

IRC log for #parrot, 2011-09-16

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:03 cotto plobsing, I like that branch.
00:04 cotto "Parrot_hash_pointer" is a bit confusing because I expect "Parrot_hash" to be the prefix, but I like where you're going.
00:06 plobsing cotto: I suspect we could get a little performance boost from using that hash function for our pointer hashes as well
00:06 plobsing pointers have very low entropy in the low bits, so small hashes of pointers are degenerate
00:06 plobsing that hash function moves some of the existing entropy into lower bits
00:07 plobsing however, I have yet to test this theory rigorously
00:07 cotto I was disappointed when I saw that we hashed pointers the same way we hash INTVALs
00:08 cotto "bitsex"?
00:09 cotto plobsing, is that intentional?
00:09 whiteknight joined #parrot
00:09 plobsing like bytesex (or endianness)
00:09 plobsing but for bits
00:09 cotto I'd never heard that term before.
00:10 whiteknight ....bytesex?
00:10 cotto I was hoping for a hilarious typo.
00:10 * whiteknight came into this conversation at the worst possible time
00:10 plobsing http://www.catb.org/jargon/html/B/byte-sex.html
00:11 plobsing I am *not* making this up
00:11 dalek Rosella/query_streams: 353cd78 | Whiteknight++ | / (2 files):
00:11 dalek Rosella/query_streams: Tests for FileResult
00:11 dalek Rosella/query_streams: review: https://github.com/Whiteknig​ht/Rosella/commit/353cd78cad
00:11 dalek Rosella/query_streams: 16f8ad3 | Whiteknight++ | / (31 files):
00:11 dalek Rosella/query_streams: Merge harness_test branch. Fix conflicts
00:11 dalek Rosella/query_streams: review: https://github.com/Whiteknig​ht/Rosella/commit/16f8ad33b3
00:11 dalek Rosella/query_streams: e036fbf | Whiteknight++ | s (3 files):
00:11 dalek Rosella/query_streams: Add 'winxed_debug' arg to Distutils wrapper to build winxed files with --debug
00:11 dalek Rosella/query_streams: review: https://github.com/Whiteknig​ht/Rosella/commit/e036fbf0b7
00:11 dalek Rosella/query_streams: 03e6688 | Whiteknight++ | src/harness/ (2 files):
00:11 dalek Rosella/query_streams: Fix up TestFile.PIR
00:11 dalek Rosella/query_streams: review: https://github.com/Whiteknig​ht/Rosella/commit/03e668874b
00:11 whiteknight hot byte-on-byte action
00:11 dalek Rosella/query_streams: 5d3a228 | Whiteknight++ | s (2 files):
00:11 dalek Rosella/query_streams: stream methods create a new Stream
00:11 dalek Rosella/query_streams: review: https://github.com/Whiteknig​ht/Rosella/commit/5d3a228f46
00:11 dalek Rosella/query_streams: a35fc2e | Whiteknight++ | / (32 files):
00:11 dalek Rosella/query_streams: Merge branch 'master' into query_streams
00:11 dalek Rosella/query_streams: review: https://github.com/Whiteknig​ht/Rosella/commit/a35fc2e4e3
00:11 dalek Rosella/query_streams: 616613c | Whiteknight++ | src/ (4 files):
00:11 dalek Rosella/query_streams: Fix a problem missed in Harness. Update Harness to use the new way of doing streams
00:11 dalek Rosella/query_streams: review: https://github.com/Whiteknig​ht/Rosella/commit/616613c580
00:11 dalek Rosella/query_streams: 354a55f | Whiteknight++ | s (3 files):
00:11 dalek Rosella/query_streams: Add in a Stream.Iterator type, for easy looping
00:11 dalek Rosella/query_streams: review: https://github.com/Whiteknig​ht/Rosella/commit/354a55f427
00:11 dalek Rosella/query_streams: 79e4389 | Whiteknight++ | src/query/St (2 files):
00:11 dalek Rosella/query_streams: Implement Stream.flatten. A few small cleanups
00:11 dalek Rosella/query_streams: review: https://github.com/Whiteknig​ht/Rosella/commit/79e43893bb
00:11 dalek Rosella/query_streams: de8c10a | Whiteknight++ | src/query/St (2 files):
00:11 dalek Rosella/query_streams: Stream.append
00:11 dalek Rosella/query_streams: review: https://github.com/Whiteknig​ht/Rosella/commit/de8c10a3a0
00:11 dalek Rosella/query_streams: 1845f56 | Whiteknight++ | src/query/Stream.winxed:
00:11 dalek Rosella/query_streams: Stream.count and Stream.any
00:11 dalek Rosella/query_streams: review: https://github.com/Whiteknig​ht/Rosella/commit/1845f561f1
00:11 dalek Rosella/query_streams: 259d134 | Whiteknight++ | src/query/Stage.winxed:
00:11 dalek Rosella/query_streams: Cut out some whitespace
00:11 dalek Rosella/query_streams: review: https://github.com/Whiteknig​ht/Rosella/commit/259d134267
00:11 dalek Rosella/query_streams: d2a6a90 | Whiteknight++ | src/query/ (7 files):
00:11 dalek Rosella/query_streams: Cleanup namespace directives
00:11 dalek Rosella/query_streams: review: https://github.com/Whiteknig​ht/Rosella/commit/d2a6a90962
00:11 dalek Rosella/query_streams: 5bfd251 | Whiteknight++ | src/query/Stage.winxed:
00:12 dalek Rosella/query_streams: +docs and some error checking
00:12 dalek Rosella/query_streams: review: https://github.com/Whiteknig​ht/Rosella/commit/5bfd251cac
00:12 plobsing bitsex is for those naughty individuals who do bitmangling
00:12 plobsing <insert naughty bits joke here>
00:13 plobsing cotto: I'm glad someone is actually reviewing my commits
00:13 cotto It's a dirty job...
00:17 whiteknight I notice that we don't have a 'does "iterable"' role anywhere. There's no way to tell whether you can get_iter a PMC without trying to do it and catching the exception
00:17 plobsing find_vtable?
00:17 plobsing or somesuch?
00:18 cotto whiteknight, you seem to be implying that having an 'iterable' role would provide some kind of assurance.
00:18 whiteknight I don't know what the solution is, I'm just pointing out the problem
00:18 cotto Which sounds like a great idea.  Someone should implement that.
00:18 whiteknight and it's clearly not a big problem
00:21 soh_cah_toa whiteknight: how's whiteknight/kill_threads looking? when will it be ready for merge?
00:21 cotto zomg
00:22 cotto I think the maintainer of git just sent us a pull request
00:22 whiteknight soh_cah_toa: still pending that last test failure. Plus, nine is working on some threading-related stuff and I want to talk to him about it
00:23 plobsing cotto: quick! print it and hang it on your wall.
00:24 cotto "Humbly suggesting improvements to [git] workflow document"
00:24 soh_cah_toa whiteknight: alright, b/c i'm making this saturday the freeze on master but if it still needs a little work, i'll make an exception just for you ;)
00:24 cotto time to give that a look-see
00:24 soh_cah_toa yeah, i just saw that too. i like it :)
00:26 cotto dukeleto, ping
00:27 soh_cah_toa i don't understand why he put all the octothorpes though, it looks weird when gh renders it :\
00:29 whiteknight Let's go under the assumption that the kill_threads won't make it into this release
00:29 soh_cah_toa alright
00:29 cotto soh_cah_toa, it's not meant to merge, just to suggest changes
00:29 plobsing soh_cah_toa: because those aren't intended to actually be a part of the document
00:29 cotto er, be mergede
00:30 plobsing s/mergede/merged/ # ftfy
00:30 soh_cah_toa i see
00:32 preflex_ joined #parrot
00:44 dalek rakudo/nom: a834325 | jnthn++ | src/binder/multidispatch. (2 files):
00:44 dalek rakudo/nom: Refactor in preparation for adding multi-dispatch cache; sketch it structures related to it.
00:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a834325fc7
00:45 dalek rakudo/nom: 9961471 | jnthn++ | src/binder/multidispatch.c:
00:45 dalek rakudo/nom: Add calls to add/find things in the multi-dispatch cache.
00:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9961471b0f
00:45 dalek rakudo/nom: 2257709 | jnthn++ | src/binder/multidispatch. (2 files):
00:45 dalek rakudo/nom: Get multi-dispatch cache sketched out. It almost works, apart from on the occasions it doesn't, which are proving hard to track down. Thus, it's disabled for now.
00:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2257709c85
00:45 dalek Rosella/query_streams: 403590c | Whiteknight++ | src/query/St (2 files):
00:45 dalek Rosella/query_streams: Add comments for Stream. Re-do .tap()
00:45 dalek Rosella/query_streams: review: https://github.com/Whiteknig​ht/Rosella/commit/403590cf25
00:45 dalek Rosella/query_streams: 4695cae | Whiteknight++ | src/query/ (3 files):
00:45 dalek Rosella/query_streams: Move the qsort implementation into the Query namespace since it's used in more places than just the Provider and subclasses
00:45 dalek Rosella/query_streams: review: https://github.com/Whiteknig​ht/Rosella/commit/4695cae886
00:53 jsut_ joined #parrot
01:07 plobsing cotto: what's the status of all_hll_test? is it expected to always be passing yet?
01:10 cotto plobsing, it depends on the status of the various hlls.  I usually manually run against master to get a baseline.
01:10 plobsing ok.
01:10 plobsing it would be nice if there were a way to keep the tool up to date with the last "known good" rev
01:10 cotto it's a weakness in the current design of the tools
01:10 cotto s/tools/tool/
01:11 plobsing or if projects cooperated and provided us with a branch/tag that pointed to such a thing
01:12 plobsing or, you know, did all their development on branches and maintained the default branch in a good state
01:12 cotto pshaw
01:13 cotto I'm not sure what the best way to do that is.  The simplest would be to run everything against master in addition to whatever branch is being used, but that has a glaring deficiency.
01:15 cotto iwbni nqp's tests passed though
01:17 woosley joined #parrot
01:18 plobsing rakudo master based on nqp master hangs spectest
01:19 plobsing and since I have a small patch to nqp (which I've logically based on the most recent common code, aka master), my fix is untestable on rakuod
01:20 cotto plobsing, in rakudoland, nom is the new master
01:20 plobsing yeah, whatever the thing is
01:21 plobsing if they're free to come up with whimsical and complicated naming schemes, I feel free to ignore those
01:21 cotto wfm.  It's the default branch, so there's no extra thought required.
02:36 dalek parrot/mls/sub-profiler: 79886bf | jkeenan++ | config/gen/makefiles/root.in:
02:36 dalek parrot/mls/sub-profiler: Rework dependencies so t/src/checkdepends.t passes.
02:36 dalek parrot/mls/sub-profiler: review: https://github.com/parrot/parrot/commit/79886bfaae
02:45 cotto kid51++
02:54 dalek parrot: 8c69a0b | jkeenan++ | config/gen/makefiles/root.in:
02:54 dalek parrot: Introduce a Makefile variable for frequently used directory include/pmc/.  Correct inaccurate inline comment about 'library_tests'.
02:54 dalek parrot: review: https://github.com/parrot/parrot/commit/8c69a0bb18
03:06 cotto msg kid51 in https://github.com/parrot/parrot/commit/8c69a0bb18 your commit message mentions a comment fix, but I don't see one.
03:06 aloha OK. I'll deliver the message.
03:08 cotto seen kid51
03:08 aloha kid51 was last seen in #parrot 8 days 14 hours ago saying "afk".
03:08 cotto seems to be the case
03:20 Coke Do folks want a play by play on the Muddle thing, or shall I just come back when it's usable?
03:21 Coke (http://feather.perl6.nl:2653/parrot/1 comes from the one run kid51 gave me.)
03:25 cotto I like seeing how it's progressing.
03:26 Coke I am missing coldfusion. pretty sad.
03:28 Coke putting it in dalek would probably help. Setting up a cronnish job so feather gets updated every so often.
03:33 Coke dalek?
03:33 Coke aloha, dalek?
03:33 aloha Coke: dalek is run by sorear.
03:33 Coke aloha, dalek owner?
03:33 aloha Coke: I give up.
03:33 Coke ... lagged. whee.
03:34 Coke msg sorear can you add github/coke/muddle to the list of tracked projects for dalek? danke.
03:34 aloha OK. I'll deliver the message.
03:34 Coke ... and why do I keep typing dalke?
03:34 Coke feather now setup to update the checkout every 10m.
03:41 sorear Coke: you can do that yourself now
03:42 sorear check out dalek-push.txt in the mu repo
03:42 Coke aloha, mu?
03:42 aloha Coke: Search me, bub.
03:42 Coke got it, danke.
03:43 Coke biiiiig repo.
03:46 Coke sorear++ #awesome
03:49 dalek muddle: 5a5b6b2 | Coke++ | / (2 files):
03:49 dalek muddle: add basic tag information to smoke report.
03:49 dalek muddle: review: https://github.com/coke/muddle/commit/5a5b6b2aeb
03:51 jkitazawa joined #parrot
03:51 cotto Coke, you can also add a post-receive url to github
03:51 Coke cotto: that's what I just did.
03:55 Coke yay, updates happening on feather.
04:21 benabik joined #parrot
04:46 dalek muddle: 69413f4 | Coke++ | templates/projects/report.html.ep:
04:46 dalek muddle: Break test data out by file.
04:46 dalek muddle: review: https://github.com/coke/muddle/commit/69413f455c
04:46 dalek muddle: 30842f6 | Coke++ | / (4 files):
04:46 dalek muddle: make smoke report resemble regen'd TAP
04:46 dalek muddle:
04:46 dalek muddle: * no decode() in sqlite3, so add table for directive lookup
04:46 dalek muddle: * fix bug on diagnostic import (retain newlines)
04:46 dalek muddle: review: https://github.com/coke/muddle/commit/30842f6bed
04:47 Coke http://feather.perl6.nl:2653/parrot/1 now looks a lot like it did before we carved it up and spit it out.
04:50 benabik muddle?
04:51 Coke aloha, muddle is a TAP server like smolder, written in smolder, at github.com/coke/muddle
04:51 aloha Coke: Okay.
04:53 benabik Coke++
04:53 benabik wait, written in smolder?
04:54 Coke aloha, no, muddle is a TAP server like smolder, written in mojo/sqlite, at github.com/coke/muddle
04:54 aloha Coke: Okay.
04:54 Coke thinko.
04:54 sorear how awesome is muddle?
04:54 * sorear wonders if ey should use it for eir projects somehow
04:54 benabik I think it's awesomely awesome, even if it doesn't work.  Not being smolder makes it pretty amazing.
04:55 Coke right now? it's kind of lame. it will become more awesome when data can be uploaded into it via not-the-command-line
04:55 Coke ey?'
04:55 benabik Make a thin "accepts TAP file" script that dumps them somewhere a cron job can batch process them.
04:55 Coke ah.
04:56 Coke right now I've got something that will take the .tar.gz files that we send to smolder.
04:56 Coke figure change one thing at a time.
04:56 Coke aloha: muddle is also http://feather.perl6.nl:2653/
04:56 aloha Coke: Okay.
04:56 Coke sorear: certainly that would be nice, using it for something other than parrot. ;)
04:58 sorear Coke: I'd like a better understanding of what its functional role is
04:59 Coke short term, replace parrot's use of smolder - accept tap archives, import them into a DB, then report on them per project (or per test file) (or per ... compiler, or version, or...) easy click through to find the diagnostics on fail. RSS feeds to track smoke.
05:00 Coke smolder does all that, but it's got maintenance issues.
05:00 Coke (generates an insane amount of inodes, disk space creep, have to restart it daily)
05:02 Coke right now it just imports those tap.tar.gz files on the command line and gives you the ugly report you see.
05:03 Coke (compare to smolder.parrot.org)
05:04 sorear Coke: I'm not familiar with what the purpose of smolder is.  Is it like CPANTS?
05:15 Coke (looking at CPANTS) no, that looks like it's not about tracking pass/fail on the test suites.
05:17 Coke more like... a continuous integration server that just handles test results, not running the tests.
05:17 Coke (except that it relies on others to do the continual part.)
05:18 Coke for example: imagine being able to say "are any clients failing spectests in perl6?" "what do they have in common?" "how long has the failure been occuring?"
05:18 sorear yeah
05:19 sorear that's what I was thinking of when I said CPANTS, but apparently CPANTS is not that thing *oops*
05:19 Coke we also have test run times, and can do something with that.
05:20 dalek muddle: 4e8ee53 | Coke++ | / (2 files):
05:20 dalek muddle: highlight failed tests in smoke report
05:20 dalek muddle: review: https://github.com/coke/muddle/commit/4e8ee53d81
05:20 sorear CPAN has a function where users can upload TAP reports and it displays in a nice PASS (712) FAIL (34) bar on the module info page, and you can then look at the data in more detail to figure out "oops, my module doesn't work on SunOS 5 with -Duse64bitint"
05:21 Coke yes, that!
05:26 Coke zzzz.
05:27 dalek parrot: ab9f012 | soh_cah_toa++ | config/gen/makefiles/root.in:
05:27 dalek parrot: Edited help message for 'reconfig' Makefile target to reflect the fact that it runs 'realclean', not 'clean'.
05:27 dalek parrot: review: https://github.com/parrot/parrot/commit/ab9f012b6c
07:07 mj41 joined #parrot
07:40 schmooster joined #parrot
08:02 lucian_ joined #parrot
08:03 SHODAN joined #parrot
08:23 jsut joined #parrot
08:36 woosley joined #parrot
08:50 SHODAN joined #parrot
09:03 dalek nqp: 9e5f3e8 | moritz++ | src/HLL/Compiler.pm:
09:03 dalek nqp: -e "" and -e "0" should no go to the REPL
09:03 dalek nqp: review: https://github.com/perl6/nqp/commit/9e5f3e8973
09:08 dalek rakudo/nom: b4fcd22 | jnthn++ | src/Perl6/ (2 files):
09:08 dalek rakudo/nom: Unify loadlibs handling for BEGIN-time dynamic compilation and the normal compilation path.
09:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b4fcd22d79
09:22 dalek rakudo/nom: 977dd63 | jnthn++ | src/Perl6/SymbolTable.pm:
09:22 dalek rakudo/nom: Send dynamic compilation through the Perl6::Compiler pipeline, rather than calling PAST::Compiler directly, so we don't lose the various .includes. Fixes compilation issue reported by snarkyboojum++.
09:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/977dd63847
09:22 jsut_ joined #parrot
10:02 mj41 joined #parrot
10:31 contingencyplan joined #parrot
11:10 mj41 joined #parrot
11:13 woosley joined #parrot
11:40 Psyche^ joined #parrot
11:46 arnsholt joined #parrot
12:29 whiteknight joined #parrot
12:31 whiteknight good morning, #parrot
12:31 mls morning whiteknight!
12:31 whiteknight soh_cah_toa++ # being on top of the release
12:31 whiteknight hello mls. How are you today?
12:31 mls good, good. cleaning up the subprofiler.
12:32 whiteknight awesome. I wanted to look at it last night but ran out of time
12:32 dalek parrot: 7b2a02a | (Michael Schroeder)++ | src/platform/linux/encoding.c:
12:32 dalek parrot: add missing newline to error message
12:32 dalek parrot: review: https://github.com/parrot/parrot/commit/7b2a02a816
12:32 dalek parrot: 008059c | (Michael Schroeder)++ | compilers/imcc/imc (2 files):
12:32 dalek parrot: add SET_LINENUMBER to the SUB lexer action
12:32 dalek parrot:
12:32 dalek parrot: This is a workaround for the <*>^{WS}* rule not matching
12:32 dalek parrot: lines that don't start with a white space. Without it, the
12:32 dalek parrot: getparam opcode will have the line number information of the
12:32 dalek parrot: last line of the previous sub.
12:32 dalek parrot: review: https://github.com/parrot/parrot/commit/008059c50b
12:32 dalek parrot/mls/sub-profiler: 09d8fa0 | (Michael Schroeder)++ | / (2 files):
12:32 dalek parrot/mls/sub-profiler: use parrot types
12:32 dalek parrot/mls/sub-profiler: review: https://github.com/parrot/parrot/commit/09d8fa0996
12:32 dalek parrot/mls/sub-profiler: 7b2a02a | (Michael Schroeder)++ | src/platform/linux/encoding.c:
12:32 dalek parrot/mls/sub-profiler: add missing newline to error message
12:32 dalek parrot/mls/sub-profiler: review: https://github.com/parrot/parrot/commit/7b2a02a816
12:32 dalek parrot/mls/sub-profiler: 008059c | (Michael Schroeder)++ | compilers/imcc/imc (2 files):
12:32 dalek parrot/mls/sub-profiler: add SET_LINENUMBER to the SUB lexer action
12:32 dalek parrot/mls/sub-profiler:
12:32 dalek parrot/mls/sub-profiler: This is a workaround for the <*>^{WS}* rule not matching
12:32 dalek parrot/mls/sub-profiler: lines that don't start with a white space. Without it, the
12:32 dalek parrot/mls/sub-profiler: getparam opcode will have the line number information of the
12:32 dalek parrot/mls/sub-profiler: last line of the previous sub.
12:32 dalek parrot/mls/sub-profiler: review: https://github.com/parrot/parrot/commit/008059c50b
12:32 dalek parrot/mls/sub-profiler: 2d45606 | (Michael Schroeder)++ | / (5 files):
12:32 dalek parrot/mls/sub-profiler: Merge branch 'master' into mls/sub-profiler
12:32 dalek parrot/mls/sub-profiler:
12:33 dalek parrot/mls/sub-profiler: Conflicts:
12:33 dalek parrot/mls/sub-profiler: config/gen/makefiles/root.in
12:33 dalek parrot/mls/sub-profiler: review: https://github.com/parrot/parrot/commit/2d456060cc
12:33 mls I still don't know what to do with rdtsc. Any ideas?
12:34 whiteknight I think we use rdtsc when we have it, and fall back to the more expensive hires timer functions when we don't
12:34 whiteknight so, figure out what systems have rdtsc, use macros, and call it then
12:34 whiteknight We can try to add a probe to Configure.pl, if it's more complicated than using it on just a few systems
12:34 mls we need to check both for gcc and the system architecture
12:35 mls (for now)
12:37 mls I'll ask our compiler folks for help
12:37 whiteknight okay. I think we are going to want the config probe and a config variable. We can generate a PARROT_HAS_RDTSC macro
12:47 dalek rakudo/nom: 6629ed7 | jnthn++ | src/Perl6/Actions.pm:
12:47 dalek rakudo/nom: A while ago we had a way to check if a routine was obviously never going to use return, and thus didn't need a return handler (a worthwhile saving). It accidentally got broken, and its analysis was a little simplistic. This makes it work again; it probably also doubles up as our 'should we be able to inline this routine' check.
12:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6629ed7acb
12:50 redicaps joined #parrot
13:02 JimmyZ joined #parrot
13:02 dalek parrot: c8a8ac1 | Whiteknight++ | src/dynpmc/os.pmc:
13:02 dalek parrot: Add some basic usage information to os.pmc, to show how to load it and instantiate it from user code. IRC chatter honza++ for the suggestion
13:02 dalek parrot: review: https://github.com/parrot/parrot/commit/c8a8ac1baf
13:03 bluescreen joined #parrot
13:07 mj41 joined #parrot
13:16 dalek winxed: 6da33c5 | NotFound++ | winxedst1.winxed:
13:16 dalek winxed: tiny optimization in NewExpr
13:16 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/6da33c52ac
13:16 dalek winxed: 4b4fb48 | NotFound++ | winxedst1.winxed:
13:16 dalek winxed: fix null value initializers in hash literals
13:16 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/4b4fb4819f
13:16 dalek winxed: 103152b | NotFound++ | winxedst1.winxed:
13:16 dalek winxed: refactor value collectors into a helper class
13:16 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/103152bb5d
13:45 dalek parrot/mls/sub-profiler: 22ad8af | (Michael Schroeder)++ | src/runcore/subprof.c:
13:45 dalek parrot/mls/sub-profiler: only use rdtsc on intel/amd with gcc
13:45 dalek parrot/mls/sub-profiler: review: https://github.com/parrot/parrot/commit/22ad8af94b
13:54 whiteknight mls++
13:56 mls (it doesn't use a compile time probe, but should be enough for now)
13:57 mls about getting rid of the global "struct spdata": where should I put it?
13:57 whiteknight mls: Add it to the interp. include/parrot/interpreter.h for now. Make it a void* runloop_data field, so other runloops can make use of it
13:57 whiteknight we can massage that later
13:58 mls so not in interp->iglobals
13:58 whiteknight nah, not yet.
13:58 mls ok, will do.
13:59 whiteknight like I said, we can review it and play with it later. For now, this is the best way to get you moving forward
13:59 mls Oh, I need a custom GC mark function, too.
14:00 whiteknight that structure has GCable data?
14:00 mls No, I need to mark all subs.
14:00 mls all subs I've collected data for.
14:00 whiteknight That should already happen. Subs are marked by the packfiles, and packfiles are currently immortal
14:01 whiteknight they won't always be, so just make a note somewhere
14:01 mls Doesn't seem to happen for all subs, I get segfaults if I remove the mark function
14:01 whiteknight ok
14:01 whiteknight src/gc/mark_sweep.c has routines for marking the root set, like the interp
14:03 mls currently I've added a mark_profile_data() to mark_interp(), which is ugly
14:04 mls OTOH I've also patched Parrot_api_destroy_interpreter to call dump_profile_data()
14:05 whiteknight :)
14:06 whiteknight We can create a new API call, Parrot_api_dump_profile_data()
14:06 whiteknight Or, we could add a method to the ParrotInterpreter PMC to do the dumping
14:06 whiteknight and call that from the frontend
14:07 mls Yes, but it seems a bit strange to me that you turn on profiling by selecting a runcore, but need to do the dump with a function call
14:08 whiteknight is there a runcore destroy function?
14:08 mls yes.
14:09 whiteknight you can switch runcores at runtime with an opcode. It's not common but it is possible. So we do need a way to dump that data even if the runcore isn't still the profiling core when the program exits
14:10 whiteknight that is, we don't want some inconsiderate 3rd party library doing something impolite and making our data disappear
14:10 mls True. I somehow missed Parrot_runcore_destroy()
14:11 mls I can do the dump in it.
14:11 whiteknight okay, that seems cleaner to me
14:18 dalek rakudo/nom: 10d9ee6 | moritz++ | src/core/terms.pm:
14:18 dalek rakudo/nom: fix PERL6LIB separator
14:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/10d9ee6519
14:21 alester joined #parrot
14:22 whiteknight msg soh_cah_toa I did a bunch of test runs but it doesn't look like they got uploaded to smolder. All tests pass on master/HEAD on linux x86_64 with GCC, Clang, and G++, with and without --optimize. I'll try ICC tonight,but I don't expect any problems
14:22 aloha OK. I'll deliver the message.
15:07 dmalcolm joined #parrot
15:26 dalek parrot/mls/sub-profiler: f5358a8 | (Michael Schroeder)++ | / (4 files):
15:26 dalek parrot/mls/sub-profiler: move global subprofdata into the runcore data for now. dump profile data in the runcore's destroy callback.
15:26 dalek parrot/mls/sub-profiler: review: https://github.com/parrot/parrot/commit/f5358a86ce
15:27 mls ok, enough cleanup for today
15:27 mls We still need to find a better way for marking the subs.
15:28 mls (Too bad that there's no runcore->mark callback)
15:29 mls afk -> weekend
15:30 redicaps joined #parrot
15:42 bubaflub msg mls you should add yourself to CREDITS
15:42 aloha OK. I'll deliver the message.
15:47 mj41 joined #parrot
15:52 rurban joined #parrot
15:54 rurban random_lib.pir should be removed. There is also no test which should have detected long ago that it does not parse. I had that error last year.
15:58 whiteknight rurban: I've never even heard of random_lib.pir. Where is it?
15:58 rurban runtime/parrot/library/random_lib.pir
15:59 rurban I'll send a git patch
15:59 whiteknight thanks for pointing that out! rurban++
15:59 whiteknight oh, awesome. Even better
15:59 rurban In my cygwin test scripts I actually compile all pir's in runtime/parrot/library to install the pbc's. That's why I find out
15:59 whiteknight brb, food
16:00 whiteknight rurban: how does Parrot look on cygwin? Without you, it doesn't get nearly as much love or attention
16:00 rurban 3.6.0 is doing fine
16:00 rurban I just recompile now because we have a new gcc-4.5.3
16:01 rurban trac is too slow for me today. can I just send the patch to parrot-dev?
16:04 rurban Oh I got 3 new fails with the new compiler: t/pmc/socket.t hangs, t/pmc/threads.t 13, t/src/checkdepend.t:
16:05 rurban Oh I got 3 new fails with the new compiler: t/pmc/socket.t hangs, t/pmc/threads.t 13, t/src/checkdepend.t:
16:05 rurban Failed tests:  1-55, 57-160
16:06 rurban left #parrot
16:18 schmooster joined #parrot
16:25 particle joined #parrot
16:30 cotto_work ~~
16:54 plobsing joined #parrot
17:03 dalek rakudo/nom: 946deda | jnthn++ | src/binder/multidispatch.c:
17:03 dalek rakudo/nom: Be sure to decontainerize values before trying to use the type cache ID in the mutli-dispatch, otherwise we just get the type cache ID of Scalar (d'oh!). Enable multi-dispatch cache, which brings some performance gains.
17:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/946deda010
17:42 dalek rakudo/nom: 6f801ee | jnthn++ | src/core/Regex.pm:
17:42 dalek rakudo/nom: Implement Regex.Bool (TimToady++ for noticing it was missing).
17:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6f801ee6b6
18:12 Tene joined #parrot
18:15 contingencyplan joined #parrot
18:16 dalek Rosella/gh-pages: ac3c390 | Whiteknight++ | libraries/ (13 files):
18:16 dalek Rosella/gh-pages: quick cleanups for the docs of several libraries
18:16 dalek Rosella/gh-pages: review: https://github.com/Whiteknig​ht/Rosella/commit/ac3c390bb3
18:18 dalek Rosella/gh-pages: 71f2f95 | Whiteknight++ | _layouts/rosella.html:
18:18 dalek Rosella/gh-pages: Add Template and Utilities to the page-top toc
18:18 dalek Rosella/gh-pages: review: https://github.com/Whiteknig​ht/Rosella/commit/71f2f955fc
18:25 dalek Rosella: 6427174 | Whiteknight++ | / (12 files):
18:25 dalek Rosella: Move the utilities dir from unstable to src. Not all of these are perfect, but they're good enough for most use
18:25 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/6427174777
18:33 dalek Rosella/gh-pages: a38c82e | Whiteknight++ | / (8 files):
18:33 dalek Rosella/gh-pages: Move the winxed documentation to a subtly different template
18:33 Drossel joined #parrot
18:33 dalek Rosella/gh-pages: review: https://github.com/Whiteknig​ht/Rosella/commit/a38c82e87c
18:41 dalek Rosella/gh-pages: 4846ee7 | Whiteknight++ | index.md:
18:41 dalek Rosella/gh-pages: add all stable libraries to the list on the main page
18:41 dalek Rosella/gh-pages: review: https://github.com/Whiteknig​ht/Rosella/commit/4846ee720e
19:02 dalek rakudo/nom: e1e0913 | moritz++ | t/spectest.data:
19:02 dalek rakudo/nom: track test file rename
19:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e1e09131da
19:22 mj41 joined #parrot
19:37 mj41 joined #parrot
20:13 Kulag joined #parrot
20:54 dalek rakudo/nom: c8ebb4b | jnthn++ | src/ (5 files):
20:54 dalek rakudo/nom: Previously, a sub foo($x = 1) { ... } would generate a thunk that returned the 1. However, it's a literal, so it was kinda silly to do that. Now in these cases we just hand back the value. Good, since these show up in places like MapIter.REIFY.
20:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c8ebb4b40b
21:00 alester joined #parrot
21:40 soh_cah_toa joined #parrot
21:53 jsut joined #parrot
22:14 dalek rakudo/nom: 0a93f6e | jnthn++ | src/core/ (6 files):
22:14 dalek rakudo/nom: Improve object creation performance in a few hot-path places (e.g. iterators).
22:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0a93f6e39e
22:14 dalek rakudo/nom: 58809bb | jnthn++ | src/ (2 files):
22:14 dalek rakudo/nom: Don't re-check types at bind time that the multi-dispatcher already decided were fine.
22:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/58809bb4cf
22:31 whiteknight joined #parrot
22:39 dukeleto https://secure.wikimedia.org/​wikipedia/en/wiki/Google_Dart
22:42 cotto_work dukeleto: someone's going to be talking about the vm for that at the VMIL workshop.
22:43 cotto_work I don't like the way Google's going about developing the language, but I'm happy to steal ideas from any suitable source.
22:43 rfw joined #parrot
22:51 dukeleto cotto_work: yep. they are attempting to make js irrelevant so they don't need to agree with mozilla people about specs, it seems
22:52 dukeleto cotto_work: that lars dude designed the vm for Self, if wikipedia tells the truth
22:53 cotto_work dukeleto: yeah.  I'm going to try to figure out a way to steal his brain for a bit.
22:55 cotto_work dukeleto: http://www.cs.iastate.edu/~desi​gn/vmil/2011/papers/p01-bak.txt
23:00 cotto_work It's interesting to think about how I'd summarize M0 in as few words as possible for someone 10x smarter and more experienced than me.
23:06 dukeleto cotto_work: indeed. can people just attend that workshop without presenting?
23:08 cotto_work dukeleto: seems to be the case, assuming you pay the registration fee
23:08 cotto_work http://splashcon.org/2011/attending/registering (VMIL workshop is on Monday)
23:16 japhb joined #parrot
23:42 rfw joined #parrot

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

Parrot | source cross referenced