|
Parrot 2.7.0 "Australian King" Released! | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | close 25 tickets; merge branches; review Git conversion plan Set by moderator on 7 September 2010. |
|||
|
00:00
Patterner left,
kid51_at_dinner is now known as kid51
|
|||
| ttbot | Parrot trunk/ r48838 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/386243.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 00:01 | |
| chromatic | Now that Parrot_fixed_8_encoding_ptr is gone, what should src/library.c +385 do? | 00:03 | |
| ttbot | Parrot trunk/ r48839 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/386249.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 00:05 | |
| NotFound | chromatic: IMO all that convoluted windows specific functions should be replaced, using parrot string functions instead of playing with the raw string buffer | 00:06 | |
| chromatic | Agreed. | 00:07 | |
| For now, hackety hack. | |||
|
00:08
Andy left
|
|||
| dalek | rrot: r48839 | chromatic++ | trunk/src/nci/extra_thunks.c: [NCI] Removed spurious debugging output of r48831. |
00:10 | |
| rrot: r48840 | whiteknight++ | branches/ns_func_cleanup: branch merged to trunk back on r47678. tcurtis++ for the reminder |
|||
| rrot: r48841 | chromatic++ | trunk/src/library.c: [src] Fixed cnv_to_win32_filesep(). didn't catch this one reference in the source. We should address the issue, but PARROT_ASSERT() isn't the right way to verify that this na�ve approach is correct. |
|||
| NotFound | r48839 still doesn't build in amd64 with --optimize | 00:11 | |
|
00:11
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
| NotFound | src/extra_nci_thunks.c:2857 contains spurious characters | 00:12 | |
| chromatic | Not here. | ||
| NotFound | typedef void *(* func_t)(*^A^@º^A+char *, int, voi0); | 00:13 | |
| chromatic | Sounds like what pmichaud saw with my GC patch. | 00:14 | |
|
00:15
ash_ left
|
|||
| chromatic | groups.google.com/group/parrot-dev/...42d1dbe5a4 | 00:16 | |
|
00:20
Patterner left
|
|||
| luben | I see the same bugs @ r@48805 | 00:21 | |
| example: ./parrot t/library/mime_base64.t | 00:22 | ||
| cotto_work | looks fine here | 00:25 | |
| luben | here, there are some test that fail | 00:27 | |
| dalek | rrot: r48842 | nwellnhof++ | trunk (16 files): [str] Remove unused stringrep enum |
||
| luben | they passed successfully before portint string_join to StringBuilder | 00:28 | |
| (verified just now) | |||
| cotto_work, it happens on optimized builds on amd64 | 00:29 | ||
| chromatic | Not my GC patch then. | 00:31 | |
| nwellnhof | luben: r48823 is probably the problem. i switched stringbuilder back to use str_clone | 00:32 | |
| luben | no, I do not think so | 00:33 | |
| nwellnhof | i just thought, because the str_clone thing caused issues on amd64 | 00:34 | |
| cotto_work | nwellnhof++ for nuking that enum. | ||
| kid51 | r 48841: build failure on Darwin/PPC: | 00:35 | |
| luben | My understanding is that there is a bug in StringBuilder, when we ported parrot_str_join to use StringBuilder, some bugs surfaced | ||
| we worked arround some of them but the bug is still there | |||
| nopaste | "kid51" at 192.168.1.3 pasted "Darwin/PPC: 'make' fails; r48841" (474 lines) at nopaste.snit.ch/23256 | ||
| kid51 | src/string/encoding/ucs4.c: In function 'ucs4_hash': nested functions are not on MacOSX syntax error before '*' token 'pos' undeclared (first use in this function) | 00:38 | |
| nwellnhof | luben: i hoped that r48808 would cure the StringBuilder issues | ||
| kid51: do you have a line number? | 00:39 | ||
| kid51 | See the nopaste | ||
| luben | I hoped also - parrot builds but fails some tests | 00:40 | |
| kid51 | lines 436+ | ||
| ttbot | Parrot trunk/ r48842 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/386313.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | ||
| kid51 | taptinder reporting same error | 00:41 | |
| cotto_work | I see some similar-looking corruption with an optimized build. | ||
| NotFound | Looks like a missing #if PARROT_HAS_ICU | 00:42 | |
| nwellnhof | the ucs4.c issue is ICU related. i have a fix coming up... | ||
|
00:43
ascent left
|
|||
| kid51 | nwellnhof: Datum: The Darwin/PPC on which I saw failure is ICU-less. | 00:45 | |
| nwellnhof | yes, ICU-less builds are the problem | 00:46 | |
|
00:47
contingencyplan left
00:48
contingencyplan joined,
ascent joined
|
|||
| NotFound | chromatic: completely unrelated with the current problems: can you take a quick look at github.com/jnthn/blizkost/pull/14 ? | 00:49 | |
| chromatic | Looking. | 00:52 | |
| Seems sane. | 00:53 | ||
|
00:53
dngor_ is now known as dngor
|
|||
| NotFound | I've not do XS code for long time. Is that arg passing order corerct? | 00:54 | |
| chromatic | Yes. | 00:56 | |
| ST(0) is thus the first argument on the stack | |||
| and therefore the first argument passed to the XSUB, ST(1) is the | |||
| second argument, and so on. | |||
|
00:56
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
| dukeleto covers the eyes of children, lest they learn about the horrors of XS | 00:57 | ||
| NotFound | I was wondering why some of my blizkost tests gave strange results... %-) | ||
| chromatic | I fixed that bug in Pugs, years ago. | 00:58 | |
| kid51 used the line, "The horror, the horror", in his talk about ExtUtils::ParseXS at YAPC this year. | 00:59 | ||
| NotFound | Good to know. With that fixed, using perl5 Gtk2 from parrot looks very doable. | 01:00 | |
| dukeleto | NotFound: that sounds nice | ||
| kid51 | Woot | ||
| NotFound | From winxed, of course. | ||
| ttbot | Parrot trunk/ r48843 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/386387.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 01:01 | |
| dalek | rrot: r48843 | nwellnhof++ | trunk/src/string/encoding/ucs4.c: [str] Fix to ucs4_hash to build without ICU |
||
| rrot: r48844 | luben++ | branches/hash_inlined_func: Inline hash functions in hash.c - removes runtime indirection |
|||
|
01:02
dngor_ joined
01:03
dngor left
|
|||
| nwellnhof | ucs2 and ucs4 rely on ICU only because of a typedef. i'm gonna fix that tomorrow. | 01:03 | |
| can anyone confirm that r48843 fixes non-ICU build problems? | 01:04 | ||
| NotFound | nwellnhof: if ttbot doesn't cry in a while, is fixed | 01:06 | |
| kid51 rebuilds on Darwin/PPC | 01:08 | ||
|
01:09
kid51 left,
kid51 joined
01:10
dngor_ is now known as dngor
01:11
Patterner left
|
|||
| kid51 discovers the joys of the plain-text version of irclog.perlgeek.de; moritz++ | 01:12 | ||
| dukeleto | purl, msg cotto_work i think porting tools/dev/mk_manifest_and_skip.pl is the most difficult thing left to do for the migration | 01:15 | |
| purl | Message for cotto_work stored. | ||
|
01:16
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
| dalek | rrot: r48845 | dukeleto++ | trunk/tools/build/parrot_config_c.pl: [tools] Refactor tools/build/parrot_config_c.pl . No functional changes |
01:18 | |
| rrot: r48846 | luben++ | branches/hash_inlined_func (9 files): Merge branch 'fixes2-inlined' into hash_inlined_func |
|||
| kid51 | At r48843, Parrot now builds successfully on Darwin/PPC. nwellnhof++ | ||
| will now run make test, but that will take a while | |||
|
01:20
particle left
|
|||
| ttbot | Parrot trunk/ r48845 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/386445.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 01:21 | |
| luben | I have created a svn branch with my work from last 3-4 days (hash_inlined_func). it is up-todate with trunc | 01:22 | |
| kid51 | taptinder now reporting different error on win32 | ||
|
01:22
particle joined
|
|||
| chromatic | Wow. | 01:22 | |
| Let me guess: missing header? | |||
| kid51 | src/nci/extra_thunks.c | 01:23 | |
| lots of 'undefined reference to ...' | |||
| plobsing_ | what's with the _imp_ prefixes? | ||
| chromatic | VS symbol mangling, probably. | ||
| dalek | tracwiki: v20 | dukeleto++ | GitMigration | 01:24 | |
| tracwiki: trac.parrot.org/parrot/wiki/GitMigr...ction=diff | |||
| plobsing_ | I know the problem: PARROT_IN_EXTENSION is defined! | 01:25 | |
| which means it expects to link against an already compiled libparrot | |||
| luben | the branch compiles and passes make_test (Configue --optimize, gcc-4.5, linux-amd64). It's open for test, review and comment | 01:26 | |
| chromatic | Oh, right. | 01:29 | |
|
01:31
Patterner left,
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
| plobsing_ | to make nci thunks for core, parrot_nci_thunk_gen takes a --core option. or you could just run tools/dev/mk_nci_thunks.pl | 01:32 | |
| kid51 | luben: Is this branch being tracked by a Trac ticket? | ||
| luben | no | ||
| how I do that? | |||
| kid51 | Assuming you have an account at trac.parrot.org, you click on the New Ticket button and take it from there. | 01:33 | |
| luben | ok, I'll try | ||
| kid51 | Value of ticket: Enables you to describe purpose of branch. Enables you to post a diff of branch from trunk. Enables people to post test result summaries. | 01:34 | |
| Once you create a TT, you can also post to parrot-dev requesting that people provide feedback in that TT. | 01:35 | ||
| dalek | rrot: r48847 | plobsing++ | trunk/src/nci (2 files): run tools/dev/mk_nci_thunks.pl |
01:36 | |
| rrot: r48848 | jkeenan++ | trunk/lib/Parrot/Manifest.pm: Correct semantic error in POD. |
|||
| kid51 | r 48843: make test PASS on Darwin/PPC | ||
| nwellnhof | kid51: good to hear, thanks for testing | 01:39 | |
|
01:39
particle left
|
|||
| dalek | TT #1775 created by luben++: Inline hash key_hash and compare functions | 01:40 | |
| TT #1775: trac.parrot.org/parrot/ticket/1775 | |||
|
01:47
whiteknight left
|
|||
| nopaste | "kid51" at 192.168.1.3 pasted "hash_inclined_func branch failures in t/pmc/hash.t" (182 lines) at nopaste.snit.ch/23258 | 01:50 | |
| kid51 | paste 23258 is on Linux/i386 at r48846 | 01:51 | |
|
01:52
PacoLinux left
01:57
nwellnhof left
01:58
Patterner left
|
|||
| chromatic | luben, the key_hash_STRING() changes on the branch look counterproductive. | 02:01 | |
| I backed it out and have better performance. | 02:03 | ||
| luben | you are right | ||
| chromatic | Want me to commit? | 02:04 | |
| luben | you have to change also in hash_get_bucket and hash_put | ||
|
02:04
PacoLinux joined
|
|||
| luben | it is manually inlined there | 02:05 | |
|
02:05
kid51 left
|
|||
| chromatic | hash_get_bucket looks fine to me. | 02:05 | |
| Same as parrot_hash_put | 02:06 | ||
| luben | oh, I see. I was thinking we are talking about key_hash_STRING | 02:07 | |
| for key_hash_STRING, you are absolutely right, its leftover from the try to use custom hash function in place of Parrot_str_to_hashval | 02:08 | ||
|
02:13
patspam left
02:15
contingencyplan left
|
|||
| cotto | ~~ | 02:18 | |
|
02:21
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
| ttbot | Parrot trunk/ r48848 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/386527.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 02:23 | |
| dalek | rrot: r48849 | chromatic++ | branches/hash_inlined_func/src/hash.c: [hash] Simplified key_hash_STRING(). |
02:26 | |
| luben | chromatic, you could commit it. | 02:28 | |
| chromatic | Done! | ||
|
02:29
ash_ joined
|
|||
| cotto | where do nwellnhof and luben live? | 02:32 | |
| plobsing_ | when you phrase it like that, one might think twice about giving you that info ;-) | 02:33 | |
|
02:33
Psyche^ joined
02:34
Patterner left,
Psyche^ is now known as Patterner
|
|||
| luben | I am in Bulgaria, Sofia | 02:34 | |
| cotto | I associate them with chromatic's recruiting and am curious if they're also in pdx | ||
| guess not then | |||
| chromatic | I recruit people for whom I am tired of applying their patches myself. | ||
|
02:35
janus left
02:36
dafrito left
|
|||
| pmichaud | I'm seeing test errors in t/compilers/pct in trunk... is anyone else seeing them? | 02:37 | |
|
02:37
ash_ left
|
|||
| dalek | rrot: r48850 | chromatic++ | branches/hash_inlined_func/src/hash.c: [hash] Sprinkled around some nice consts. |
02:43 | |
|
02:47
Patterner left
02:48
janus joined
02:50
mariano__ joined
|
|||
| pmichaud | looks like the failures come when --optimize is given | 02:51 | |
| should I bisect, or ... ? | |||
|
02:51
mariano__ is now known as bluescreen10
|
|||
| nopaste | "bluescreen10" at 192.168.1.3 pasted "Getting get_string() not implemented in class 'XXXX' when using "get_class self"" (17 lines) at nopaste.snit.ch/23260 | 02:51 | |
|
02:52
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
| luben | pmichaud, it's known failure on amd64 - most probably bug in stringbuilder somewhere | 02:58 | |
| bluescreen10 | seems like I'm dong something wrong at nopaste.snit.ch/23260 but I can't figure out what | ||
| BTW, I'm using parrot 2.4.0 | 03:01 | ||
|
03:02
ash_ joined
|
|||
| pmichaud | bluescreen10: your :load subroutine gets executed twice. | 03:03 | |
| luben: is the bug likely to be fixed anytime soon? | 03:04 | ||
| bluescreen10 | well I even removing the load doesn't solve it | ||
| getting the same thing | |||
| luben | everybody is looking for it. it appeared after porting string_join to use internaly stringBuilder | 03:05 | |
| cotto | Why not use the clone pir op? | 03:06 | |
| though it does seem odd that the method would fail | |||
|
03:07
Patterner left
|
|||
| bluescreen10 | originally wanted to clone the class so i used get_class to get the class and then clone it | 03:07 | |
| cotto: should that work or I'm missing the boat ? | |||
| chromatic | The Object PMC probably needs a default get_string. | 03:08 | |
| bluescreen10 | mmm.. even outside the subroutine fails. | 03:09 | |
| chromatic: why in the first place get_class calls get_string()? shouldn't that return a ref to class's PMC? | 03:10 | ||
| chromatic | It's metacircular. | ||
| A Class PMC is an instance of Object. | |||
| Though that doesn't answer your question, I now realize. | 03:11 | ||
| bluescreen10 | is it because get_class can be overloaded ? | ||
| i mean you can do get_class $S0, but in this case is a $P | 03:12 | ||
| cotto | Would it make sense for Parrot_oo_get_class to use VTABLE_name instead of VTABLE_get_string? | ||
|
03:13
Psyche^ joined
|
|||
| chromatic | Seems like we're missing a case in the switch for enum_class_Object. | 03:13 | |
|
03:13
Psyche^ is now known as Patterner
|
|||
| pmichaud | get_class isn't supposed to work on instance | 03:13 | |
| if you want the class, use typeof | 03:14 | ||
| cotto | ... | ||
| pmichaud | $P0 = typeof self | ||
| get_class locates a class based on an RSA, Key, or String. | |||
| (or namespace) | |||
| bluescreen10 | that makes sense pmichaud, thanks! | 03:15 | |
| cotto | Sounds like it needs to fail in other cases then. | 03:16 | |
| pmichaud | well, it assumes that if it's not one of those, then it's a string of some sort. | ||
| or something that stringifies | |||
| which is why it does get_string | 03:17 | ||
| chromatic | That smells fragile. | ||
| bluescreen10 | ..hmmm.. | ||
| pmichaud | (I'm not saying that's correct behavior.. it's just traditional, unfortunately.) | ||
| for the longest time classes were known by their string names more than their class object identity. We still have a lot of code like that in Parrot, I fear. | |||
| (and code that depends on that interpretation, I suspect) | 03:18 | ||
| cotto adds a failing default case and sits back for some fireworks | |||
| bluescreen10 | hehe | 03:19 | |
| plobsing_ | bluescreen10: are you sure you don't want to use typeof_p_p in stead? | ||
| pmichaud | cotto: be careful with that -- especially subclasses of String or NameSpace | ||
| chromatic | +1 to deprecate the old behavior. | ||
| pmichaud | (Rakudo definitely has subclasses of String for its strings) | 03:20 | |
| bluescreen10 | plobsing, I'm sure I now want to use that | ||
| cotto | Yeah. We definitely rely on that behavior. PGE doesn't build without it. | ||
| doesn't work, even with a check for the "string" role | 03:22 | ||
| chromatic | Crazy. | 03:24 | |
| cotto | there's no role for namespace-like thingies, is there? | ||
| It seems to build if I explicitly check for enum_class_NameSpace | 03:25 | ||
| pmichaud | PGE and PCT and the like tend to use namespaces to identify classes | 03:26 | |
| (if only because that's been declared "the official way to do it") | |||
| nopaste | "cotto" at 192.168.1.3 pasted "tighten up Parrot_oo_get_class" (18 lines) at nopaste.snit.ch/23261 | ||
| cotto | let's see how the test suite feels about that | 03:27 | |
| pmichaud | oh yes | ||
| iirc, the namespace check there is handling the case of something like $P0 = get_namespace ['Integer']; $P1 = get_class $P0 | 03:28 | ||
| i.e., the namespaces for the built-in PMC types | |||
| cotto | bluescreen10, thanks for reporting that oddity | 03:29 | |
| bluescreen10 | i wish i had more insights into parrot's guts to come up with something more useful | ||
| cotto | make test passes | ||
| suggestions for a better exception message? | 03:34 | ||
| bluescreen10 | I rather make documentation a little bit clear | 03:39 | |
| cotto | ok. In addition to a docs update, is "can't use get_class on a class or instance" a reasonable message? | 03:41 | |
| pmichaud | that doesn't sound right | 03:42 | |
|
03:42
ash_ left,
ash_ joined
|
|||
| pmichaud | I think the previous message you had (where it identifies the type) is better | 03:42 | |
| can't use get_class on a '%Ss' | 03:43 | ||
| you could do "on an instance of '%Ss'" | |||
| cotto | I'm tempted to make it say "can't use get_class on an instance; you probably want typeof" | 03:51 | |
| pmichaud | yes, except that Strings, RSAs, and NameSpaces *are* instances. :-) | 03:52 | |
| cotto | but you're not using them to get the String class | 03:53 | |
| unless it's a String with the value "String" | |||
| pmichaud | okay. The only other thing is that Parrot_oo_get_class gets called from a lot of places other than just the opcode. | 03:55 | |
| cotto | Yeah. It's messy. | ||
| What if it returned NULL in those cases and let the op throw a nicer message? | 03:56 | ||
| pmichaud | I think returning NULL is in-bound. | 03:57 | |
| i.e., get_class 'NoSuchClass' should return NULL | |||
| I think we even use that a few places -- for example, to avoid creating a class that already exists. | 03:58 | ||
| (for libraries that are somehow loaded more than once) | |||
| luben | I am chasing amd64 optimized builds bug | 03:59 | |
| pmichaud | luben: good. Rakudo fails some of its spectests with current Parrot trunk. | ||
| luben | it seems related with GC and StringBuilder | 04:00 | |
| at which point the GC mark is run? | |||
|
04:02
Patterner left
|
|||
| luben | pmichaud, parrot also fails test with otimized builds on amd64 | 04:03 | |
| pmichaud | luben: yes. | ||
| luben | does GC run is triggered somehow on vtable dispatch? | 04:05 | |
| it seems strange | |||
| pmichaud | GC runs tend to be triggered on allocation requests, iiuc | ||
| so if a vtable does something that needs to allocate memory, then it can cause gc to be triggered. | 04:06 | ||
| but GC is definitely not my area of expertise. | |||
|
04:07
bluescreen10 left
04:08
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
| luben | if I block GC arround invocation of Parrot_pmc_new_init(interp, enum_class_StringBuilder,ar) everything is fine, but if I block GC inside the init, it does not help... this is strange | 04:09 | |
| chromatic | The array should be getting marked. | 04:10 | |
| Hm, should SB have a custom mark? | 04:11 | ||
|
04:12
plobsing_ left
04:13
bluescreen left
|
|||
| bacek_at_work | chromatic, no. It uses system memory. | 04:20 | |
|
04:21
Patterner left
04:24
jsut joined
|
|||
| dukeleto | 'ello | 04:25 | |
|
04:27
Psyche^ joined,
Psyche^ is now known as Patterner
04:29
jsut_ left
|
|||
| luben | bacek, does the PMCs on on the stack get marked? | 04:33 | |
| bacek_at_work | luben, yes. | ||
|
04:34
Patterner left
|
|||
| cotto | as long as they're not after the end of a struct, e.g. when a larger struct gets cast to a smaller one | 04:34 | |
| bacek_at_work | PMCs are fixed size. | 04:36 | |
| PMC attributes are not, but it's irrelevant. | |||
| cotto | Sorry. I meant "as long as the pointer to the pmc"..., and that's not a concern for most code | 04:41 | |
|
04:43
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
| nopaste | "chromatic" at 192.168.1.3 pasted "Let's try this for AMD64 and StringBuilder" (17 lines) at nopaste.snit.ch/23262 | 04:44 | |
|
04:45
tcurtis joined
|
|||
| luben | it seems that StringBuilder.get_string is somehow broken | 04:46 | |
| chromatic, I have tried this and does not work | |||
| chromatic | You think get_string() is the culprit? | ||
| luben | look here: luben.spnet.net/gitweb/?p=parrot/.g...heads/temp | 04:47 | |
| ugly code to find where the things break | |||
| it works like that, but if I remove block/unblock arround get_string it breaks | 04:48 | ||
|
04:50
M_o_C joined
|
|||
| chromatic | Is the buffer moving out from under the StringBuffer? | 04:51 | |
| Shouldn't be, with the external flag set. | |||
|
04:56
Patterner left
04:57
Psyche^ joined,
Psyche^ is now known as Patterner
05:04
particle joined
05:05
ash_ left
05:06
Patterner left
|
|||
| nopaste | "chromatic" at 192.168.1.3 pasted "Avoid Parrot_str_clone() in SB" (17 lines) at nopaste.snit.ch/23263 | 05:12 | |
| chromatic | Any better? | ||
|
05:21
dafrito joined
|
|||
| luben | I'll try | 05:21 | |
| no, the same | 05:23 | ||
| dukeleto | I've added #phasers to the Parrot Calendar on parrot.org, so people (like me) can set reminders. Hope that doesn't ruffle any feathers | 05:25 | |
| chromatic | Hm. How about deleting the PObj_is_string_FLAG on line 73 of stringbuilder.pmc? | ||
|
05:26
luben_work_ joined,
luben_work left
|
|||
| luben | chromatic, it does not change anything. Wierd - even with blocked GC runs, some other test fail. This test never call string_join | 05:29 | |
| nopaste | "luben" at 192.168.1.3 pasted "amd64 fail" (4 lines) at nopaste.snit.ch/23264 | 05:30 | |
| chromatic | I'm out of ideas for the night. | ||
|
05:30
Psyche^ joined
05:31
Psyche^ is now known as Patterner
|
|||
| luben | may be it is not a bug in string builder or string_join... me also | 05:31 | |
| chromatic | Not sure what else it might be. | 05:33 | |
|
05:33
dafrito left
|
|||
| nopaste | "chromatic" at 192.168.1.3 pasted "luben: avoid GC for fixed size pool exhaustion" (53 lines) at nopaste.snit.ch/23265 | 05:34 | |
| chromatic | Does that fail for you too? | ||
| bacek_at_work | SB.get_string is horribly wrong... | ||
|
05:35
particle left
|
|||
| bacek_at_work | It should use Parrot_str_new_init | 05:35 | |
| Something Parrot_str_new_init(INTERP, buffer->_bufstart, buffer->_buflen, buffer->encoding, 0); | 05:36 | ||
| chromatic | We tried that a bit ago. | ||
|
05:38
Patterner left
|
|||
| luben | chromatic, GC-patch fixes it | 05:39 | |
| but t/compilers/pct/complete_workflow.t still fails | |||
| chromatic | Hm, I wonder why that didn't work for Patrick. | 05:40 | |
| luben | I'l try to bisect when that happened | ||
| bacek_at_work | Do we have ticket for it? I can look at it tonight @home on amd64 | 05:47 | |
| luben | bacek_at_work, no ticket as I know, It hapens on optimized amd64 builds. Sometimes only with -O3, sometimes with -O2 (depending on the gcc version 4.4/4.5 here) | 05:53 | |
| bacek_at_work | luben, ok. Thanks for info. | ||
| nopaste | "bacek" at 192.168.1.3 pasted "luben, can you try this patch?" (13 lines) at nopaste.snit.ch/23266 | 05:56 | |
| "bacek" at 192.168.1.3 pasted "luben, can you try this patch (full version)?" (13 lines) at nopaste.snit.ch/23267 | 05:57 | ||
| bacek_at_work | second one | ||
| luben | bacek_at_work, we have tried this without effect. | 05:58 | |
|
05:58
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
| bacek_at_work | hmm... Strange. | 05:59 | |
| purl | But true. | ||
| bacek_at_work | purl, annoying girl | ||
| purl | bacek_at_work: what? | ||
| luben | bacek_at_work, one of the test that exhibit this strange behaviout is t/library/mime_base64.t | 06:00 | |
| another failing test is t/compilers/pct/complete_workflow.t, but I thing it's not related | 06:01 | ||
|
06:09
uniejo joined
06:23
Psyche^ joined,
Patterner left,
Psyche^ is now known as Patterner
06:30
Patterner left
06:34
Psyche^ joined,
Psyche^ is now known as Patterner,
chromatic left,
theory left
06:43
Patterner left
06:51
fperrad joined
|
|||
| sorear | seen Whiteknight | 07:00 | |
| purl | Whiteknight was last seen on #parrot 7 hours, 2 minutes and 15 seconds ago, saying: you guys are on fire today | ||
| aloha | Whiteknight was last seen in #parrot 7 hours 2 mins ago saying "you guys are on fire today". | ||
|
07:04
M_o_C left
|
|||
| dalek | rrot: r48851 | cotto++ | trunk/src (2 files): make Parrot_oo_get_class fail less surprisingly and improve docs |
07:14 | |
| ttbot | Parrot trunk/ r48851 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/386810.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 07:32 | |
| dalek | a: fe73b9c | fperrad++ | dynext/pmc/luastring.pmc: fix build after trac.parrot.org/parrot/changeset/48842 |
07:35 | |
|
07:37
tadzik joined
07:38
jsut_ joined
07:43
jsut left
07:47
tadzik left
08:11
tadzik joined
08:19
tadzik left
|
|||
| dalek | rrot: r48852 | luben++ | branches/hash_inlined_func/src/hash.c: use some functions and macros defined in the new encoding refactor |
08:39 | |
| rrot: r48853 | luben++ | trunk/src/string/encoding/shared.c: Speed up equality check of same encoding multibyte strings can memcmp between strings of same enconding |
|||
| sorear | that patch assumes that two strings in the same encoding are equal iff they have the same bytes | 08:47 | |
| this appears to be currently true; do we plan to keep it that way? | |||
| ttbot | Parrot trunk/ r48853 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/386870.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | ||
| moritz | seems to collide with darbelo's NFG work, no? | 08:48 | |
| sorear | darbelo has vanished | 08:49 | |
|
08:56
tcurtis left
|
|||
| bacek | aloha, humans | 09:01 | |
| cotto | perl6: <0 1>.pick(1).say | 09:04 | |
| p6eval | pugs, rakudo 19a8b7: OUTPUT«0» | ||
| cotto | perl6: <0 1>.pick(1).say | 09:05 | |
| p6eval | pugs, rakudo 19a8b7: OUTPUT«0» | ||
| cotto | perl6: <0 1>.pick(1).say | ||
| p6eval | pugs, rakudo 19a8b7: OUTPUT«0» | ||
| cotto | perl6: <0 1>.pick(1).say | ||
| p6eval | pugs: OUTPUT«1» | ||
| ..rakudo 19a8b7: OUTPUT«0» | |||
| cotto | perl6: <0 1>.pick(1).say | ||
| p6eval | pugs: OUTPUT«1» | ||
| ..rakudo 19a8b7: OUTPUT«0» | |||
| cotto | perl6: <0 1>.pick(1).say | ||
| p6eval | pugs, rakudo 19a8b7: OUTPUT«1» | ||
| cotto | I guess that's random. | 09:06 | |
| hio bacek | |||
| bacek | aloha, cotto | ||
| cotto | who owns ttbot? | 09:09 | |
| ttbot? | |||
| purl | hmmm... ttbot is TapTinder build bot owned by mj41 and reporting tt.taptinder.org/buildstatus/pr-Parrot/rp-trunk build errors. See also TapTinder. | ||
| cotto | mj41, ping | 09:10 | |
| I guess it's not critical to have ttbot updated exactly when we move to git, but it'd be a shame to lose it for long. | 09:11 | ||
| seen mj41 | 09:12 | ||
| purl | mj41 was last seen on #parrot 42 days, 15 hours, 42 minutes and 9 seconds ago, saying: Lost connection to server irc.perl.org. [Jul 27 17:30:16 2010] | ||
| aloha | mj41 was last seen in #parrot 1 days 18 hours ago joining the channel. | ||
| cotto | aloha, seen mj41 | ||
| aloha | cotto: mj41 was last seen in #parrot 1 days 18 hours ago joining the channel. | ||
| cotto | purl, seen mj41 | ||
| purl | mj41 was last seen on #parrot 42 days, 15 hours, 42 minutes and 36 seconds ago, saying: Lost connection to server irc.perl.org. [Jul 27 17:30:16 2010] | ||
| cotto | purl, msg mj41 We're planning on moving Parrot to git. What would it take to update ttbot to use a github repo instead of svn? | 09:13 | |
| purl | Message for mj41 stored. | ||
| smash | mornin' everyone | 09:14 | |
| cotto | morning, smash | 09:15 | |
| bacek, have you seen the recent changes to the GitMigration wiki page? | 09:17 | ||
| bacek | cotto, nope | ||
| cotto | please take a look and add anything you think should be there | 09:18 | |
| dukeleto and I have been fleshing it out recently | |||
| bacek | tools/dev/mk_native_pbc? I don't think it has svn dependency | 09:39 | |
| cotto | It automatically commits generated pbc, so it's a trivial dependency | 09:45 | |
| bacek | ah | 09:50 | |
| I wasn't aware about this "functionality" :) | |||
| And we generate native PBCs during build now | |||
| Hang on. | |||
| purl | Hang on. is this actually "session is still there but user has been deleted" ? | ||
| bacek | It's just echoing commands for commit new pbc. But don't commit them | 09:51 | |
| ok. | 09:56 | ||
| recent regressions in t/compilers has nothing to do with StringBuilder. | |||
| It's some horrible GC/PCC failure. | 09:57 | ||
| -PCC | |||
| Just GC. | |||
| dalek | kudo: b736c88 | patrickas++ | src/ (2 files): add ...^ operator |
10:17 | |
| kudo: 0a93184 | patrickas++ | src/core/operators.pm: Cleanup as per pmichaud++'s comment |
|||
| kudo: 4615073 | moritz++ | src/core/operators.pm: Refactored series operator Conflicts: \tsrc/core/operators.pm |
|||
| kudo: f763b7e | patrickas++ | src/core/operators.pm: Minor refactor for series |
|||
| kudo: c2a00c0 | patrickas++ | src/core/operators.pm: Made infinite-series lazier |
|||
| kudo: 11e8510 | patrickas++ | src/core/operators.pm: More refactor of the series op with help from colomon++ |
|||
| kudo: 938cb3e | patrickas++ | src/core/operators.pm: is-on-the-wrong-side only returns true when the rhs is on the wrong side of ALL the lhs |
|||
| kudo: 049af59 | patrickas++ | src/core/operators.pm: Support for infix ops as last item of lhs in series |
|||
| kudo: e102240 | patrickas++ | src/core/operators.pm: Fix regression from previous commit |
|||
| kudo: da97ee9 | patrickas++ | src/core/operators.pm: All the series tests pass again |
|||
| kudo: ea77ccd | moritz++ | src/ (2 files): Merge remote branch 'origin/series-refactor' See github.com/rakudo/rakudo/pull/3 for a discussion of what features that brings us. Note that this implements still the "old" series specs, but works much more robust than before, and hopefully makes it also easier to adopt to the new spec (since it supports closures on the RHS). |
|||
| Infinoid | Hmm. Was that botspam expected? | 10:33 | |
| moritz | spam? all valuable commits :-) | ||
| Infinoid | Oh, good | ||
| Infinoid feared another false history bug | |||
| moritz | it was a branch merge - one can argue whether that should show all commits from that branch | 10:34 | |
| 'git log' does, and so does dalek | |||
| Infinoid | My counterargument would be that it's hard for dalek to tell the difference | ||
| It just looks for hashes it hasn't seen before... | |||
| moritz | well, I've said "one can argue", not taken a position | ||
| the current behavior works well for me | 10:35 | ||
| Infinoid | Ok :) | ||
|
10:59
ruoso left
11:38
hudnix left
|
|||
| dalek | tracwiki: v21 | cotto++ | GitMigration | 11:39 | |
| tracwiki: get cracking on git-aware tools | |||
| tracwiki: trac.parrot.org/parrot/wiki/GitMigr...ction=diff | |||
| Coke | luben - you're in Sofia? I used to work with a remote dev team there. They owe me beer if I ever show up. ;) | 11:56 | |
| msg dukeleto: when you added it, did you do it from the UTC timezone so it tracks DST with no worries? | 12:05 | ||
| purl | Message for dukeleto stored. | ||
| aloha | OK. I'll deliver the message. | ||
| Coke | mk_native_pbc shouldn't automatically commit anything. | 12:06 | |
| msg luben - you're in Sofia? I used to work with a remote dev team there. They owe me beer if I ever show up. ;) | 12:07 | ||
| purl | Message for luben stored. | ||
| aloha | OK. I'll deliver the message. | ||
| pmichaud | Perhaps luben could collect the beer for you? ;-) | ||
| luben_work_ | coke, glad to hear | 12:08 | |
| Coke | pmichaud: NO MY BEER! | 12:09 | |
| cotto | 85/.45 | 12:10 | |
| purl | 188.888888888889 | ||
| aloha | 188.888888888889 | ||
| Coke | Добро утро | ||
| Coke ponders digging up his bulgarian book again to practice on luben. | 12:11 | ||
| luben_work_ | Добро и на теб | ||
| pmichaud | parrot trunk no longer builds on my system :( | 12:12 | |
| afk for 20 | |||
| luben_work_ | Coke, and if you show in sofia, I'll buy you another beer :) | 12:13 | |
| cotto | Coke, it doesn't. It just spits out the command in case the user wants to copy-paste it. | ||
| dalek | tracwiki: v22 | cotto++ | GitMigration | ||
| tracwiki: note which scripts have been converted so far | |||
| tracwiki: trac.parrot.org/parrot/wiki/GitMigr...ction=diff | |||
| Coke | cotto: so have it not spit out the command, done. | 12:14 | |
| luben_work_: oooh, благодаря. | |||
| cotto | I don't have enough brainpower to evaluate that statement. I'm going to bed. | ||
| Infinoid, i'd be nice if dalek tracked the not-from-svn branches in the parrot github repo, i.e. the ones like leto/git_docs and cotto/git_aware_tools | 12:16 | ||
| Coke finds a nice oatmeal comic that really speaks to him about the presence of the utilikilt folks at yapc. | 12:17 | ||
| Infinoid: but if that doesn't happen until post-switch, that'd probably be ok. | |||
| dalek | rrot: r48854 | NotFound++ | trunk/t/pmc/hashiterator.t: add a few tests to hashiterator.t and fix its description and comments |
12:18 | |
|
12:18
Themeruta joined
12:19
Themeruta is now known as NotFound_b
12:25
JimmyZ joined
|
|||
| ttbot | Parrot trunk/ r48854 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/386967.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 12:32 | |
| Coke | I'm able to build trunk. | 12:38 | |
| pbc_merge.obj : error LNK2001: unresolved external symbol _Parrot_default_encoding_ptr | |||
| (from TT) | |||
|
12:39
ruoso joined
|
|||
| pmichaud | Coke: I think that amd64 systems have difficulty. | 12:40 | |
| But the trunk build has deteriorated. Last night I could build but not pass tests. This morning I cannot build. :( | 12:41 | ||
| Coke | pmichaud: what's the error? | 12:42 | |
| purl | the error is KABOOM! | ||
| pmichaud | just a sec, rebuilding again | 12:43 | |
| Coke | (if it looks like the taptinder error that just hit, presumably someone will be working on it.) | ||
| pmichaud | huh, it built this time on my other machine. | 12:47 | |
| Let me try the original again. | |||
| moritz | pmichaud: I had no trouble building today | 12:48 | |
| and rakudo passes most tests | |||
| (all except two spectest files) | |||
|
12:50
NotFound_b left
|
|||
| pmichaud | gist.github.com/570088 # error I get when trying to build Parrot using "--gen-parrot" from Rakudo. | 12:52 | |
| basically, I set build/PARROT_REVISION to 48854 and then did the standard "perl Configure.pl --gen-parrot" | 12:53 | ||
| NotFound | pmichaud: is the same kind of error we are having since yesterday. Funny characters in generated code. | 12:54 | |
| pmichaud | NotFound: right, okay. I'm just reporting broken builds. | ||
| moritz tries again after git clean -xdf | |||
| Coke | and that's in dynoplibs, which is gen'd each time. | 12:55 | |
| I bet it's nwell* recent stringbuilder changes. | |||
| pmichaud: you have ICU? | |||
| pmichaud | Coke: yes. | ||
| Coke | (enabled) | ||
| hurm. my line 536 is empty. | 12:56 | ||
| can you nopaste that bit of bit_ops.c ? | |||
| moritz | pmichaud: is 'svn status' clean? | 12:57 | |
| pmichaud | moritz: fresh checkout. | ||
| moritz | huh | ||
| pmichaud | gist.github.com/570097 # lines 527-539 of bit_ops.c | 12:58 | |
| Coke | looks like extraneous garbage from the end of a C string. | ||
| NotFound | Coke: or maybe wrong encoding | 12:59 | |
| Coke | (not that that looks like anything in particular.) | ||
| pmichaud | I'll do one more fresh checkout, just in case. | ||
| luben_work_ | the problem on amd64 is bad interaction between StringBuilder (that got excercised after porting string_join on ot) and our GC - there are ways to workarround it, but it's not a fix. | 13:01 | |
| bacek, promised to take a look on it today | |||
| NotFound | pmichaud: Can you try this: replace line 3112 of string/api.c with CONST_STRING(interp, "") | 13:05 | |
| pmichaud | my line 3112 says | 13:07 | |
| j_length = Parrot_str_byte_length(interp, j); | |||
| ...that's the one you want me to replace? | |||
| NotFound | No... i'll better nopaste a patch | ||
|
13:07
particle joined
|
|||
| pmichaud | gist.github.com/570109 # (fwiw) steps used to obtain build failure on my system | 13:09 | |
| nopaste | "NotFound" at 192.168.1.3 pasted "patch for str_join" (13 lines) at nopaste.snit.ch/23268 | ||
| NotFound | My fault, I had some debug comments added | 13:10 | |
| Coke thinks that 48853 looks odd. | |||
| ah, looks better in context. | 13:11 | ||
| NotFound | pmichaud: nopasted the fix | 13:12 | |
| pmichaud | NotFound: applied, rebuilding | ||
| NotFound | With that change amd64 --optimize builds here | ||
| pmichaud | gist.github.com/570114 # new build failure after patch | 13:14 | |
| NotFound | For me build, but fails several tests | 13:15 | |
| Coke | that loosk like the same error. | ||
| pmichaud | it's an error in the same place, but the strings are different this time | 13:16 | |
| particle | everybody sing happy birthday to chromatic when he shows up today! | 13:20 | |
| luben_work_ | NotFound, stringBuilder's buffer get sweeped under it. there are 2 workarounds: 1. block GC for string_join, 2. do not run GC compact fixed pool on pool exhaustion. | 13:24 | |
| NotFound | Why StringBuilder doesn't have a custom mark? | ||
|
13:24
TiMBuS left,
shockwave left,
TiMBuS joined
|
|||
| luben_work_ | NotFound, buffer is attribute and is set to be marked automatically | 13:25 | |
| pmichaud | Huh, this is weird. If I try to build Parrot from a git checkout, it builds okay. If I try to do it from an svn checkout, I get the build error. | ||
| NotFound | luben_work_: automatically? By whom? | ||
| moritz | pmichaud: I also use a git checkout. Which might explain why it builds for me. Let's switch to git :-) | 13:26 | |
| NotFound | Oh, I see. That shit isn't a string at all. No wonder it fails in bizarre ways. | 13:27 | |
| luben_work_ | because it is in the pool for pmc attributes | ||
| NotFound | Proposal: kill Parrot_str_clone. Is a source of bugging misuses | 13:29 | |
| pmichaud | reconfirmed on my system. An svn checkout fails to build. A git checkout succeeds. | 13:32 | |
| (I agree that makes almost no sense.) | |||
| moritz | the only difference should be (1) expansion of modelines and (2) revison information | 13:33 | |
|
13:35
whiteknight joined,
JimmyZ left,
nwellnhof joined
|
|||
| NotFound | Another attempt of fix: in line 73 of stringbuilder.pmc add: | PObj_constant_FLAG to the buffer->flags setting | 13:38 | |
| No, doesn't solve almost nothing | 13:40 | ||
| pmichaud | Now re-reconfirmed on my other system. svn checkout fails to build. git checkout succeeds. | 13:41 | |
| NotFound | Great | ||
| pmichaud | so, I'll diff the sources and see what's.... different. :-) | 13:42 | |
| Coke | msg chromatic let me know if you want me to bludgeon particle for you. | ||
| purl | Message for chromatic stored. | ||
| aloha | OK. I'll deliver the message. | ||
| pmichaud | msg Coke please bludgeon particle anyway | 13:43 | |
| purl | Message for coke stored. | ||
| aloha | OK. I'll deliver the message. | ||
| nwellnhof | I think we should try to mark the StringBuilder buffer. It shouldn't be necessary, but I suspect that buffer seomhow gets collected. | ||
| Coke | what could be different between the two... line endings? | ||
| ok. if we're not ready to switch to aloha, he needs to shut up. | 13:44 | ||
| NotFound | Coke: line endings is multiline macros can do funny things. Ususally they give warnings, but... | ||
| pmichaud | a configuration might be looking for a file that exists in an svn checkout but not in git (or vice versa) | 13:47 | |
| (I agree this is stretching... but I'm totally surprised that I can consistently build git checkouts but not svn ones) | 13:48 | ||
| Coke | pmichaud: does rakudo have a plan for dealing with parrot's cutover to git for --gen-parrot? | 13:49 | |
| pmichaud | Coke: I'll likely re-do gen-parrot. | 13:50 | |
| Coke | Let's throw it out to #perl6 and see if anyone steps up. ;) | ||
| pmichaud | well, it has to be done for nqp-rx also. :) | ||
| NotFound | pmichaud: <conspiration>Maybe someone is doing it on purpose to speedup the switch to git?</conspiration> | 13:51 | |
| nopaste | "nwellnhof" at 192.168.1.3 pasted "stringbuilder-mark.diff" (19 lines) at nopaste.snit.ch/23269 | ||
| pmichaud | NotFound: maybe. Wish I had thought of it sooner? ;-) | ||
| moritz | dukeleto++ submitted a patch for --gen-parrot and git (in the fork queue) | ||
| it doesn't do the version comparison yet | |||
| nwellnhof | can anyone with the stringbuilder problems try the patch above? | ||
| pmichaud | how does Parrot get its 'revision' configuration entry, ooc? | 13:52 | |
| luben_work_ | nwellnhof, compiling | 13:54 | |
| pmichaud | what is tools/dev/nm.pl, oocu? | 13:55 | |
| *ooc? | |||
|
13:55
hudnix joined
|
|||
| NotFound | nwellnhof: fails for me | 13:55 | |
| luben_work_ | and for my | ||
| nwellnhof | ok, it was just a guess | 13:56 | |
| luben: you said the problems go away if you block the GC inside StringBuilder's get_string? | |||
| luben_work_ | no, if I block GC in parrot_string_join, arround usage of StringBuilder | 13:57 | |
| nwellnhof | ah, ok | 13:58 | |
| moritz | didn't bacek do that in r48767 already? | ||
|
14:02
uniejo left
14:06
contingencyplan joined
|
|||
| NotFound | tapir2.ro.vutbr.cz/cover/cover-resu...r-pmc.html --> A critical part of StringBuilder is not covered by tests | 14:08 | |
| moritz | you mean lines 197-201? | 14:09 | |
| NotFound | Yeah | 14:10 | |
| Coke | NotFound: is it me, or is that case already handled at 216? | 14:12 | |
| also, why is 197 doing a free before doing anything with the old buffer? | |||
|
14:12
patspam joined
|
|||
| pmichaud | is buffer->strstart still valid after doing the mem_gc_free ? | 14:13 | |
| Coke | (ah, no, it's stored at #192.) | ||
| pmichaud | (lines 199 and 197) | ||
|
14:13
particle left
|
|||
| pmichaud | oh, nm | 14:13 | |
| it's a double assign | |||
| Coke | seems like that whole section can be ripped out anyway due to #216-222 | 14:14 | |
| pmichaud | oh, but we then do a memcopy? | ||
| okay, I get it. | |||
| whiteknight | good morning, #parrot | 14:15 | |
|
14:16
shockwave joined
|
|||
| shockwave | Howdy. | 14:16 | |
| pmichaud | when we do mem_gc_alloc_n_typed (line 200) or mem_gc_realloc_n_typed (line 220), is it possible we're losing the string allocated by the encoding conversion earlier (line 186)? | 14:17 | |
| i.e., perhaps those allocs are causing a gc run? | |||
| shockwave | I just ran some tests to see if a property assigned to a PMC is transferred to the other upon doing $P0 = $P1. And it appears to be the case. Is there anything anyone knows that I should keep in mind when doing this? | ||
| nwellnhof | i think the ->to_encoding is the problem | ||
| luben_work_ | moritz, it was patch arround old string_join implementation. bacek said that using stringbuilder not require GC blocking | 14:18 | |
| pmichaud | shockwave: your question is wrong. | ||
| moritz | ah | ||
| nwellnhof | i made some changes to the to_encoding functions that aren't compatible with the way StringBuilder uses them. | ||
| shockwave | pmichaud: Can you qualify your statement? | 14:19 | |
| pmichaud | $P0 = $P1 doesn't transfer anything. | ||
| luben_work_ | nwellnhof, this bug dates before your branch merge | ||
| pmichaud | it just causes register $P0 to point to the PMC at $P1. | ||
| nwellnhof | luben: but back then we had the bug in str_clone | 14:20 | |
|
14:20
Andy joined
|
|||
| pmichaud | (and so yes, both $P0 and $P1 will appear to have the same properties, because they are in fact the same PMC) | 14:20 | |
| shockwave | pmichaud: oh, I see. I don't know why I always think of = as assignment. | ||
| moritz | because that's what non-assembler languages use :-) | 14:23 | |
| shockwave | @moritz: hehe, as soon as I wrote that last statement I told myself that same thing. | ||
|
14:32
Andy left
|
|||
| dalek | rrot: r48855 | nwellnhof++ | trunk/src/string/encoding (5 files): [str] Switch back to str_clone in to_encoding functions |
14:32 | |
| pmichaud | nwellnhof: I have a different patch for StringBuffer I'm about to work on | 14:33 | |
| (testing r48855 though) | 14:34 | ||
| nwellnhof | r48855 probably doesn't help, but it's safer that way | 14:35 | |
| pmichaud | yes, I'm curious to see if 48855 helps | ||
| okay, I still get build failure for svn checkout of 48855 | 14:36 | ||
| ttbot | Parrot trunk/ r48855 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/387058.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 14:39 | |
| luben_work_ | it does not help for me neither | 14:40 | |
|
14:41
Andy joined
|
|||
| nwellnhof | luben: i'm still curious if the call to to_encoding is the problem. can you maybe try to block the GC during the whole encoding stuff in push_string? | 14:42 | |
| pmichaud | I'm trying that now. | 14:43 | |
| My first attempt didn't seem to help. | |||
| ...and neither did my second attempt. I'm guessing it's not gc in push_string that is the issue. | 14:44 | ||
|
14:45
particle joined
|
|||
| pmichaud | gist.github.com/570226 # fwiw, the patch I tried | 14:45 | |
| I think the patch w/o the gc block/unblock might be worthwhile, anyway. | |||
| avoids the extra memcopy code. | 14:46 | ||
| although I don't know if any other code relies on the buffer attribute being invariant. | |||
| nwellnhof | the extra memcopy is needed because the stringbuilder buffer is external. | 14:48 | |
| pmichaud | okay, makes sense. | ||
| this is my first time to look at the stringbuilder pmc | |||
| and just to confirm, adding block_GC_mark and unblock_GC_mark to push_string (with no other changes) doesn't resolve the problem for me either. | 14:51 | ||
|
14:52
ash_ joined,
contingencyplan left
14:53
silug left
|
|||
| luben_work_ | pmichaud, if you add block_GC_mark & unblock_GC_mark in src/string/api.c, arround Parrot_str_join it will help you | 14:53 | |
| pmichaud | luben_work_: I'm looking for a permanent (commitable) fix, not just something to get me by. | 14:54 | |
| NotFound | What the hell is latin1 encoding? | ||
| pmichaud | luben_work_: for what I'm doing (Rakudo) -- uncommitted changes to trunk aren't at all useful. | 14:55 | |
| luben_work_ | pmichaud, yes, I understand. | ||
| pmichaud | or, phrased another way -- currently we can't update PARROT_REVISION in Rakudo until this bug is resolved. | 14:56 | |
| NotFound | Parrot_str_join uses vtable calls that can throw. If you block the gc and something throws, you get the gc blocked | 14:57 | |
| moritz | "what could possible go wrong" | ||
| NotFound | moritz: just the build | 14:58 | |
| whiteknight | What's the problem in Parrot_str_join that requires the GC to be blocked? | 15:09 | |
| nwellnhof | whiteknight: build failures on amd64 with --optimize | 15:14 | |
| r48857 might help with the StringBuilder issue | 15:15 | ||
| pmichaud | I'm still quite amazed at the git vs. svn difference | ||
| checkouts with 'svn export' fail also. | 15:16 | ||
| so it's not the presence/absence of .svn directories | |||
|
15:17
theory joined
|
|||
| pmichaud | nwellnhof: testing r48857 now | 15:17 | |
| nwellnhof: still fails (at the same place) | 15:19 | ||
| I wish there was some way to get an svn export without keyword expansion :-| | 15:20 | ||
| moritz | for making a diff? | ||
| iirc the keyword expansion is client side, so you'd "just" have to patch your localy svn installation | 15:21 | ||
| pmichaud | to see if keyword expansion is part of why the build fails | ||
| moritz | as a stopgap measure you can just re-substitute them with a regex | ||
| pmichaud | yeah, I'm thinking of doing that | ||
| moritz | perl -i -pe ftw | 15:22 | |
| dalek | rrot: r48856 | nwellnhof++ | trunk/src/string/api.c: [str] Don't allocate empty string storage |
15:23 | |
| rrot: r48857 | nwellnhof++ | trunk/src/pmc/stringbuilder.pmc: [pmc] Never allocate empty strings in StringBuilder |
|||
| ttbot | Parrot trunk/ r48856 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/387124.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 15:24 | |
| whiteknight | nwellnhof: what compiler on amd64? GCC I assume? | 15:25 | |
| nwellnhof | nwellnhof: i don't know. i'm on 32bit and can't reproduce it. | 15:26 | |
| whiteknight | ah, gotcha | ||
| I can't reproduce it then until I get home tonight | |||
| ash_ | i have 64-bit OS X, and access to a 64-bit linux machine if you need me to test something | ||
| pmichaud | I can probably make an account on this box, too. | 15:27 | |
| just a sec | |||
| ash_ | oh, that reminds me, last time i tried it, doing --m=32 on OS X has no effect, and it might be nice/useful if we could specify to build a universal binary on OS X | 15:28 | |
| ttbot | Parrot trunk/ r48857 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/387150.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 15:37 | |
| pmichaud | oh, another data point: I seem to get the build failure only when passing a --prefix= option to Configure.pl . | ||
| ash_ | on OS X 64 bit, the latest trunk with --optimize built fine, running tests | 15:39 | |
| pmichaud | ash_: what kind of checkout did you do? | ||
| ash_ | svn co svn.parrot.org/parrot/trunk/ | ||
|
15:40
silug joined
|
|||
| ash_ | built with apple gcc 4.2 | 15:40 | |
| pmichaud | did you try building with --prefix= passed to Configure.pl ? | ||
| ash_ | no, but i can | ||
| i got 3 errors in pge, and 1 error in a library mime_base64 | 15:41 | ||
|
15:41
chromatic joined
|
|||
| luben_work_ | nwellnhof, still the same @ r48857 | 15:41 | |
| ash_ | i am adding a --prefix and --optimize to see if that changes anything | 15:42 | |
| luben_work_ | whiteknight, bugs manifest on linux amd64 with gcc-4.4 -O2 and gcc-4.5 -O3 | ||
| nwellnhof | ash_: can you post the output of the mime_base64 test | ||
| luben_work_ | ash, t/library/mime_base64.t | ||
| ash_ | nwellnhof: ummm sure... i just started re-compiling though, ill let this finish first | 15:43 | |
| whiteknight | how does the build fail? crash? segfault? Is there a backtrace somewhere I can take a peek at? | ||
| nwellnhof | mime_base64 seems to be unicode related | ||
| ash_ | doing: parrot t/library/mime_base64.t instantly segfaults | 15:44 | |
| NotFound | whiteknight: garbage inserted in generated files | ||
| ash_ | well, not instantly, it prints 1..550 | ||
| then segfaults | |||
| luben_work_ | pmichaud, the only obvious reason for git/svn difference is in SVN ID that is inserted in svn checkout | ||
| whiteknight | great | ||
| pmichaud | luben_work_: yes, I know. | ||
| whiteknight: I'm generating a fresh build failure now | 15:45 | ||
| ash_ | it dies in: Parrot_str_rep_compatible | ||
| i can give you a gdb stacktrace if you want | |||
| whiteknight | pmichaud: awesome. Let me know when you have it and I'll take a looksie | ||
| nopaste | "luben" at 192.168.1.3 pasted "amd64 fail, gcc-4.5 -O3" (6 lines) at nopaste.snit.ch/23271 | ||
| nwellnhof | ash: a backtrace would be nice | ||
| pmichaud | whiteknight: it's very bizarre here. It only fails the build if I grab parrot from an svn checkout, and use both the --prefix= and --optimize flags on Configure (more) | 15:46 | |
| if I use a git checkout, no failure. | |||
| whiteknight | urg. This just sounds wonderful | ||
| pmichaud | However, it's extremely repeatable, and I've confirmed it on two separate machines. | ||
| ash_ | nwellnhof: gist.github.com/570315 | ||
| nwellnhof | hmm, no line numbers | 15:47 | |
| ash_ | nwellnhof: i did --optimize, i can leave that out if you want to give you some | ||
| or is there another option that adds line numbers with --optimize? | |||
| luben_work_ | ash_, but then you will not get the crash | ||
| nwellnhof | i think it's -g but that should be enabled with optimized builds, too | 15:48 | |
|
15:48
rblackwe left
|
|||
| pmichaud | gist.github.com/570319 # latest build failure, for whiteknight++ | 15:49 | |
| nwellnhof | but it can only be a NULL string or a NULL encoding in string_rep_compatible | ||
| whiteknight | urg. that's horrible | 15:50 | |
| Coke | nwellnhof: why force initial_string_capacity there instead of just checking for 0? | ||
| --optimize --ccflags="-g" | |||
| whiteknight | pmichaud: you say it happens when you use --prefix=? Does it ever happen without that? | ||
| pmichaud | whiteknight: I haven't tried it w/o --prefix very often. I almost always configure with --prefix, because Rakudo and NQP need installed parrots. | 15:51 | |
| I don't know if it's failed w/o prefix present. In all likelihood it's just the present of prefix is tickling the GC in some way that makes the problem manifest during the build. | 15:52 | ||
| *presence | |||
| whiteknight | pmichaud: if it requires --prefix, I think we can narrow it down to a problem in the library path search logic. like a string not being properly anchored there | ||
| nwellnhof | Coke: the size given to init_int is only a guess. we might need more than that. so i think it's ok to allocate at least initial_string_capacity. | ||
| whiteknight | if we don't need --prefix, then we need to look elsewhere | ||
| pmichaud | whiteknight: well, that's what causes the build failure. Other people get past the build, but then see test failures. | ||
| whiteknight | ah, I see. | 15:53 | |
| Coke | nwellnhof: if it was only a guess, why bother even supporting it? | ||
| pmichaud | (that have the same underlying cause -- i.e., generated files that are corrupt) | ||
| Coke | why not just use our builtin guess? | ||
| NotFound | It fails for me with --optimize without --prefix | ||
| pmichaud | NotFound: the build fails, or tests fail? | ||
| ash_ | nwellnhof: i still get the error without --optimize | 15:54 | |
| nwellnhof | Coke: what builtin guess? | ||
| NotFound | pmichaud: the build | ||
| purl | the build is called $self->BUILD($param) | ||
| moritz | fwiw, rakudo on latest parrot has lots of spectest failures (aborted tests) | ||
| pmichaud | NotFound: interesting. | ||
| ash_ | nwellnhof: gist.github.com/570324 | ||
| pmichaud | nwellnhof: would it help to have access to a 64-bit machine? I can give you a guest account here. | ||
| moritz | ./perl6 t/spec/S32-list/reduce.rakudo aborts with | ||
| can't get class from an instance of class 'P6role' in 'Test::isa_ok' at line 142:Test.pm in main program body at line 61:t/spec/S32-list/reduce.rakudo | |||
| ash_ | is a stack trace with numbers (basically i just did perl Configure.pl && make && parrot t/library/mime_base64.t | 15:55 | |
| moritz | (with a previous parrot version and no rakudo change, this test was fine) | ||
| nwellnhof | ash: it might be something unrelated, but it's still interesting | 15:56 | |
| Coke | nwellnhof: the initial_capacity constant that you just used. | 15:57 | |
| nwellnhof | pmichaud: maybe later | ||
| pmichaud | nwellnhof: okay, let me know. I have one set up now if you need it. | ||
| I have to take a break for a bit -- bbl | |||
| nwellnhof | Coke: yes we could do that. but we would only save some bytes that might be allocated later anyway. | 15:59 | |
| NotFound | make corevm ; make coretest pass except for the integer and bigint known problem. Conclusion, as always: we don't have enough test for core features | ||
| Maybe we should add corelibs and corelibstest targets | 16:01 | ||
| chromatic | src/pmc/stringbuilder.pmc lines 195 through 197 look wrong. | 16:05 | |
|
16:06
ash_ left
|
|||
| chromatic | I know it's misleading, but even so it looks wrong. | 16:06 | |
| nwellnhof | it looks a bit strange, but if we do it this way we don't have to reallocate the buffer twice. | 16:10 | |
| Coke | nwellnhof: /might/ being the operative word there. why bother taking the user's guess if we're ignoring it. ;) | 16:12 | |
| nwellnhof | Coke: if you care about the memory, it would be better to decrease INITIAL_STRING_CAPACITY. | 16:13 | |
| Coke | nwellnhof: nevermind. | 16:14 | |
|
16:14
patspam1 joined
|
|||
| Coke | I'll just fix it myself. | 16:14 | |
| chromatic | buffer->strlen = Parrot_str_length(interp, new_buffer); | ||
| Seems like that might help. | |||
|
16:15
patspam left
16:21
theory left
|
|||
| dukeleto | msg Coke yes, i added #phasers in UTC | 16:22 | |
| purl | Message for coke stored. | ||
| aloha | OK. I'll deliver the message. | ||
| NotFound | r48830 build and pass test with --optimize and --prefix | 16:32 | |
| nopaste | "chromatic" at 192.168.1.3 pasted "AMD64: update StringBuffer's strlen" (23 lines) at nopaste.snit.ch/23272 | 16:33 | |
| dukeleto | 'ello | ||
| whiteknight | hello duke | 16:40 | |
|
16:51
mikehh_ joined
|
|||
| dukeleto | whiteknight: how goes it in your neck of the woods? | 16:53 | |
| whiteknight | dukeleto: quite well. Have a small window now where the kid isn't sick and isn't teething, so I'm trying to write as much software as I possibly can | 16:54 | |
|
16:54
mikehh left
|
|||
| whiteknight | dukeleto: you? | 16:54 | |
| purl | i guess you is a test factoid | ||
| luben_work_ | chromatic, no difference with the pasted patch here | ||
| Coke | . | 16:57 | |
| any reason we can't switch over to aloha fully now? | |||
| \\/win 11 | |||
|
17:00
tcurtis joined
|
|||
| cotto_work | ~~ | 17:02 | |
|
17:07
luben_work_ left
17:13
rblackwe joined
|
|||
| dukeleto | whiteknight: trying to figure out what to spend time on. I am interested by too many things. | 17:17 | |
| shockwave | @dukeleto: Threads. | ||
| purl | rumour has it threads is ithreads, Thread is 5.005 threads (older) | ||
| shockwave | Does anyone know how far Chandon has gotten with that? | 17:19 | |
| And, is any of it on trunk? | 17:20 | ||
| cotto_work | It's not in trunk. My understanding is that green threads work but that we need to make some design decisions before real threads can work. | 17:21 | |
| Coke | that is a faq, I think. | ||
| NotFound | if (fmt->encoding != Parrot_utf8_encoding_ptr && fmt->encoding != Parrot_asc | 17:22 | |
| fmt = Parrot_utf8_encoding_ptr->to_encoding(INTERP, fmt); | |||
| Adding this in codestring fixes the build for me. | |||
| Uh... no... sometimes build, sometimes no. | 17:23 | ||
|
17:23
ruoso left
|
|||
| shockwave | cotto_work: Do you happen to know if the green threads are in trunk? | 17:24 | |
| cotto_work | Chandon's aren't. | ||
| shockwave | cotto_work: ok, thanks. | 17:25 | |
| dukeleto | cotto_work: what are you working on today? | 17:27 | |
| cotto_work | I'll probably look at what it'll take to update mk_manifest_and_skip, work permitting (which is likely) | 17:28 | |
| I hope you say my branch on github | 17:29 | ||
| dukeleto | cotto_work: i saw it, but haven't looked at it closely, yet | 17:30 | |
| cotto_work: gonna take a look now | 17:32 | ||
| cotto_work | mk_manifest_and_skip isn't going to be quite as easy as I'd hoped | 17:33 | |
| chromatic | NotFound, that encoding switch does look suspicious. | 17:40 | |
|
17:41
theory joined
|
|||
| NotFound | chromatic: I suspect that the problem is that the encoding of concatenations or joins has changed | 17:43 | |
| Can't someone get rid of remaining CodeString usages? | 17:44 | ||
| dukeleto | NotFound: it isn't used widely, but PGE and nqp-rx use it | 18:04 | |
| NotFound | And data_json | ||
| purl | data_json is the newer stuff, i think JSON is being deprecated | ||
| NotFound | Jey components are using a deprecated thing. | ||
| s/Jey/Key | 18:05 | ||
| dukeleto | cotto_work: in your git_aware_tools branch, mk_native_pbc will need something like "git add" before a commit | 18:07 | |
| cotto_work | So it will. Can you fix that? | 18:09 | |
| dukeleto | cotto_work: do we know exactly what the filenames will be, or are they dynamic? | 18:10 | |
| cotto_work: i am pretty sure they are dynamic | |||
| cotto_work | There's a fixed number of files that'll be changed. | ||
| dukeleto | cotto_work: yes, but the filenames change depending on what platform you run mk_native_pbc on, right? | 18:11 | |
| dalek | rrot: r48858 | nwellnhof++ | trunk/src/string/api.c: [str] Don't convert to UTF-16 in str_replace |
||
| dukeleto | cotto_work: we could just always add all possible files, and only the files that have actually changed will be effected | ||
| cotto_work | sure | ||
| dukeleto | cotto_work: t/native_pbc/*_*.pbc | 18:12 | |
| cotto_work: will fix. you want me to commit to your branch? | |||
| cotto_work | please do | ||
| I only put my name there because it seems to be a convention. | 18:13 | ||
| dukeleto | cotto_work: yep, i just always ask before commiting to other peeps branches :) Common courtesy, in the age of DVCS's | ||
| cotto_work | *.pbc might be a better idea. There are some files without underscores in their names. | 18:14 | |
| e.g. number.pbc | |||
| dukeleto | cotto_work: the comments in mk_native_pbc specify *_*.pbc. hmmm | 18:15 | |
|
18:15
darbelo joined
|
|||
| dukeleto | cotto_work: also, mk_native_pbc does a svn commit, which actually pushes the changes to the server | 18:15 | |
| cotto_work | git ls-tree looks like a good starting point for mk_manifest... | ||
| dukeleto | cotto_work: i think the new mk_native_pbc should only do a git commit, and then the person running should have to do the git push manually. Seems safer | 18:16 | |
| cotto_work | +1 | ||
| purl | 1 | ||
| dukeleto | cotto_work: we will probably need to update the release guide about that | ||
| darbelo | dukeleto: Really? I thought it just suggested the user do so. | ||
| dukeleto | darbelo: you are correct. it echo's the commands | ||
| darbelo | Having scripts ato commit strikes me as a dangerous thing to do, specially with svn. | 18:17 | |
| *auto | |||
| cotto_work | We like to live on the wild side. | 18:18 | |
| Sometimes I put a forkbomb into the test suite, just because. | |||
| dukeleto | keeps life interesting. | 18:19 | |
| dalek | p-rx: c83336f | pmichaud++ | src/cheats/hll-grammar.pir: Add :sub<...> precedence for operator precedence parser (<EXPR>). |
18:20 | |
| dukeleto | cotto_work: i fixed mk_native_pbc and pushed. enjoy. | ||
| cotto_work | I'd plan subversion roulette, but that's basically the same as trying to merge a branch. | ||
| dukeleto | cotto_work: jhelwig may be of some help porting mk_manifest_* to git | 18:21 | |
| cotto_work: he was the one trying to get it to work with git-svn | |||
| cotto_work: i will attempt to recruit him, since I will probably see him at PDX.pm tonight | 18:22 | ||
| jhelwig | dukeleto: I won't be at PDX.pm tonight, but I'll be at the hackathon tomorrow. | ||
| dukeleto | jhelwig: ok. you can still help us, though :) | ||
| jhelwig | Yeah. | ||
| dukeleto | jhelwig: cotto_work and I are porting various parrot tools to git from svn | ||
| jhelwig | Excellent. | 18:23 | |
| dukeleto | jhelwig: your old friend mk_manifest_and_skip.pl could use some work ... | ||
| jhelwig: github.com/parrot/parrot <-- feel free to fork | 18:24 | ||
| jhelwig: i am also hacking on git docs at github.com/parrot/parrot/tree/leto/git_docs | 18:25 | ||
| purl | okay, dukeleto. | ||
| jhelwig | You going to be at the hackathon tomorrow? | ||
| dukeleto | jhelwig: probably | ||
| pmichaud | I can likely get nqp to stop using CodeString. | ||
| jhelwig | Remind me then. | ||
| pmichaud | I'll work on that now. | ||
| dukeleto | pmichaud++ # we are trying to put CodeString out to pasture | 18:28 | |
| jhelwig: ok, i will remind myself to remind you ;) | |||
|
18:31
whiteknight left
|
|||
| dukeleto is so delighted that all the perl6 repos are on github now. Makes me really want to work hard to get parrot moved to github | 18:31 | ||
| cotto_work | Ideally, I'd like us to make the switch yesterday. | 18:32 | |
|
18:34
ruoso joined
|
|||
| ttbot | Parrot trunk/ r48858 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/387244.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 18:37 | |
|
18:44
hercynium joined
18:52
theory left
18:58
davidfetter joined
|
|||
| chromatic | Wow, a 1.8% performance improvement. | 19:01 | |
| dalek | rrot: r48859 | chromatic++ | trunk/compilers/imcc (2 files): [IMCC] Removed vestigial JIT flag from IMCC. |
||
| rrot: r48860 | chromatic++ | trunk/src/parrot_debugger.c: [src] Fixed typos and tidied documentation. |
|||
| rrot: r48861 | chromatic++ | trunk/src/namespace.c: [ns] Optimized NameSpace type check. |
|||
| rrot: r48862 | NotFound++ | trunk/ChangeLog: change in ChangeLog the comment about Id getting mangled when it's commited that gets mangled when it's commited |
|||
| purl | dalek: that doesn't look right | ||
| NotFound | my ($svnid) = | 19:03 | |
| '$Id: gen_charset_tables.pl 48833 2010-09-07 22:58:38Z nwellnhof $' =~ | |||
| This is intentional? | |||
| tools/dev/gen_charset_tables.pl | |||
|
19:05
theory joined
|
|||
| cotto_work | probably not | 19:05 | |
|
19:07
Patterner joined
19:08
contingencyplan joined
19:10
fperrad left
|
|||
| dalek | TT #1252 closed by darbelo++: src/dynpmc/gdbmhash.pmc: Handle case where libgdbm.so cannot be loaded on ... | 19:12 | |
| TT #1252: trac.parrot.org/parrot/ticket/1252 | |||
| rrot: r48863 | chromatic++ | trunk/src/hash.c: [hash] Optimized parrot_hash_mark(). effects for any GC-heavy code. |
19:19 | ||
| kudo: 780732f | moritz++ | src/core/IO.pm: make dir() default to the current directory |
19:22 | ||
| dukeleto | NotFound: do you want me to apply your pull request to blizkost? I was going to test it, but I am seeing nt/exit.t fail in master | 19:29 | |
| NotFound | dukeleto: ofcoz! | ||
| chromatic said is good, so it is ;) | 19:30 | ||
| sorear | dukeleto: well run the other tests | 19:31 | |
| nt/exit.t would be a TODO if I knew how to TODO segfaults | |||
| one failing test isn't an excuse to skip the entire testsuite | 19:32 | ||
| dukeleto | sorear: i ran the tests that run with "make tesT" | 19:33 | |
| "make test" rather | |||
| NotFound: applied | 19:34 | ||
| sorear: so nt/exit.t is supposed to be TODOed ? | 19:35 | ||
| sorear: i see a segfault in parrot-nqp from the test, but my build is optimized so I don't have a useful backtrace | |||
| dalek | rrot: r48864 | pmichaud++ | trunk (2 files): [pct]: Migrate 'lineof' method (from deprecated CodeString PMC) into PCT::HLLCompiler. |
||
| rrot: r48865 | pmichaud++ | trunk/compilers/pct/src (2 files): [pct]: Switch PAST::Compiler and POST::Compiler to use lineof method from PCT::HLLCompiler. |
|||
| rrot: r48866 | pmichaud++ | trunk (3 files): [pct]: Refactor cache parameter of .lineof method to be named param. |
|||
| dukeleto | looks like CodeString is hanging on by a .... string. | ||
| cotto_work | It's on the ropes. | 19:37 | |
| Why's it being deprecated? The ticket isn't especially clear on that point. | 19:38 | ||
| dalek | izkost: 7f0ac55 | Julian++ | src/pmc/bkmarshal.c: fix order of args in trampoline |
||
| cotto_work | Coke: ping | 19:39 | |
| pmichaud | its capabilities have been subsumed by other PMCs | 19:40 | |
| cotto_work | Coke: unping | 19:41 | |
| dukeleto rm's leto/parrot.git on github, 'cause people seem to be getting confused | |||
| NotFound | dukeleto: installed from plumage, also fails the nt/exit.t test here | ||
| pmichaud | the stringbuilding/formatting is now handled by StringBuilder | 19:43 | |
| sorear | dukeleto: I understand nt/exit.t; it's simply a matter of global destruction being broken | ||
| pmichaud | and the line-counting capability is moving to PCT/HLLCompiler | ||
| sorear | dukeleto: fixing it, correctly, it not trivial | ||
| pmichaud | this is being done because CodeString doesn't play well with immutable strings | 19:44 | |
| dukeleto | NotFound: ok, you want to open an issue? do you have a useful backtrace? | ||
| sorear | of course it fails nt/exit.t. When I added that test, it fails everywhere with the same backtrace | 19:45 | |
| pmichaud | okay, I'm stuck. | ||
| dukeleto | cotto_work: this looks really useful to generate various reports about our git repo: github.com/visionmedia/git-extras | ||
| pmichaud | I can't update nqp-rx to use the new 'lineof' method because it depends on r48866. | 19:46 | |
| dalek | TT #1776 created by moritz++: r48847 breaks Rakudo | ||
| TT #1776: trac.parrot.org/parrot/ticket/1776 | |||
| dukeleto | sorear: you say "of course" but these things you talk about, very few other people understand. if you would explain the situation a bit more, that would really be helpful | ||
| NotFound | dukeleto: nt/exit.t .................. Can't undef active subroutine during global destruction. | ||
| pmichaud | and I can't use r48866 because it won't build and run on 64-bit machines. | ||
| (when checked out via svn, which nqp-rx does) | |||
| sorear | dukeleto: Parrot has no concept of ordering in global destruction | 19:48 | |
| dukeleto: blizkost SV proxies need to drop Perl-side references when destroyed | |||
| dukeleto: that means 1. blizkost needs to still be loaded 2. the Perl interpreter needs to still exist | |||
| NotFound | dukeleto: I suppose the problem is that it tries to destroy the sub that is calling exit. | ||
| dukeleto | sorear: how do we get ordered global destruction in parrot? | 19:51 | |
| sorear | we can't. | 19:52 | |
| cotto_work | Note that it's currently on the roadmap for 3.6 | ||
| sorear | somebody with political clout needs to invent a way and force it in | ||
| cotto_work | My impression was that it's a technical issue. | 19:53 | |
| pmichaud | I suspect it involves more technical clout than political clout. | ||
| cotto_work | Barring side-effects, it'll be a welcome feature. | ||
| chromatic | It's 100% technical. | 19:56 | |
| dukeleto | is there any TT currently to track ordered global destruction in parrot? sounds like we need one. | 19:57 | |
| cotto_work | trac.parrot.org/parrot/ticket/607 | 19:58 | |
| not much there atm | |||
| luben | good evening | ||
| purl | Ah, evening. The tumultuous mind tarries and contemplates, reveling in the silence afforded by the diurnal proletariat. Good evening, indeed. | ||
| cotto_work | Hi luben. | 19:59 | |
| TimToady | phone | ||
| cotto_work | Have you ever had the urge to implement ordered destruction? | 20:00 | |
| dukeleto | cotto_work: i have various urges that involve destruction. order is usually not involved. | 20:03 | |
| dukeleto ponders that it would be nice to have a test that fails without global destruction, but can imagine that it is hard to test. But not impossible. | 20:06 | ||
| dalek | rrot: r48867 | pmichaud++ | trunk/ext/nqp-rx/src/stage0 (4 files): [nqp] Update bootstrap to eliminate use of CodeString PMC. |
20:10 | |
| dukeleto updates TT607 with more info | |||
| dukeleto ponders that nt/exit.t already shows that global destruction doesn't work, calls it good enough | 20:11 | ||
|
20:11
theory left
|
|||
| dalek | p-rx: ce60da8 | pmichaud++ | src/cheats/hll-compiler.pir: Temporarily backport PCT::HLLCompiler's 'lineof' method continue to build from an older Parrot until parrot's trunk is working again. When we're able to bump PARROT_REVISION, this code can go away to fall back to Parrot's version of 'lineof' (DRY). |
20:11 | |
| p-rx: bb5d370 | pmichaud++ | src/ (3 files): Switch 'lineof' method calls to use the version of HLL::Compiler instead of CodeString. |
|||
|
20:11
patspam1 left
|
|||
| dalek | p-rx: d2d100f | pmichaud++ | src/Regex/Cursor.pir: Eliminate CodeString coercion. |
20:11 | |
| p-rx: 5c1686c | pmichaud++ | src/stage0/ (4 files): Update bootstrap to include lineof changes. |
|||
|
20:12
patspam joined
|
|||
| sorear | seen darbelo | 20:12 | |
| purl | darbelo was last seen on #parrot 1 hours, 55 minutes and 9 seconds ago, saying: Having scripts ato commit strikes me as a dangerous thing to do, specially with svn. | ||
| aloha | darbelo was last seen in #parrot 1 hours 54 mins ago saying "*auto". | ||
| cotto_work | What's hard about ordered destruction? | 20:13 | |
| chromatic | Who sets the order? | 20:15 | |
| Where do you set it? | |||
| What if there's a conflit? | |||
| How do you start? | |||
| sorear | darbelo: ping | ||
| dukeleto | chromatic: seems like a datastructure needs to keep track of things from the beginning | 20:18 | |
| cotto_work | Is this something another language has solved? | 20:19 | |
| dukeleto notes in passing that if someone wants a CS paper that is behing a paywall, I can help them out. | |||
| cotto_work: yes, other languages with garbage collectors have to solve this problem. Who solves it in the best way? No clue. | 20:21 | ||
| chromatic: what do you mean "conflict" ? Do you mean circular refs? | 20:22 | ||
|
20:24
patspam left
|
|||
| chromatic | Certain types of PMCs depend on other types. | 20:27 | |
| For example, any NCI/Sub/Pointer PMC which refers to a symbol loaded from a shared library must be destroyed before the ParrotLibrary which represents that shared library can be destroyed. | |||
| That's a static dependency we know. | 20:28 | ||
| There *may* be dynamic dependencies between specific PMCs which imply an order, and we don't know that right now. | |||
|
20:28
hercynium left
|
|||
| dukeleto | chromatic: we might be able to leverage the parrot-instrument runcore to figure out what those dynamic deps are | 20:28 | |
| chromatic | I'm not sure that will help; those dependencies might be specific to a program. | 20:29 | |
| dukeleto | chromatic: i see, they change depending on which codepaths are chosen. | 20:30 | |
| chromatic | Right. | 20:31 | |
| GeJ | Bonjour everyone. | ||
| dukeleto | chromatic: is there a language that you know of that we should learn from, regarding ordered global destruction ? | ||
| chromatic | There may be a Smalltalk/Strongtalk paper about it somewhere. | 20:32 | |
| I'm sure the JVM has considered it. | |||
| You get it for free with reference counting, until you have to break cycles. | |||
| dukeleto | chromatic: it seems like each parrot interp needs to build it's own table of dynamic deps iteratively, as execution happens | 20:33 | |
| chromatic | Only if any such deps exist. | ||
| However, we also need a mechanism to track PMCs (or types of PMCs) which *always* need destruction/finalization even if Parrot doesn't perform global destruction on an interp. | 20:40 | ||
| dukeleto | Git summary of parrot.git : gist.github.com/570791 # leo++ | ||
|
20:40
davidfetter left
|
|||
| dukeleto | Coke: you are catching up to leo++, only about 800 commits to go ;) | 20:41 | |
| Coke | dukeleto: does that count dead branches? | ||
| dukeleto | Coke: not sure, what do you mean "dead" branch ? | 20:42 | |
| Coke | a branch that was rm'd at HEAD at some point. | 20:43 | |
| cotto_work | or more than I've made since I've been around | ||
| Coke | (and therefore not in svn ls ^/branches just this second.) | ||
| dukeleto | Coke: that summary only counts what it is parrot.git | 20:44 | |
| Coke | so, no. hokay. | ||
| I suspect that would skew those #'s quite a bit. | |||
| still, nifty! | |||
|
20:45
ash_ joined
20:46
whiteknight joined
|
|||
| darbelo | sorear: pong | 20:47 | |
| dukeleto | Coke: the output is from "git summary" from git-extras. it has lots of other cool toys | ||
| atrodo | dukeleto> Wow, not the break down I was expecting | 20:50 | |
|
20:50
hercynium joined
|
|||
| cotto_work | There's a lot of history there. It'd look less surprising if you took it over the last 24 months (or less). | 20:52 | |
| chromatic | Three years. | 20:53 | |
| purl | hmmm... three years is a long time to fail. | ||
| Coke | 3 years? that includes cvs. | ||
| more like 9. | |||
| (unless parrot.git doesn't include r1) | 20:54 | ||
| Andy | are we all using ack 1.93_01? | 20:56 | |
| darbelo | I have a 1.92 here. | ||
| dukeleto | parrot.git's first commit is from 2001 | 20:57 | |
| sorear | darbelo: you were working on eliminating strstart/bufstart, yes? | 20:58 | |
| darbelo | In a way, yes. | ||
| sorear | darbelo: and you had it faster for everything except nqp-rx? | ||
| dukeleto | parrot.git includes CVS and svn commits | ||
| cotto_work | Andy: is your site down? | 20:59 | |
| betterthangrep.com | |||
| Andy | not that I know | ||
| darbelo | sorear: Yes. NQP uses substr to skip over strings, which mandates shared buffers in order to not become pathologically expensive. | ||
| sorear | darbelo: ah, you do know | 21:00 | |
| Andy | bah | ||
| rebooting | |||
| purl | i think rebooting is always the first solution | ||
| sorear | darbelo: I was going to recommend removing src/PAST/Compiler-Regex.pir 137-153 and dealing with ripple effects and rebenchmarking | 21:01 | |
| darbelo | The streq_at branch was an attempt to move nqp away from substr abuse. | ||
| But I got sidetracked with school stuff before I could dig in. | |||
|
21:02
mikehh_ is now known as mikehh
|
|||
| darbelo | I'm not sure I'll be able to do too much soon either since it looks like I'll be getting a job soon. | 21:02 | |
| mikehh | opbots, names | ||
| darbelo | ETOOMANYSOONS. | ||
| cotto_work | Yay for employed Parrot hackers! | ||
| What job? | |||
| purl | job is that which one does in order to live or something to make you batshit insane | ||
| cotto_work | forget job' | 21:03 | |
| purl | cotto_work, I didn't have anything matching job' | ||
| cotto_work | forget job | ||
| purl | cotto_work: I forgot job | ||
| darbelo | iPhone stuff, of all things. | ||
| Well, and iPad stuff as well I guess. | |||
| dukeleto | darbelo: developing with cocoa or something else? | 21:04 | |
| cotto_work | So you get to wait in anticipation while Apple decides to approve your fate? | ||
| darbelo | cotto_work: Yep. | ||
| dukeleto: iOS development is done with whatever Apple decide you develop with. | |||
| Upside is, I'll be getting a mac to test parrot on :) | 21:05 | ||
| cotto_work | joeberkovitz.com/blog/2010/04/08/ap...ciousness/ | ||
|
21:05
davidfetter joined
|
|||
| dalek | TT #1777 created by doughera++: Optimized builds on gcc/amd64 broken since r48308 | 21:11 | |
| TT #1777: trac.parrot.org/parrot/ticket/1777 | |||
| darbelo | dukeleto: Oh, if you are looking for ordered detruction testcases TT #956 contains one. | ||
| Andy | What would it take to get the purl source and make a new one? | 21:13 | |
| darbelo | We kind of have a 'new one'. | ||
| aloha: say hi! | |||
| aloha: aloha? | 21:14 | ||
| purl | aloha is, like, nothing but a humid enema-bucketful of malodorous dog balls | ||
| aloha | darbelo: I have no idea. | ||
| chromatic | r48308 was a complex commit. | 21:15 | |
| dukeleto | darbelo: you are familiar with Cydia, right? | ||
| Coke | ETOOMANYSOONGS | ||
| chromatic | Wordsize problem? | ||
| dukeleto | darbelo: you should take a look at PhoneGap too, if you haven't heard of it. It allows writing cross-platform apps in JS | 21:16 | |
| dalek | rrot: r48868 | nwellnhof++ | trunk/src (2 files): [src] Unbreak Windows build |
21:17 | |
| darbelo | dukeleto: Yeah, I'm vaguely familiar with that. Still not a solution :) | 21:21 | |
|
21:27
Coke left
|
|||
| dalek | TT #306 closed by nwellnhof++: embedding parrot fails, many symbols not exported properly [win32] | 21:28 | |
| TT #306: trac.parrot.org/parrot/ticket/306 | |||
| cotto_work | insult botsnack | 21:32 | |
| purl | thanks cotto_work :) | ||
| aloha | botsnack is nothing but an antique gob of milk-livered cat bladders. | ||
| purl | :) | ||
| darbelo | insult purl | 21:34 | |
| aloha | purl is nothing but a toad-spotted thimbleful of horn-beat pond scum. | ||
| darbelo | aloha++ | 21:35 | |
| aloha | darbelo: Thanks! | ||
| dukeleto | parrot.git summary since RELEASE_1_0_0 : gist.github.com/570881 | ||
| dukeleto gives NotFound++ a cookie | |||
| NotFound | dukeleto: Thanks! | 21:37 | |
|
21:39
Coke joined
|
|||
| NotFound | But I think that if you count the size of the commits the order may change a lot. | 21:39 | |
|
21:40
tcurtis left,
theory joined
|
|||
| NotFound | whiteknight: you can test HLL maps quickly with winxed, it has a feature for it since a a few weeks ago. | 21:41 | |
| sorear | I wonder if he reads his blog comments. | 21:42 | |
| NotFound | One time I signaled a typo in a comment and he answered quickly. | 21:43 | |
| darbelo | dukeleto: Looks like you need to make that summary case-insensitive. see Whiteknight vs whiteknight and infinoid vs Infinoid in your gist. | 21:46 | |
|
21:46
chromatic left
|
|||
| jnthn | ooc, does Parrot have any abstraction layer in place for operations like atomic compare and swap? | 21:47 | |
| I guess it's not so important until there's real threads. | 21:48 | ||
| whiteknight | Whiteknight vs whiteknight? I would pay to see that fight | ||
| jnthn | Though I expect once there is, they'll be what Rakudo's meta-model-y guts will want. | ||
| NotFound | whiteknight: if you want to give a try: namespace Foo [HLL] { .... | 21:51 | |
|
21:52
ruoso left
|
|||
| whiteknight | I think I may actually hate Parrot's Test::More implementation | 21:55 | |
| cotto_work | If you understand it, you're ahead of the curve. | 21:56 | |
| whiteknight | I don't really understand it, and every time I try I'm surprised by new things that make me angry | ||
| and today I think I finally passed the threshold of abject hatred | |||
|
21:58
ash_ left
|
|||
| whiteknight | I use the setstdout opcode to change the default output handle to a StringHandle. Test::Builder::Output helpfully ignores this and outputs to STDOUT anyway | 21:59 | |
| probably exposes a bug that the ParrotInterpreter.stdhandle() method doesn't play nicely with that dynop library | 22:00 | ||
| ttbot | Parrot trunk/ r48867 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/387514.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 22:03 | |
| dukeleto | darbelo: you are write. it is basically just the output of git-shortlog. it needs to be munged, still | 22:04 | |
| dukeleto ponders using levenshtein distances to detect similar commit names | |||
| whiteknight: i can try to help fix parrot's Test::More, if that helps at all | |||
| darbelo: also, I do know the difference between write and right. Just that my fingers don't. | 22:05 | ||
| whiteknight | dukeleto: the biggest frustration is taking almost an hour out of my day to figure out what the problem was | ||
| now that we're past that, the damage is done | 22:06 | ||
| dukeleto | whiteknight: i feel your pain. sometimes i feel like some yak holes go all the way to China | ||
| whiteknight: maybe we should fix Test::Builder::Output | 22:07 | ||
| cotto_work | If you squint, this entire migration to git is one giant exercise in yak shaving. | ||
| dukeleto | whiteknight: that sounds like a bug | ||
| cotto_work: I don't have to squint :) | |||
| whiteknight | dukeleto: I don't think it's Test::Builder::Output so much. I need to boil down a failing test case first | ||
| dukeleto | cotto_work: i've migrated svn to git a few times, and parrot's is definitely the most involved, because we were so tightly coupled to svn | ||
| cotto_work: not that we won't be tightly coupled to git. we just have a lot of dev scripts and docs | 22:08 | ||
| cotto_work | btw, what's the purpose of MANIFEST, apart from passing the manifest tests? | ||
| dukeleto | cotto_work: to make our lives hell | ||
| dalek | rrot-linear-algebra: 9286277 | Whiteknight++ | t/pir-subclass/nummatrix2d.t: add a stub test for verifying subclass behavior. Test fails because of weirdness elsewhere in the dependency tree. |
||
| dukeleto | cotto_work: i have had lengthly conversations with jhelwig about why MANIFEST exists | 22:09 | |
| cotto_work | Is there a reason? | ||
| dalek | tracwiki: v4 | nwellnhof++ | Platforms/Windows | ||
| tracwiki: trac.parrot.org/parrot/wiki/Platfor...ction=diff | |||
| dukeleto | MANIFEST has a reason. But building it manually is *insanity* | 22:10 | |
| whiteknight | cotto_work: just to make me angry, I assume | ||
| jhelwig | cotto_work: From my fuzzy memories, it's to help people who forget to $vcs rm/add things when they remove old files, or add new files. | ||
| dukeleto | all CPAN modules have a MANIFEST and parrot used to be distributed on CPAN, as well | 22:11 | |
|
22:12
Limbic_Region joined
|
|||
| cotto_work | If that's all, let's drop it. Adding/removing files doesn't happen that often and we have enough testers to complain when someone forgets. | 22:12 | |
| dukeleto | cotto_work: I am not sure if some of the ports/* stuff needs it. I don't think so, but I am not sure. | 22:13 | |
| jhelwig | IMO, if you're not distributing via CPAN, it's probably got a _very_ high cost/benefit ratio. | ||
| dukeleto | cotto_work: you want to email parrot-dev about it? see if anyone has a "OMG you will feel pain if you do that" comment | 22:14 | |
| cotto_work | doing so now | 22:15 | |
|
22:17
ash_ joined
|
|||
| Coke | MANIFEST is theoretically used to insure you got a good tarball. | 22:18 | |
| cotto_work | checksums are nice for that too | 22:19 | |
| dalek | TT #1778 created by nwellnhof++: Charset opcodes are deprecated | ||
| TT #1778: trac.parrot.org/parrot/ticket/1778 | |||
| Coke | yes, but how do you check that from inside the tarball? | ||
| (that is, with "perl Configure.pl && make test") | |||
| cotto_work | you assume that the release manager followed procedure and tested the tarball before taking its checksum | 22:20 | |
| Coke | I don't follow. you assume the tarball made it to you unharmed? | 22:21 | |
| cotto_work | You can verify that by taking its sha1sum | ||
| Coke | yes, but what do you COMPARE it against? | ||
| cotto_work | the checksum mentioned in the release announcement | 22:22 | |
| Coke | the sha1sum the maintainer took. which isn't IN the tarball. | ||
| right. you then have to have 2 bits. Which is fine, and dandy, but something else. | |||
| jhelwig | Coke: Just because you have all of the files mentioned in the MANIFEST, how do you know they aren't corrupted? | ||
| Coke | jhelwig: you don't. =-) | ||
| jhelwig | Which is why the SHA1 of the tarball is much more useful. | 22:23 | |
| Coke | I'm not saying it's good, I'm merely trying to construct an argument for why we might still need it. | ||
| *why one might argue... (not me.) | |||
| dalek | rrot: r48869 | luben++ | branches/hash_inlined_func/src/hash.c: fix ambigous code in hash key comparison |
22:24 | |
|
22:25
ash_ left
|
|||
| Coke | so if you can kill MANIFEST, then you don't need MANIFEST.SKIP, but only MANIFEST.GENERATED | 22:25 | |
| rrot: r48870 | luben++ | branches/hash_inlined_func (30 files): Bring up to date with master |
|||
| rrot: r48871 | luben++ | branches/hash_inlined_func/src/hash.c: resolve confilict in parrot_mark_hash functions |
|||
| rrot: r48872 | nwellnhof++ | trunk/DEPRECATED.pod: Add deprecation notice for charset opcodes |
|||
| cotto_work | seen kid51 | 22:29 | |
| purl | kid51 was last seen on #parrot 20 hours, 37 minutes and 46 seconds ago, saying: paste 23258 is on Linux/i386 at r48846 | ||
| aloha | kid51 was last seen in #parrot 20 hours 37 mins ago saying "paste 23258 is on Linux/i386 at r48846". | ||
| cotto_work | sent | 22:31 | |
| dukeleto | aloha, msg tcurtis can your gsoc_past_optimization branch be deleted? did your code leave the nest, or are you still working on that branch? | 22:39 | |
| aloha | dukeleto: OK. I'll deliver the message. | ||
| cotto_work | His code definitely left the nest. | 22:40 | |
| It's on github now. | |||
| sorear | Is Parrot still being pushed to CPAN? | ||
| because if so, we need MANIFEST | |||
| cotto_work | istr something about him wanting to get it back into core though | ||
| sorear | the (non-Parrot-specific) CPAN toolchain expects to find that file with its current contents | ||
| cotto_work | sorear: nope | 22:41 | |
| dukeleto | sorear: no, it isn't being pushed to CPAN | ||
| cotto_work: yes, i thought it left the nest | |||
| moritz | cpan has parrot-0.0.8.1 | 22:42 | |
| cotto_work | It shouldn't. We made an effort a while ago to get all releases off cpan. | ||
| dukeleto | moritz: that must be why people think we never release code ;) | ||
| moritz: yes, allison tried to delete a bunch of old Parrot stuff on CPAN, methinks | |||
| aloha, msg darbelo it would be nice to get a final blog post out of you about gsoc | 22:43 | ||
| aloha | dukeleto: OK. I'll deliver the message. | ||
| cotto_work | We release code? Who knew. | ||
| dalek | tracwiki: v10 | nwellnhof++ | ParrotDeprecationsFor2.9 | 22:44 | |
| tracwiki: trac.parrot.org/parrot/wiki/ParrotD...ction=diff | |||
| tracwiki: v13 | nwellnhof++ | ParrotDeprecations | |||
| tracwiki: trac.parrot.org/parrot/wiki/ParrotD...ction=diff | |||
| dukeleto | aloha, msg darbelo what is the status of gsoc_nfg ? does it require deprecations to get merged? | 22:45 | |
| aloha | dukeleto: OK. I'll deliver the message. | ||
| dukeleto: Okay. | |||
| dukeleto | alohabug | 22:46 | |
| bacek: ^^^ | |||
| darbelo rematerializes | 22:48 | ||
| dukeleto: gsoc_nfg is basically done, functionality-wise. But the implementation path I took adds a (very rarely used) pointer to the string header, which is questionable at best. | 22:51 | ||
| dukeleto | darbelo: so you are saying that we need to benchmark that change? | 22:52 | |
| darbelo | Not really, I already know it's one pointer more expensive *per string header* even if you don't use NFG. | 22:53 | |
| dukeleto | darbelo: so memory use is the issue | ||
| darbelo | That and possibly unnnecessary allocations. Also, NFG strings are effectively COW-less. | 22:54 | |
| I wanted to do away with the overhead by doing some refactoring on strings, mainly disabling shared buffers. That's the unshared_buffers branch. | 22:55 | ||
| sorear | NQP needs some changes to make that work though | ||
| darbelo | Yeah. That degenerated into gc-tuning and compact_pool tweaking, until I noticed that NQP-generated parsers were going pathological. | 22:56 | |
| I managed to make a sizable dent on rakudo's build memory usage, but runtime went out the window when I tried it. | 22:57 | ||
| Both, pmichaud and chromatic had ideas about what we could do to improve that, and that went into the streq_at branch. But I ran out of tuits before I could jump in. | 22:58 | ||
| sorear | darbelo: what if I were to give you a NQP branch that doesn't go O(N^2) with unshared buffers? | ||
| darbelo | I think that was pmichaud's side of the streq_at stuff. Though I am not sure if it payed off. | 22:59 | |
| sorear | streq_at is something completely different | 23:00 | |
| it didn't pay off because you missed 2/3 of the problem | |||
| streq_at is only a constant factor improvement | 23:01 | ||
| darbelo | Definitely possible. I am not familiar enough with NQP to say for sure. | ||
| I know streq_at is part of the solution, since it avoids a string header (and a buffer, and a copy, without shared buffers). | 23:03 | ||
|
23:04
Andy left
|
|||
| darbelo | But it could be dwarfed by other unfavorably placed substr calls. | 23:04 | |
| dukeleto | did ash's gsoc work get merged? i don't see a branch for it. | ||
| darbelo | I think ash worked on a git clone, not an svn branch. | 23:05 | |
| dukeleto | aloha, msg plobsing did ash's gsoc work get merged? i am working on a gsoc blog post, just want to summarize what was accomplished | ||
| aloha | dukeleto: OK. I'll deliver the message. | ||
| dukeleto | darbelo: happen to know if that was on github or gitorious or somewhere else? | 23:06 | |
| darbelo | github, I think. | 23:07 | |
| github.com/ashgti/parrot seems to be it. | 23:08 | ||
| dukeleto | darbelo: thanks! | ||
| it is hard to tell what was accomplished in ashgt's parrot repo. does anybody know anything about it? | 23:10 | ||
| darbelo | I'd guess his mentor would :) | 23:13 | |
| But I think his gsoc ended up being a two-parter. Part one was a framebuilder and part two was some sort of llvm-uber-experiment. | 23:14 | ||
| dukeleto | darbelo: it would be nice if the frame-builder could be committed | 23:19 | |
| dukeleto can't believe that livejournal does a flash add popup over page content. Livejournal no longer can be used as blog for GSoC | 23:20 | ||
| cotto_work | orly? I never saw such a monstrosity on jwz's blog, which is the only lj blog I read. | 23:22 | |
| maybe it's one of the times when noscript silently saves me a bit of annoyance | 23:24 | ||
|
23:26
Paul_the_Greek joined
|
|||
| Paul_the_Greek | G'day folks. | 23:27 | |
| cotto_work | hio Paul_the_Greek | ||
| Paul_the_Greek | Just about to commit the exciting sprintf exponent digit change. | ||
| Is there a way to run the coding standards tests on one file? | 23:28 | ||
| cotto_work | You can run one test, but not on one file | 23:30 | |
| afaik | |||
| Paul_the_Greek | I just ran codetest. It still complains if there is no documentation for static functions. | ||
| cotto_work | I usually run codingstds while I do a final pre-commit review of the patch. | 23:31 | |
| Paul_the_Greek | I wonder if there is a ticket for that? | ||
| We did agree that static functions don't want pod documentation, I think. | |||
|
23:32
ash_ joined
23:33
chromatic joined
23:39
Limbic_Region left,
ascent left
|
|||
| dukeleto | cotto_work: i have noscript, but i still see the failed flash thingie, and it dimms the whole page. jwz probably has a paid account, or knows somebody :) | 23:40 | |
|
23:40
ascent joined
|
|||
| dukeleto works on a gsoc blog post. Very proud of all my parrot students! | 23:40 | ||
| mikehh | Paul_the_Greek: yeah we did, but someone needs to change the tests and until we do I think we need to include the documentation, so that at least we are sure it is there | ||
| Paul_the_Greek | Okay, I'll add some for my new function. | 23:41 | |
| mikehh | Paul_the_Greek: and I still think most users of the docs are developers, not users so it does no harm | ||
| Paul_the_Greek: we could even include a local pod header | 23:44 | ||
| Paul_the_Greek | Local pod header? | ||
| cotto_work | It's a thing you copy/paste from a file that has one so that perldoc your/file.c looks nicer | 23:45 | |
| mikehh | well a pods header around the static function =items, just for the static functions | ||
| like =head2 Static Functions followed by =over 4, =cut then the -items - something like that if you want | 23:48 | ||
| Paul_the_Greek | Right. | 23:49 | |
| dalek | rrot: r48873 | Paul C. Anagnostopoulos++ | trunk (2 files): sprintf() trims exponents to 2 digits if possible |
||
|
23:49
theory left
|
|||
| shockwave | I'm getting an op-not-found error, on a line like so: if_null $P50000000 goto LABEL_2 | 23:51 | |
| :The opcode 'if_null_p' (if_null<1>) was not found. | |||
| This is the first time I've used this opcode, so I'm not sure of its syntax. | 23:52 | ||
| I'm assuming is just like the other if opcode. | |||
| Any ideas? | |||
| Paul_the_Greek | No 'goto'. | 23:53 | |
| It's if_null reg, label | |||
| cotto_work | I think the goto is desugared away. | ||
| Paul_the_Greek | Though why would that give you op-not-found? | ||
| cotto_work | I guess not then. | 23:54 | |
| shockwave | It was the goto. Thanks. | ||
| Paul_the_Greek | Well, then that's inconsistent. | ||
| 'goto' should be allowed. | 23:55 | ||
| cotto_work: When I merge my sleeker_boolean branch, will it just silently ignore the fact that a bunch of files are out of date? | 23:56 | ||
| dukeleto | Paul_the_Greek: are you asking about svn? | 23:57 | |
| Paul_the_Greek | Yes. | ||
| dukeleto | Paul_the_Greek: when you try to merge, it will tell you that you are out of date and tell you do svn up | ||
| Paul_the_Greek: or maybe it does it without asking. /me tries to forget about svn | |||
| Paul_the_Greek | I tried that just to see what happens. It just says "At revision xxx," since I match my files in that branch. | 23:58 | |
|
23:58
chromatic left,
theory joined
|
|||
| Paul_the_Greek | I'll see what happens when I actually try to merge. Never done that. Frightening. | 23:58 | |
| dukeleto | Paul_the_Greek: :) Don't worry, if you set fire to the svn repo, we can just make the conversion to git sooner ;) | 23:59 | |
| cotto_work | not for long | ||
| Paul_the_Greek | Happy to help! | ||