Camelia, the Perl 6 bug

IRC log for #parrot, 2010-11-25

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 mikehh joined #parrot
00:06 bacek left #parrot
00:07 cotto_work aloha: clock?
00:07 aloha cotto_work: cotto_work: LAX: Wed, 16:07 PST / CHI: Wed, 18:07 CST / NYC: Wed, 19:07 EST / UTC: Thu, 00:07 UTC / LON: Thu, 00:07 GMT / BER: Thu, 01:07 CET / TOK: Thu, 09:07 JST / SYD: Thu, 11:07 EST
00:07 cotto_work bacek_at_work: ping
00:12 cotto_work allison: ping
00:14 shockwave joined #parrot
00:19 dalek parrot/embed_api: 99428c2 | (Mariano Wahlmann)++ | src/embed/ (2 files):
00:19 dalek parrot/embed_api: Make src/embed/pmc.c & src/embed/api.c compile with gcc
00:19 dalek parrot/embed_api: review: https://github.com/parrot/parrot/commit/99428c280c
00:19 dalek parrot/embed_api: 590f387 | Whiteknight++ | / (3 files):
00:19 dalek parrot/embed_api: update pbc_disassemble to the new API. Had to add a new API function to perform disassembly. Build still fails at parrot_nci_thunk_gen
00:19 dalek parrot/embed_api: review: https://github.com/parrot/parrot/commit/590f3873b4
00:19 dalek parrot/embed_api: 36fca15 | Whiteknight++ | / (7 files):
00:19 dalek parrot/embed_api: Finally add in the rudiments of my error reporting mechanism. There is now a final_error STRING on the interp that is reserved for printing error messages of last resort. Several other fixes. parrot_nci_thunk_gen still fails with segfault, after the main runcore terminates from unhandled exception. I suspect calling Parrot_exit at that point breaks things irrepairably and later operations fail in bad ways. I may need to remove Parrot_exit f
00:19 dalek parrot/embed_api: review: https://github.com/parrot/parrot/commit/36fca15bcf
00:19 dalek parrot/embed_api: 489f01f | Whiteknight++ | src/embed/ (2 files):
00:19 dalek parrot/embed_api: Merge branch 'embed_api' of github.com:Whiteknight/parrot into embed_api
00:19 dalek parrot/embed_api: review: https://github.com/parrot/parrot/commit/489f01f156
00:19 dalek parrot/embed_api: 3d34e6a | Whiteknight++ | /:
00:19 dalek parrot/embed_api: Merge branch 'embed_api' of github.com:parrot/parrot into embed_api
00:19 dalek parrot/embed_api: review: https://github.com/parrot/parrot/commit/3d34e6a3a8
00:20 shockwave left #parrot
00:23 stilgar joined #parrot
00:25 * cotto_work decommutes
00:27 zby_home joined #parrot
00:28 dmalcolm left #parrot
00:37 dngor left #parrot
00:37 dngor joined #parrot
00:37 allison cotto/cotto_work: pong (when you finish decommunting)
00:46 zby_home left #parrot
00:51 dngor left #parrot
00:52 dngor joined #parrot
00:53 cotto allison, what was the strategy behind the context refactors?
00:53 cotto It sounds like a similar approach is warranted for packfiles
00:53 mikehh left #parrot
01:00 allison cotto:  break it into a series of small refactors, preserving the interface as much as possible, but making more disruptive changes on deprecation boundaries
01:02 mikehh joined #parrot
01:02 cotto allison, what was the strategy for turning it into a pmc?
01:04 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#1310) fulltest) at 3cfeb72 - Ubuntu 10.04 amd64 (g++)
01:04 cotto mikehh, how lovely are the feet of those those who bring good news
01:07 mikehh cotto: whatever, still have a problem (or did) with 10.10 amd64 and g++-4.5, will check that again :-}
01:08 allison cotto: ah, for that we first made a wrapper pmc around the existing system, leaving the old code in place
01:08 allison cotto: then gradually transitioned over to using the pmc everywhere
01:08 allison cotto: and then (on a deprecation boundary) removed the old interface
01:09 cotto so there was lots of ATTR access during the transitional period?
01:19 stilgar left #parrot
01:19 whiteknight dukeleto: ping
01:19 whiteknight we have a *very* nice logo submission for Parrot+RTEMS
01:20 whiteknight At least, my untrained eye likes it
01:33 shockwave joined #parrot
01:36 mikehh t/pmc/fixedstringarray.t - Non-zero wait status: 11 in coretest (make corevm/make coretest) - Ubuntu 10.10 amd64 - g++-4.5
01:38 mikehh doesn't happen anywhere else (passes make test) BUT fails this test in Kubuntu and Ubuntu 10.10 with g++-4.5 no --optimize (passes with --optimize and with gcc-4.5)
01:39 mikehh and on i386 versions and on 10.04 amd64 with g++-4.4
01:42 whiteknight yay! another pull request
01:46 dalek parrot/dynext_func_rename: c988360 | (Matt Rajca)++ | / (10 files):
01:46 dalek parrot/dynext_func_rename: Rename public functions in src/dynext.c
01:46 dalek parrot/dynext_func_rename: review: https://github.com/parrot/parrot/commit/c988360767
01:46 shockwave left #parrot
01:50 bluescreen joined #parrot
01:54 dalek parrot: 0851b2c | Whiteknight++ | / (122 files):
01:54 dalek parrot: Merge branch 'master' of github.com:parrot/parrot
01:54 dalek parrot: review: https://github.com/parrot/parrot/commit/0851b2cd10
02:10 dalek parrot: f5740f7 | Whiteknight++ | src/global_setup.c:
02:10 dalek parrot: this commit ended up on the wrong branch somehow. Remove it for now
02:10 dalek parrot: review: https://github.com/parrot/parrot/commit/f5740f7792
02:16 bluescreen That happens ;)
02:16 whiteknight bluescreen: Check out the embed_api branch. I'm kind of stuck right now
02:17 whiteknight parrot_nci_thunk_gen fails with segfault and I can't figure out why yet
02:17 bluescreen I'm trying to get pbc_* to work with longopt
02:17 whiteknight oh, okay
02:17 whiteknight that would be awesome
02:17 bluescreen actually its almost there
02:17 bluescreen but need to change the Makefile.in
02:18 whiteknight ok
02:18 bluescreen what's parrot_nci_trunk_gen ?
02:19 whiteknight it's a tool that generates a bunch of function"thunks" for NCI function calls
02:19 nwellnhof left #parrot
02:19 whiteknight you pass in a list of function signatures, and it builds a C function for you to call an external library
02:20 bluescreen hmm.... what is your suspect?
02:22 whiteknight the interp struct is getting corrupted some how. There is an unhandled exception that triggers the error mechanism.
02:22 whiteknight I think that the first unhandled exception is causing something to get broken and when we try to recover everything is already broken
02:23 whiteknight I don't know why it is throwing an exception in the first place, however
02:23 bluescreen ok... are u using parrot.exe ?
02:24 bluescreen what are you using to reproduce it
02:25 whiteknight it's just part of the build
02:26 whiteknight type "make", and you get there eventually
02:26 bluescreen ok.. that's easier
02:26 dalek parrot: 6ab7c2e | Whiteknight++ | /:
02:26 dalek parrot: Merge branch 'master' into dynext_func_rename
02:26 dalek parrot: review: https://github.com/parrot/parrot/commit/6ab7c2ea58
02:26 bluescreen is there any comprehensive doc about git somewhere?? the more I use it the more I think I need to learn it from a doc
02:27 cotto bluescreen, http://gitref.org/
02:27 bluescreen thanks cotto++ .. I really wanted to RTFM
02:28 cotto (linked from github's help, which lives up to its name)
02:28 cotto there's a wide selection of fine manuals
02:30 bluescreen I've mostly read cheat sheet on how svn dev cycle applies into git
02:30 bluescreen but it is a complete different beast
02:31 cotto very different
02:35 whiteknight I
02:36 whiteknight 've got to install Inkscape to really examine some of these logos
02:36 cotto where are the logos?
02:36 dalek TT #1872 created by mikehh++: t/pmc/fixedstringarray.t fails coretest 64 bit with g++-4.5
02:36 dalek TT #1872: http://trac.parrot.org/parrot/ticket/1872
02:37 whiteknight on the google-melange website
02:37 whiteknight in the comments of the related tickets
02:38 cotto apparently I need to do some things
02:39 whiteknight yes, quite a few things :)
02:40 whiteknight in this case, much better than not having enough
02:48 whiteknight blah. I wish dukeleto were around. There's a great Parrot+RTEMS logo submission that I want him to see
02:49 cotto melange--
02:50 whiteknight yeah. For a program designed to help improve the quality of free software, it's pretty lousy software
02:51 cotto I'd hate for Parrot/RTEMS to have a better logo that Parrot. ;)
02:52 whiteknight then the Parrot logo would have to improve
02:52 cotto yes
02:53 whiteknight I don't think it's a bad logo we have. Not nearly as awesome as it could be
02:53 whiteknight but that's neither here nor thre
02:53 whiteknight there
02:54 cotto We could hijack the feathers, though they're similar to Apache's logo.
02:59 AzureStone left #parrot
02:59 whiteknight that website submission is pretty plain
02:59 eternaleye left #parrot
02:59 GeJ left #parrot
02:59 GeJ joined #parrot
02:59 arnsholt left #parrot
02:59 arnsholt joined #parrot
02:59 dngor left #parrot
02:59 dngor joined #parrot
02:59 Hunger left #parrot
02:59 eternaleye joined #parrot
02:59 wagle left #parrot
02:59 jjore left #parrot
02:59 wagle joined #parrot
02:59 AzureStone joined #parrot
02:59 NotFound left #parrot
02:59 Hunger joined #parrot
02:59 nopaste left #parrot
02:59 NotFound joined #parrot
02:59 jjore joined #parrot
03:00 sjn left #parrot
03:00 sjn joined #parrot
03:00 jasonmay left #parrot
03:00 jasonmay joined #parrot
03:00 TonyC left #parrot
03:00 TonyC joined #parrot
03:01 nopaste joined #parrot
03:10 slavorg left #parrot
03:10 whiteknight left #parrot
03:10 slavorg joined #parrot
03:40 bluescreen whiteknight: ping
03:40 cotto bluescreen, you might want him to be online before you ping him
03:40 bluescreen lol
03:41 bluescreen whats the command to save a message for him
03:41 cotto msg bluescreen this one
03:41 aloha OK. I'll deliver the message.
03:41 bluescreen gr8
03:41 bluescreen what's your current location cotto
03:41 bluescreen US?
03:41 cotto redmond, wa
03:42 cotto yes
03:42 bluescreen you seem to be 24x7 online
03:42 cotto so I do
03:42 bluescreen he he.. is parrot your full time job
03:42 bluescreen ?
03:43 cotto no, but work is tolerant of idling as long as I don't spend too much time.
03:45 bluescreen thats great... I wish i had a google's 20%
04:04 bluescreen msg whiteknight I've sent you an email about the segfaults in the parrot_nci_thunk_gen
04:04 aloha OK. I'll deliver the message.
04:05 bluescreen good bye
04:05 bluescreen left #parrot
04:09 nopaste left #parrot
04:15 nopaste joined #parrot
04:48 cotto bacek_at_work, ping
04:54 simcop2387 left #parrot
05:04 bacek_at_work cottopong
05:04 * bacek_at_work think that "cottopong" is some alien monster :)
05:04 bacek_at_work cotto, pong :)
05:05 cotto bacek_at_work, what's the "gc_ms2_magical_mark" that src/gc/gc_ms2.c in generational_gc refers to?
05:05 cotto is now known as cottopong
05:05 cottopong rawr
05:05 cottopong is now known as cotto
05:06 bacek_at_work just overriden version of pmc_mark which will set proper flags
05:06 bacek_at_work see '"Magical mark" will do next' few lines down
05:06 cotto that makes sense
05:07 cotto right
05:07 cotto It threw me off that it wasn't the name of a real function.  It'd make a good one.
05:07 simcop2387 joined #parrot
05:08 cotto bacek_at_work, what code actually does that work?
05:08 bacek_at_work I didn't come with better name. Feel free to rename it to something tasteful
05:09 bacek_at_work cotto, ?
05:09 cotto setting the flags and wrapping VTABLE_mark
05:09 cotto I'm editing as I go.
05:10 cotto naming is tricky
05:10 bacek_at_work wrapping - gc_ms2_mark_and_sweep. It's similar to current code.
05:11 bacek_at_work actually - gc_ms2_bring_them_together
05:11 bacek_at_work line 1079
05:11 cotto ok
05:12 cotto thanks for the docs
05:16 bacek_at_work It's just idea how we can implement "fast" GenGC. Current implementation is way too slow.
05:18 cotto how well do the docs reflect the state of the code?
05:19 rurban_ joined #parrot
05:21 rurban left #parrot
05:21 rurban_ is now known as rurban
05:27 bacek_at_work cotto, 0%
05:28 bacek_at_work I just wrote rough idea down for reviewing.
05:31 cotto I see.  That saves me a whole lot of confusion.
05:31 cotto bacek_at_work, do you have a paper your algorithm is based off that'd make good background reading?
05:32 bacek_at_work basically it's based on experience with initial implementation.
05:35 bacek_at_work https://github.com/perl6/bench-scripts looks as good foundation for parrot/rakudo benchmarking
05:56 cotto bacek_at_work, what would be most helpful: code review or review of the proposed design for a new gen gc?
05:57 cotto actually, I guess it'd be design review since you're not happy with the code as-is
06:06 luben I have a question about Parrot_sysmem_amount(). It has platform specific implementation identified at Configure time
06:06 cotto luben, yes
06:07 luben As I read it, some of the systems (BSD,Darvin etc) return all physical memory installed in the computer
06:07 luben the SysV system return only free memory
06:08 luben so in SysV the returned memory is All_mem - Buffers - Cache
06:09 luben In win32 systems the returned value is also some kind of free memory (I could not say if the cache and buffers are considered free)
06:10 luben What this function is intended to return? The installed memory or free memory?
06:11 luben I am interested in this function because it is used to establish gc_threshold value (currentrly  Parrot_sysmem_amount()/8)
06:13 luben and I see quite different behaviour regarding the GC
06:15 luben example: my current system is linux, amd64 with 4G RAM, my free memory is 40M only, but cache is 3G. If I compile rakudo in the state it takes more than 10 minutes
06:16 luben If I drop the vm cache and buffers, it compiles under 3 minutes
06:18 luben I think we should make the semantics of Parrot_sysmem_amount() consistent among all platforms
06:20 cotto luben, sure.  The version in config/gen/platform/generic/sysmem.c is what bacek originally added, so you can probably assume that it implements the semantics he was going for.
06:21 luben I think that "All memory installed" will be more apropriate than "Free memory". I'll catch bacek to talk about the issue
06:21 luben bacek_at_work, ping
06:24 bacek joined #parrot
06:24 luben bacek, ping
07:19 AzureStone left #parrot
07:22 theory left #parrot
07:24 fperrad joined #parrot
07:24 bacek luben, pong
07:25 AzureStone joined #parrot
07:49 jan left #parrot
08:32 zby_home joined #parrot
08:33 zby_home seen chromatic?
08:33 aloha chromatic was last seen in #parrot 3 days 2 hours ago saying "After a few hundred tuning commits?  Your words hurt me!".
08:35 zby_home left #parrot
08:36 bacek left #parrot
09:21 dalek TT #1597 closed by bacek++: add "provides" for sub/eval/multisub/etc.
09:21 dalek TT #1597: http://trac.parrot.org/parrot/ticket/1597
10:10 lucian joined #parrot
10:23 Coke left #parrot
10:35 Coke joined #parrot
11:36 contingencyplan left #parrot
11:52 lucian left #parrot
11:55 darbelo joined #parrot
11:59 darbelo left #parrot
11:59 darbelo joined #parrot
12:07 bluescreen joined #parrot
13:11 whiteknight joined #parrot
13:16 dngor left #parrot
13:16 dalek parrot/vtable_func_renames: 8af5029 | (Matt Rajca)++ | / (8 files):
13:16 dalek parrot/vtable_func_renames: Rename public functions in src/vtable.c
13:16 dalek parrot/vtable_func_renames: review: https://github.com/parrot/parrot/commit/8af5029110
13:17 dngor joined #parrot
13:18 rurban_ joined #parrot
13:21 rurban left #parrot
13:21 rurban_ is now known as rurban
13:25 Patterner left #parrot
13:35 Kulag left #parrot
13:35 Psyche^ joined #parrot
13:36 Psyche^ is now known as Patterner
13:45 bluescreen happy thanks giving
13:46 bluescreen msg whiteknight longjmp of Parrot_exit is not returning where it supposed to, Parrot_exit is being executed twice and so segfault happens
13:46 aloha OK. I'll deliver the message.
14:25 Kulag joined #parrot
14:26 whiteknight bluescreen: thanks for the info
14:26 whiteknight I have to figure out why that is happening
14:26 whiteknight although I'm going to be busy today and most of tomorrow
14:27 bluescreen i think i know
14:27 bluescreen the problem is Parrot_api_get_last_error
14:27 bluescreen returns a null 0x0
14:27 bluescreen and thats feed into Parrot_api_string_export_ascii
14:27 bluescreen which calls   Parrot_str_to_cstring(interp, string);
14:28 bluescreen and that throws an expection because the string is null
14:28 whiteknight ah, that's weird.
14:28 whiteknight I don't think it should be returning a NULL
14:28 bluescreen well it returns whatever was the last error message
14:28 bluescreen since its a normal exit it has nothing to complain about
14:29 bluescreen and so last_error is NULL
14:30 bluescreen the default exception its trying to call Parrot_exit again
14:30 bluescreen and at that point we already executed Parrot exit
14:31 dalek parrot: 8af5029 | (Matt Rajca)++ | / (8 files):
14:31 dalek parrot: Rename public functions in src/vtable.c
14:31 dalek parrot: review: https://github.com/parrot/parrot/commit/8af5029110
14:32 whiteknight ah. That makes sense
14:33 bluescreen TODO: fix Parrot_api_get_last_error , Parrot_api_string_export_ascii and deal with "exit" opcode
14:33 whiteknight okay, I'm going to have to think about a way to fix that
14:33 bluescreen yes... that's the last piece of it
14:33 whiteknight because EXCEPT_exit is a normal flow-control situation
14:33 bluescreen yes...
14:33 whiteknight thanks for the analysis! That's extremely helpful
14:34 bluescreen we have to capture that in the run_bytecode
14:34 bluescreen and return 1 if its a normal exit
14:34 bluescreen 0 otherwise
14:35 dalek parrot/exit_func_rename: ea6a288 | sygi++ | src/exit.c:
14:35 dalek parrot/exit_func_rename: proba
14:35 dalek parrot/exit_func_rename: review: https://github.com/parrot/parrot/commit/ea6a288821
14:35 dalek parrot/exit_func_rename: 3215717 | sygi++ | / (6 files):
14:35 dalek parrot/exit_func_rename: parrot_on_exit->parrot_x_on_exit
14:35 dalek parrot/exit_func_rename: review: https://github.com/parrot/parrot/commit/3215717146
14:35 dalek parrot/exit_func_rename: 1e06e5c | sygi++ | / (22 files):
14:35 dalek parrot/exit_func_rename: parrot_exit->parrot_x_exit
14:35 dalek parrot/exit_func_rename: review: https://github.com/parrot/parrot/commit/1e06e5ccc7
14:35 bluescreen how do you capture the second parameter of longjmp ?
14:37 whiteknight it's the output of setjmp
14:37 bluescreen mmm..
14:38 bluescreen we're screwed
14:38 bluescreen Parrot_destroy_interp is calling Parrot_exit
14:39 bluescreen that's the second call
14:39 bluescreen maybe we shouldn't call Parrot_exit in the parrot_destroy_interp
14:39 bluescreen or Parrot_exit should know that it was already called
14:49 dalek parrot: c63fc3e | (Gerd Pokorra)++ | docs/project/release_manager_guide.pod:
14:49 dalek parrot: remove some svn related stuff
14:49 dalek parrot: review: https://github.com/parrot/parrot/commit/c63fc3e7a3
15:14 dalek markdown: 99caee8 | fperrad++ | markdown/Compiler.pir:
15:14 dalek markdown: remove CodeString
15:14 dalek markdown: review: https://github.com/fperrad/​markdown/commit/99caee85dd
15:14 dalek markdown: da6c438 | fperrad++ | markdown/Compiler.pir:
15:14 dalek markdown: more StringBuilder
15:14 dalek markdown: review: https://github.com/fperrad/​markdown/commit/da6c4389d4
15:20 whiteknight bluescreen: take a look at some documentation for setjmp/longjmp. I won't be able to really look into this until tomorrow, but I think if we do some basic manipulations on the return value from setjmp we can differentiate between a requested exit and an exceptional exit
15:21 bluescreen ok
15:21 bluescreen I pushed a fix
15:21 bluescreen for segfault
15:21 bluescreen when calling twice Parrot_exit
15:21 whiteknight plus, we should probably add error-checking to Parrot_api_string_export_ascii and friends to not go crazy on a NULL STRING input
15:21 whiteknight thanks!
15:21 whiteknight bluescreen++
15:21 bluescreen I'll try to get this solve
15:29 dalek parrot/mappedbytearray: 8cb0ea3 | NotFound++ | src/pmc/mappedbytearray.pmc:
15:29 dalek parrot/mappedbytearray: add ability to open for write, still highly experimental but valid for testing
15:29 dalek parrot/mappedbytearray: review: https://github.com/parrot/parrot/commit/8cb0ea342b
15:31 whiteknight okay, I'm out for the holiday. Later
15:31 whiteknight left #parrot
15:57 kid51 joined #parrot
16:26 nwellnhof joined #parrot
16:43 cotto bacek_at_work, ping
17:03 cotto msg bacek_at_work I'm thinking through the packfile pmc transition and trying to make it as incremental as possible.  How does this sound:
17:03 aloha OK. I'll deliver the message.
17:03 cotto msg bacek_at_work nuke current packfile PMCs
17:03 cotto split existing packfile code into separate self-contained files
17:03 cotto make a PMC for each packfile segment that wraps the PackFile_* struct
17:03 cotto use the existing oo-style functions (new_seg, destroy, packed_size, pack, unpack, dump) to implement VTABLE functions in the PMCs
17:03 cotto switch imcc (et al) internals to use the new packfile pmcs
17:03 aloha OK. I'll deliver the message.
17:03 cotto move the struct members into separate ATTRs
17:05 bluescreen left #parrot
17:06 allison left #parrot
17:11 cotto left #parrot
17:19 bluescreen joined #parrot
17:20 theory joined #parrot
17:28 TypeNameHere_ left #parrot
17:50 nwellnhof left #parrot
18:02 M_o_C joined #parrot
18:08 lucian joined #parrot
18:24 kid51 left #parrot
18:26 contingencyplan joined #parrot
18:47 jan joined #parrot
19:17 fperrad_ joined #parrot
19:17 fperrad left #parrot
19:17 fperrad_ is now known as fperrad
19:26 kid51 joined #parrot
19:59 dukeleto hola
20:01 tadzik aloha
20:02 dalek parrot/mappedbytearray: 2075ff3 | NotFound++ | src/pmc/mappedbytearray.pmc:
20:02 dalek parrot/mappedbytearray: use common style for open mode parameter, improve mode handling and diagnostics and clean coding std
20:02 dalek parrot/mappedbytearray: review: https://github.com/parrot/parrot/commit/2075ff3ac4
20:16 dalek parrot: 5228f44 | dukeleto++ | docs/project/ (2 files):
20:16 dalek parrot: [docs] Improve some git docs and formatting
20:16 dalek parrot:
20:16 dalek parrot: Adding some information about C<git commit -a> and reformatted
20:16 dalek parrot: some docs to be more copy-paste friendly.
20:16 dalek parrot: review: https://github.com/parrot/parrot/commit/5228f44beb
20:17 M_o_C left #parrot
20:19 dalek parrot/tt532_headerizer_refactor: 883196d | jkeenan++ | / (9 files):
20:19 dalek parrot/tt532_headerizer_refactor: Rename lib/Parrot/Headerizer.pm to lib/Parrot/Headerizer/Object.pm.
20:19 dalek parrot/tt532_headerizer_refactor: Move most code out of tools/dev/headerizer.pl into Parrot::Headerizer::Object
20:19 dalek parrot/tt532_headerizer_refactor: or Parrot::Headerizer::Functions.  Tests need to be updated.
20:19 dalek parrot/tt532_headerizer_refactor: review: https://github.com/parrot/parrot/commit/883196d132
20:20 dalek parrot/tt532_headerizer_refactor: 778bdb9 | jkeenan++ | / (4 files):
20:20 dalek parrot/tt532_headerizer_refactor: Add tests for Parrot::Headerizer::Functions::assert_args().
20:20 dalek parrot/tt532_headerizer_refactor: Allow for possibility of uninitialized values in api_first_then_alpha().
20:20 dalek parrot/tt532_headerizer_refactor: Rearrange some code for more logical order.
20:20 dalek parrot/tt532_headerizer_refactor: review: https://github.com/parrot/parrot/commit/778bdb9be2
20:20 kid51 left #parrot
20:41 bluescreen left #parrot
20:43 bluescreen joined #parrot
20:54 bluescreen left #parrot
20:59 fperrad left #parrot
21:07 fperrad joined #parrot
21:08 bluescreen joined #parrot
21:18 jasonmay left #parrot
21:19 rurban_ joined #parrot
21:21 jasonmay joined #parrot
21:21 rurban left #parrot
21:21 rurban_ is now known as rurban
21:55 bluescreen left #parrot
21:55 luben aloha, git
21:55 luben aloha, workflow
21:56 luben aloha, gitworkflow
21:57 luben aloha, gitworkflow is https://github.com/parrot/parrot/blob​/master/docs/project/git_workflow.pod
21:57 aloha luben: Okay.
22:02 fperrad left #parrot
22:07 luben aloha, gitworkflow
22:07 luben aloha, gitworkflow?
22:07 aloha luben: gitworkflow is https://github.com/parrot/parrot/blob​/master/docs/project/git_workflow.pod
22:09 cotto joined #parrot
22:28 bacek_at_work ~~
22:28 GeJ Bonjour everyone.
22:28 GeJ G'Day bacek.
22:28 bacek_at_work G'Day GeJ
22:29 bacek_at_work cotto, current Packfile PMCs are already has ATTRibutes closely mirroring PackFile_* structs.
22:42 luben bacek_at_work, I have a question
22:42 bacek_at_work luben, shout
22:43 bacek_at_work or msg me. I have to run to meeting soon.
22:43 luben currently the value returnet from Parrot_sysmem_amount() is not consistent between platforms
22:44 luben some platforms return all installed memory (BSDs) other return free memory (SysV)
22:45 bacek_at_work Idea was to return free memory.
22:45 luben free memory does not include cahce and buffers
22:45 bacek_at_work correct
22:46 luben so we get quite different performance depending on the state of the computer
22:46 luben for example. rakudo compile could vary from 10 minutes to 2 minutes
22:47 luben with the same used by programs memory with differned cache used by the OS
22:49 luben I think it's better this function to return all installed memory and to make gc_threshold some smaller fraction of it
22:50 luben this will give consistent behaviour across platforms and consistent performance between different runs
22:51 dalek parrot/mappedbytearray: f1ef14b | NotFound++ | src/pmc/mappedbytearray.pmc:
22:51 dalek parrot/mappedbytearray: add the "supported" method, avoid break compiling when not supported and improve pod doc
22:51 dalek parrot/mappedbytearray: review: https://github.com/parrot/parrot/commit/f1ef14bb66
22:54 NotFound Can someone build this branch on windows? My XP home has become unable to build parrot.
22:54 bacek_at_work luben, sounds reasonable.
22:55 luben Ok, I'll make some tests here and later will report my findings. I will need someone to test on windows, because I do not have win32 box
22:55 darbelo left #parrot
22:58 NotFound luben: I suggest adjusting the value if the value seems too small.
23:01 luben the value depend on the system state that could vary in time. e.g I have 4G RAM installed and could have 40M free because 1 have 3G of cache
23:01 NotFound I think we can assume that people trying do execute big programs in machines short of memory will take care of not loading the system too much.
23:01 luben the system is not loaded
23:02 luben it WAS loaded before (I was watching a movie)
23:02 luben so the disk cache is full
23:02 NotFound luben: I mean, after making your change. If the value obtained by the choosen percentage looks too small, increment it, or use other percantage.
23:03 luben OK, yes
23:03 luben this is my intention
23:04 luben now it uses 1/8 of the free memory. I will try with 1/32 of all installed memory and will call for testing
23:08 NotFound luben: currently the winxed opengl example 'fly' eats 9.9% and makes perceptible pauses if I drop the explicit sweep it has. Wit it, only 0.5% and no pauses.
23:09 NotFound amd64, 4GB
23:10 luben currently, it depends also on the ammount of free memory
23:11 NotFound Right now, more than 2 GB free
23:12 luben so, current gc_threshold is more than 512M, so every gc run takes longer
23:13 luben I am compiling a branch now and I will push it in minutes for testing
23:14 NotFound The effect of the gc run is clearly viewable, maybe 0.5 seconds.
23:21 NotFound On the positive side, it uses a lot less CPU without the sweep.
23:21 luben may be we could make a commandline parameter to adjust the fraction used for gc_threshold - different programs have diffenend needs
23:22 luben bigger gc_threshold - better throutput
23:22 luben smaller gc_threshold - better interactive behaviour
23:22 NotFound We can add it as experimental and let people play with it.
23:23 luben yes. there was gc_threshold param now (still in parrot -h) that we could use
23:32 dalek parrot/luben/gc_threshold_adjust: 441de0b | luben++ | / (3 files):
23:32 dalek parrot/luben/gc_threshold_adjust: use fraction of installed memory as gc_threshold
23:32 dalek parrot/luben/gc_threshold_adjust: review: https://github.com/parrot/parrot/commit/441de0be80
23:33 luben NotFound, could you test the new branch with OpenGL fly example? Next I will try to make commandline param for the fraction
23:37 NotFound building it...
23:39 NotFound 3.9% memory usage, pauses are shorter but more frequent.
23:43 luben I am making now commandline param in order to make in adjustable
23:49 NotFound I'll test it tomorrow, now I'm going to bed.

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

Parrot | source cross referenced