|
Parrot 2.3.0 Released | parrot.org/ | Channel log: irclog.perlgeek.de/parrot/today | Priority: apply deprecations, merge branches, testexceptions_refactor branch | GSoC students, please read trac.parrot.org/parrot/wiki/GSoCersStartHere Set by moderator on 6 May 2010. |
|||
| bacek totally confused when this regression was introduced... | 00:01 | ||
| Bah... | 00:02 | ||
| Coke | it's been a problem in branch for some time. | ||
| bacek | I'm on codestring branch, not trunk... | ||
| Coke | yes. | ||
| trunk was failing tests for a while though, so we're borked either way! =-) | |||
|
00:03
khisanth_ joined
|
|||
| nopaste | "bacek" at 192.168.1.3 pasted "Another patch for codestring" (52 lines) at nopaste.snit.ch/20507 | 00:04 | |
| Coke | got past Action.pm which I haven't in some time. it also was taking 8G, though. | ||
| bacek | Coke: can you try tis one? It should show some stats during build. | 00:05 | |
| Coke | is that in addition to or in place of? | ||
|
00:06
Khisanth joined
|
|||
| bacek | in place of | 00:06 | |
|
00:09
Mokurai1 joined
|
|||
| Coke | bacek a LOT of debug output. | 00:23 | |
| Total blocks: 3 122414472 | |||
| and counting. | |||
| purl | counting is ok | ||
| bacek | yes... | ||
| But it's 120 megs of strings. Not 8 gigs | 00:24 | ||
| Coke | counting. | ||
| purl | it has been said that counting is ok | ||
| Coke | Total blocks: 3 230477968 | 00:26 | |
| (new file. guess I should cancel this and capture the output.) | |||
| bacek | Just replace #ifdef 1 with #ifdef RESOURCE_DEBUG in pad_pool_size | 00:27 | |
| I've got info I need... | |||
| Coke | ... that wasn't the last number output. it was just some random line. | 00:28 | |
| good enough? | |||
| bacek | "enough" | ||
| But not good... | |||
| Basically - we've lost optimization for not-compacting pools | 00:29 | ||
|
00:36
hercynium joined
|
|||
| Coke | Total blocks: 3 499437648 | 00:39 | |
| (still going. I'm just bored) | 00:40 | ||
| ok, killed it. | 00:43 | ||
| bacek | Coke: sorry, I have to go. | 00:48 | |
| But you can try next things: 1) Don't use string allocations for SB.buffer. Use gc_allocate_memory/reallocate manually; 2) Replace str_copy with str_clone (actually just put return str_clone into str_copy) | 00:50 | ||
|
00:56
joeri joined
00:58
particle joined
01:01
Mokurai2 joined
|
|||
| dalek | rrot: r46423 | plobsing++ | trunk/compilers/imcc (5 files): kill graph colouring register allocator |
01:32 | |
| rrot: r46424 | plobsing++ | trunk/t/compilers/imcc/imcpasm (2 files): remove TT1281 todoed tests |
|||
| TT #1281 closed by plobsing++: Remove graph coloring register allocator from IMCC | 01:42 | ||
| TT #1281: trac.parrot.org/parrot/ticket/1281 | |||
| kudo: c52c61a | (Solomon Foster)++ | src/core/ (4 files): Add Numeric versions of the infix:<cmp> family of operators. Move the old infix:<cmp>(Num, Num) operator code to infix:ļæ½<=>ļæ½(Num, Num) and delete infix:<cmp>(Num, Num). Remove the Rat versions of infix:<cmp>. |
01:59 | ||
| kudo: 9427875 | (Solomon Foster)++ | tools/test_summary.pl: Change // to || to keep Perl 5.8 happy. |
|||
| purl | dalek: that doesn't look right | ||
| kudo: 85a7aa4 | (Solomon Foster)++ | src/core/Numeric.pm: Eliminate Numeric versions of eq, ne, lt, gt, le, and ge -- these should always be string comparisons. |
|||
|
02:00
Psyche^ joined
|
|||
| sorear | hmm | 02:13 | |
| in a Parrot stack trace, the line numbers and byte code offsets always point to the beginning of the functions | |||
| do we know why? | |||
| experiment failed | 02:34 | ||
| subclass of RPA is failing to behave as a RPA with no evidence of why | |||
| it just returns empty iterators | |||
|
02:36
janus joined
|
|||
| plobsing | sorear: which vtables have you overloaded? | 02:42 | |
| sorear | plobsing: none | ||
| oh, get_bool | 02:43 | ||
| purl | i think get_bool is 5.66% of execution time. | ||
| plobsing | all RPA's get_iter vtable does is "return new 'ArrayIterator'(self);" | 02:44 | |
| try doing that manually to see if it fails | |||
| sorear | I had already reverted... | 02:48 | |
| I wasn't trying to debug anything, just run a "quick experiment" | |||
|
02:52
JimmyZ joined
02:55
Andy joined
|
|||
| sorear | yikes. *** glibc detected heap corruption *** during a post-realclean build of the codestring branch | 03:18 | |
| sorear checks if it's repeatable after turning off randomize_va_space | |||
| (in miniparrot) | 03:19 | ||
| yes. | 03:27 | ||
| absolutely repeatable. | |||
| imcc_run -> ??? -> yyparse -> yylex -> mem_sys_free -> *** glibc detected *** ./miniparrot: free(): invalid next size (fast): 0x080f1358 *** | 03:28 | ||
| start with latest 'codestring' on linux/i386 gcc 4.4.4 | 03:29 | ||
| svn status --no-ignore #empty | |||
| perl Configure.pl | |||
| make | |||
| 1.6MB core dump | |||
| according to strace, no files from my existing parrot install are being read and possibly poisoning | 03:35 | ||
| plobsing | hmmm... works fine for me | 03:47 | |
|
04:01
khairul joined
|
|||
| sorear | grr. watchpoints appear to be broken in debian gdb 7 | 04:14 | |
| sorear minimizes the test case | |||
| oh I see | 04:20 | ||
| it can't place hardware watchpoints in not-yet-allocated memory | |||
| so after 'run', the existing watchpoints all revert to software | |||
| dalek | rrot: r46425 | petdance++ | trunk/compilers/imcc (2 files): re-headerized |
04:31 | |
|
04:33
JimmyZ joined
04:42
JimmyZ joined
|
|||
| dalek | TT #1622 created by plobsing++: [DEPRECATED] :unique_reg flag | 04:42 | |
| TT #1622: trac.parrot.org/parrot/ticket/1622 | |||
| sorear | after spending an hour or two chasing malloc memory corruption in the debugger, it just occurred to me to use valgrind | 04:47 | |
| dalek | rrot: r46426 | jimmy++ | trunk/src/call (2 files): random consting |
||
| sorear | bacek: Are you still here? | 04:50 | |
| Or any other committer. | 04:51 | ||
| bacek got the arguments to memset backward at gc_ms.c :1365 | |||
| our new memory allocator, in debug mode, fills the first 15 bytes of any allocation with the allocation's size as a byte | |||
| including allocations smaller than 15 bytes | 04:52 | ||
| plobsing: Are you on a non-optimized post-46422? | 04:54 | ||
| plobsing | I checked out and ran 'perl Configure.pl; make -j3' | 04:57 | |
| maybe it's not recent | |||
|
04:57
patspam joined
|
|||
| sorear | the bogus patch was 6 hours ago | 04:58 | |
| anyways, reversing the arguments to memset makes it work. | 04:59 | ||
| dalek | rrot: r46427 | plobsing++ | trunk (9 files): deprecate :unique_reg and make it a nop |
05:04 | |
| rrot: r46428 | jimmy++ | trunk/src (2 files): removed unused value and consting |
|||
| plobsing | sorear: we're talking about the codestring branch right? | ||
| sorear | plobsing: yes | 05:08 | |
| Coke: I know why 'codestring' is using so much memory | |||
| plobsing | make test passes for me at r46428 | 05:09 | |
| sorear | plobsing: with or without --optimize? | ||
| plobsing | without | ||
| sorear | bacek committed 46422 to 'codestring' | 05:10 | |
| not trunk | |||
| are you doing anything which might cause NDEBUG to be set? | 05:11 | ||
| plobsing | nope. maybe it is pulling it from the system perl | ||
| sorear | likely. | 05:12 | |
| anyway, the line is obviously wrong | |||
| just look at memset(3) and compare argument orders... | |||
| plobsing | hmmm... true enough | 05:13 | |
| hmmm... maybe the object being memset gets packed into fewer than 15 bytes on your machine but not mine (x64) | 05:15 | ||
| sorear | under glibc, no allocated object can be smaller than 2*sizeof(size_t) | 05:16 | |
| so yeah. | 05:17 | ||
| purl | hmmm... so yeah is there anyone that has any advice on how to get a resultset that contains two joined tables ?\\ | ||
| sorear | Coke: Do you want me to explain the codestring memory problem? | 05:19 | |
| purl: forget so yeah | |||
| purl | sorear: I forgot so yeah | ||
| plobsing | sorear: fixed | 05:24 | |
|
05:32
rbuels joined
|
|||
| dalek | rrot: r46429 | plobsing++ | branches/codestring/src/gc/gc_ms.c: correct order of arguments to memset (sorear++) |
05:36 | |
| sorear | plobsing: excellent | 05:39 | |
| dalek | rrot: r46430 | plobsing++ | trunk/compilers/imcc (8 files): remove some life analysis code dead after graph colouring allocator removal |
05:53 | |
|
05:54
JimmyZ joined
|
|||
| dalek | TT #1152 closed by plobsing++: :named should default to the name of the parameter | 06:21 | |
| TT #1152: trac.parrot.org/parrot/ticket/1152 | |||
| rrot: r46431 | plobsing++ | trunk (4 files): allow named params to default to their variable name. |
06:25 | ||
|
06:34
kjeldahl joined
|
|||
| dalek | rrot: r46432 | jimmy++ | trunk/src/call/args.c: cleaned up unused struct |
06:41 | |
| kudo: 118f4aa | (Solomon Foster)++ | src/core/ (5 files): Overhaul sqrt for Numeric / Real. |
06:51 | ||
|
07:08
ShaneC joined
|
|||
| ShaneC | Hello | 07:08 | |
| purl | privet, ShaneC. | ||
| dalek | TT #1030 closed by plobsing++: long sub invocation with named parameters | 07:10 | |
| TT #1030: trac.parrot.org/parrot/ticket/1030 | |||
| ShaneC | Is there a web site somewhere that lists parrot's supported platforms? | ||
| browsed the main site a bit but i didn't see anything | 07:11 | ||
| plobsing | ShaneC: svn.parrot.org/parrot/trunk/PLATFORMS | ||
| ShaneC | thanks | 07:12 | |
|
07:12
dolmen joined
|
|||
| dalek | rrot: r46433 | plobsing++ | trunk (3 files): allow named arguments in long-form pcc_sub calls (TT1030) |
07:14 | |
| ShaneC | anyone know how well parrot is currently suited to embedding? I know I've seen some progress on getting it into Postgres | 07:15 | |
| asking because I've been trying to think of a good way to contribute for a while, my day job is a game dev and I'm working on LUA in our engine atm -- curious if getting parrot onto the ps3/360 would be a huge challenge | 07:17 | ||
| (powerpc) | |||
| sorear | parrot will run on ppc fine | 07:19 | |
| however | |||
| ShaneC | yea i saw linux ppc listed | 07:20 | |
| sorear | our current build system is allergic to cross compilers | ||
| does ps3-linux have a native gcc port? | |||
| if so, you shouldn't have difficulties | |||
| ShaneC | i wouldn't be running linux on the ps3 | ||
| but gcc is available | |||
| sorear | no, but the architecture would be the same | ||
| I think | |||
| purl, khairul? | 07:21 | ||
| purl | i haven't a clue, sorear | ||
| ShaneC | we don't use gcc for our ps3 builds, but sony's other compiler is very gcc compatible | ||
| sorear | purl, ash_? | ||
| purl | i guess ash_ is John Harrison or John Harrison <mailto:john@greaterthaninfinity.com> | ||
| sorear | ShaneC: that's not the point | ||
| JimmyZ | plobsing: using TT #1030 will be more useful, then Trac can add a link to the ticket. | ||
| ShaneC | (along with very msvc compatible, interestingly) | ||
| sorear | ShaneC: your compiler needs to spit out executables that can be run *locally* | ||
| ie it needs to either generate fat binaries or run on the ps3 | |||
| ShaneC | well, it would be embedded into the game engine (if that matters) | 07:22 | |
| sorear | I don't know what that means | ||
| Are you saying you're going to scrap the entire build system? | |||
| ShaneC | there would not be a standalone parrot executable | ||
| sorear | That doesn't matter at all | 07:23 | |
| ShaneC | sorear: i'd hope i wouldn't have to, but i don't really know what would be required | ||
| i've done some work with parrot but never modified the parrot code/build at all | |||
| sorear | If you plan to, under any situation, compile any part of Parrot for a different computer than the development machine, for *any* such circumstance | ||
| you can either 1. give up now 2. coordinate with the SoC student (khairul?) who is adding cross compiler support | 07:24 | ||
| ShaneC | ah, interesting, i'll have to contact him | ||
| sorear | the synopsis of the SoC is to port Parrot to RTEMS (a midrange embedded OS that tends to show up in spacecraft and the like) | 07:25 | |
| but 98% of it is "make Parrot cross-compilable and POSIX-agnostic" | |||
| plobsing | JimmyZ: thanks for the tip | 07:26 | |
| ShaneC | sorear: i'm assuming scrapping the build system is not feasible? | ||
| lua is pretty simple to embed, you can just shove the lua source into your project, set a define, and compile | |||
|
07:27
fperrad joined
|
|||
| sorear | Erm, was that an insult? | 07:27 | |
| I can never tell | |||
| ShaneC | lol, no | ||
| im a long time perl/parrot fan ;-) | |||
| but i'm asking whether something like that is possible with parrot | 07:28 | ||
| sorear | Not now, as I just tried to explain | 07:29 | |
| ShaneC | my apologies, i do a lot of coding, but i don't normally touch the build process much | ||
| sorear | Rather little of Parrot is actually C | ||
| plobsing | ShaneC: (AFAICT) part of the difference between lua and parrot that increases the challenge of embedding is Parrot provides more builtin functionality (which it needs to get from somewhere) | 07:30 | |
| ShaneC | do you think just starting with the c pieces would be viable? for instance, if i just wanted to get pasm up and running | 07:31 | |
| sorear | No, because the interpreter is written in a custom macro language and generated at build time by a large pile of system-querying Perl 5 | ||
| ShaneC | and leave the (insert language) -> pasm compilers part of the offline build | ||
| sorear | collectively "ops2c" | 07:32 | |
| the datatype engine is set up with a different but related custom macro engine | |||
| plobsing | ShaneC: IMCC (the subsystem that handles PASM and PIR) is one of the hairiest, most tightly coupled systems in Parrot. Good luck extracting it. | ||
| sorear | once you have both of those - and the configuration data, most of which is extracted from "perl -V" - you can build "miniparrot" | ||
| "miniparrot" is then used to run a second bank of macro processors written in PIR | 07:33 | ||
| ShaneC | so essentially the problem with cross compiling is that the build process needs the target machine to have perl? | ||
| sorear | yes, perl and parrot | ||
| ShaneC | or at least to know bout its perl | ||
| about* | |||
| sorear | no, it needs to have perl | 07:34 | |
| because you need to run the Perl 5 part of the build system on a machine with the same characteristics | |||
| then, you can transfer the generated C to your development machine and build a miniparrot | 07:35 | ||
| then transfer *that* *back* to the PS3 | |||
| Man. You do not scare eaily. | |||
| ShaneC | lol | 07:36 | |
| i <3 challenging programming ;-) | 07:37 | ||
| sorear | Know what you are getting yourself into. | ||
| ShaneC | yea, it definitely sounds very non trivial | ||
| sorear | Think very carefully about whether you actually want to spend three man months helping us and humanity | ||
| ShaneC | are there any long term plans (the cross compiling gsoc project aside) to remove perl from the build process? | ||
| sorear | Instead of the expedient approach of simply embedding a mature script engine like Perl5 or Lua | 07:38 | |
| Yes. | |||
| In that it is a goal. | |||
| No plans have been made. | |||
| ShaneC | oh, i'm not suggesting that we would use parrot for our production scripting | ||
| lua is definitely the choice, but i have access and experience with console dev, and getting parrot onto those platforms would be pretty cool | 07:39 | ||
| sorear | Incidentally, the only mature language that runs on Parrot is Lua. | ||
| purl: coke? | 07:40 | ||
| purl | coke is Will Coleda <mailto:will@coleda.com> or perpetually annoyed. or magical ticket robot or (if Diet), something that turns into formaldehyde in my blood. or getting those data_json issues in Coke's build. or tempted to remove "ticket_append" for authenticated. or on OSX 10.6.3 | ||
| ShaneC | well, i really appreciate the input, i'll dig into some of the things you mentioned and mull it over | 07:41 | |
| thanks! | |||
|
07:41
fperrad_ joined
|
|||
| khairul | hi sorear, i think the one doing the RTEMS port is bubaflub? | 08:02 | |
| sorear | ah thanks. | 08:03 | |
| ShaneC: | |||
| ShaneC | i'll scan through the mailing list and try to find it | ||
| dalek | rrot: r46434 | jimmy++ | trunk/include/parrot/context.h: cleaned up macros |
08:36 | |
|
08:40
jan_ joined
08:48
jan_ joined
|
|||
| dalek | rrot: r46435 | jimmy++ | trunk/src/call (2 files): use macro instead of inline fuction, C89 doesn't like it |
08:53 | |
| JimmyZ | parrot-dev blocked my mail? :( | 09:27 | |
| msg chromatic since there is a macro in the context.h, so I just changed it to use that macro. | |||
| purl | Message for chromatic stored. | ||
| JimmyZ | msg chromatic when I saied ' C89 doesn't like it', I meant 'by the way, C89 doesn't like it'. | 09:28 | |
| purl | Message for chromatic stored. | ||
| moritz | bacek: with r46435 I still get 4 non-zero exit stati in a rakudo spectest run | 09:40 | |
| oh wow, just read that the plural of "status" is also "status", but the 'u' in there is pronounced slightly different | 09:42 | ||
|
09:42
kjeldahl joined
10:06
lucian joined
10:18
iblechbot joined
10:54
JimmyZ joined
11:18
JimmyZ joined
|
|||
| JimmyZ | Hello, any objection to Make fast core the default core? | 11:20 | |
| arnsholt | moritz: In Latin, it's a fourth declension noun, so yeah. Not sure if the pronounciations differed much though | 11:21 | |
|
11:27
Whiteknight joined
|
|||
| dalek | tracwiki: v8 | jimmy++ | PerformanceImprovements | 11:35 | |
| tracwiki: trac.parrot.org/parrot/wiki/Perform...ction=diff | |||
| rrot: r46436 | jimmy++ | trunk/src/main.c: make fast core the default core, see PerformanceImprovements |
11:36 | ||
|
11:46
joeri joined
11:52
kid51 joined
|
|||
| kid51 | make test failures in trunk at r46436 | 11:55 | |
| smolder.plusthree.com/app/projects/...ails/33720 | 11:56 | ||
| nopaste | "kid51" at 192.168.1.3 pasted "make test failures observed in trunk at r46436" (83 lines) at nopaste.snit.ch/20508 | 11:58 | |
| kid51 | Bisecting; everything was okay at r46425 | 11:59 | |
| dalek | kudo: c18ef37 | (Solomon Foster)++ | src/core/Range.pm: Switch prefix:<^> to use +$max internally. |
12:00 | |
| kid51 | Bisecting: the failing tests were passing at r46430 | 12:04 | |
| mikehh | kid51: I got the tests passing at r46435, failing at r46436 | 12:10 | |
|
12:11
JimmyZ joined
|
|||
| mikehh | JimmyZ: it looks like r46436 generates some test failures | 12:11 | |
| JimmyZ | (fast core)-- :( | 12:12 | |
| kid51 | JimmyZ: So there's the answer to your question: the *tests* object to making fast core the default core | 12:13 | |
| mikehh: Confirmed. The failing tests passed at both r46433 and r46435. | 12:15 | ||
| Fortunately, reverting 46436 involves changing only 4 keystrokes :-) | |||
| JimmyZ | reverted | 12:18 | |
| kid51 | Thanks | 12:22 | |
| dalek | rrot: r46437 | jimmy++ | trunk/src/main.c: revert r46436, some tests failed |
12:24 | |
| tracwiki: v9 | jimmy++ | PerformanceImprovements | 12:25 | ||
| tracwiki: trac.parrot.org/parrot/wiki/Perform...ction=diff | |||
| mikehh | interesting - make testf passes - i need to look maybe some TODO's | 12:26 | |
| kid51 | codestring branch PASS make test at r46437 | ||
| JimmyZ | annotations have problems with fast core | 12:28 | |
| nopaste | "kid51" at 192.168.1.3 pasted "r46437: one codingstd failure" (14 lines) at nopaste.snit.ch/20509 | 12:35 | |
| mikehh | kid51: I think this is a work-in-progress by plobsing - I got different failures earlier | 12:36 | |
| although I think this sort of change needs to be done in a branch | 12:37 | ||
| that's with assert-args | 12:38 | ||
| kid51 | mikehh: Yes, almost by definition, "work-in-progress" implies "should be done in branch" | 12:39 | |
| mikehh | I was going to try and fix them - but then an ack showed that new stuff had been added but not yet implemented and am not happy with make headerizer | 12:44 | |
| dalek | kudo: ee6ec74 | (Solomon Foster)++ | src/core/Pair.pm: Add infix:<cmp> for pairs. |
13:21 | |
|
13:34
Andy joined
13:42
rurban joined
14:00
rurban_ joined
|
|||
| dalek | kudo: e113d85 | (Solomon Foster)++ | src/core/Array.pm: Add proto for unshift so we can use named args. |
14:19 | |
|
14:38
Andy joined
|
|||
| dalek | kudo: 73a3d3e | moritz++ | t/spectest.data: [t/spec] run another test file |
14:42 | |
| Coke | msg jimmyZ: This is probably a translation issue, but I don't see the difference between your two C89 statements. | 15:06 | |
| purl | Message for jimmyz stored. | ||
| JimmyZ | Hi | 15:07 | |
| Coke | msg plobsing ah, looks like you're saying it doesn't do anything these days. that makes sense, then. Thanks. =-) | 15:08 | |
| purl | Message for plobsing stored. | ||
| Coke | plobsing++ #imcc | ||
| JimmyZ | that's just code cleaning up | ||
| there is already a macro | 15:09 | ||
| LTA? | 15:11 | ||
| purl | LTA is less than adequate, see also acronyms.thefreedictionary.com/LTA or "Less Than Awesome" in Rakudo world :) | ||
| dalek | kudo: ad46ef8 | moritz++ | t/spectest.data: run two more test files |
||
| Coke | so, in this brave new string world, what's the right way to do a substring that doesn't keep a copy of the full original string? | 15:14 | |
| msg sorear got your message. Trying to find where I can untangle it. | 15:22 | ||
| purl | Message for sorear stored. | ||
|
15:29
davidfetter joined
15:38
s1n left
15:43
tetragon joined
|
|||
| dalek | kudo: 27e05a8 | (Solomon Foster)++ | (3 files): Add dead simple preliminary implementation of Sop, and turn on the only test we were able to find for it. |
16:08 | |
|
16:10
davidfetter joined
16:30
lucian joined
|
|||
| sorear | Coke: I think it would be better to start by factoring 'lineof' out of CodeString | 17:01 | |
| Coke: then NQP-rx wouldn't need to play stupid tricks with input | |||
| because, even if you fix substring, you still have a huge amount of cpu time spent making short-lived clones... | 17:02 | ||
|
17:28
Mokurai joined
17:51
plobsing joined
18:29
snarkyboojum joined
18:42
Mokurai1 joined
18:50
kjeldahl joined
19:09
jan joined
19:18
rbuels joined
|
|||
| sorear | Why does CodeString do so many things? | 19:24 | |
| moritz | maybe the line number tracking can be moved to a utility PMC that is not a string itself | 19:25 | |
| now that strings are immutable | |||
|
19:48
Andy joined
|
|||
| dalek | rrot: r46438 | plobsing++ | trunk/compilers/imcc (4 files): remove vestigial tokens INC, DEC, and NEW |
19:49 | |
|
19:51
Psyche^ joined
|
|||
| sorear | moritz: Good idea... how would that look? | 20:00 | |
|
20:04
theory joined
|
|||
| sorear | What files do I need to change to add a new core PMC? | 20:14 | |
| plobsing | sorear: just dump it into src/pmc. It will be auto-detected. You'll have to bump PBC_COMPAT and regen the native pbcs (requires x86) as well | 20:20 | |
| sorear | ...why? | ||
| plobsing | because core pmcs are numbered alphabetically and PMC numbering is part of PBC | 20:21 | |
| sorear | oh. maybe I don't want to add a core pmc then. | ||
| moritz | sorear: a StringMarker PMC; constructor takes a string; it has get_line_by_position method or so | ||
| sorear | also, MANIFEST.generated contains mention of /codestring/ and other core pmcs | 20:22 | |
| plobsing | oh yeah, theres a test that will complain at you about that =-D | ||
| sorear | how about adding standard dynpmcs, then? | 20:23 | |
| plobsing | not sure. they likely get auto-detected from the src/dynpmc directory. there is no special numbering on dynpmcs, so you're in the clear wrt PBC_COMPAT | 20:26 | |
|
20:28
Andy joined
|
|||
| dalek | rrot: r46439 | petdance++ | trunk/compilers/imcc (3 files): re-headerized |
20:39 | |
| rrot: r46440 | plobsing++ | trunk/compilers/imcc (5 files): eliminate special parsing of 'new' opcode for old-style class numbering |
20:55 | ||
|
21:07
Andy joined
|
|||
| dalek | rrot: r46441 | petdance++ | trunk (4 files): include/parrot/embed.h is now headerized, although there are some imperfections with two redundant headers cut-and-pasted in there |
21:11 | |
| rrot: r46442 | plobsing++ | trunk/compilers/imcc (5 files): eliminate old code handling special NCI calling convention |
|||
| rrot: r46443 | plobsing++ | trunk/DEPRECATED.pod: deprecate .nci_call syntax |
|||
|
21:24
dolmen joined
|
|||
| dalek | TT #1623 created by plobsing++: [DEPRECATED] .nci_call | 21:25 | |
| TT #1623: trac.parrot.org/parrot/ticket/1623 | |||
| rrot: r46444 | plobsing++ | trunk/compilers/imcc (6 files): eliminate pcc_sub_t.calls_a_sub, leaving pcc_sub_t.yield |
21:28 | ||
| rrot: r46445 | plobsing++ | trunk/compilers/imcc/pbc.c: narrow variable scope |
|||
| plobsing | are bit-fields C89? I see plenty of single bit flags in 'int' containers. I could significantly decrease the size of several objects. | 21:31 | |
| dalek | rrot: r46446 | petdance++ | trunk/lib/Parrot/Headerizer.pm: Fixed a potential bug found by Perl::Critic |
21:44 | |
| sorear | bit-fields are C89, but their behavior is very loosely standardized | 21:47 | |
| you can't portably use them for anything other than compressing structures | 21:48 | ||
| the most pessimistic intepretation of C89 bitfields is that they are allocated to an intmax_t | 21:49 | ||
| so you should start bit field groups at pointer-aligned areas if you don't want padding | 21:50 | ||
| also, compilers are allowed to not support splitting bit fields between bytes | |||
| so groups of bit fields should ideally add up to 8 bits each | |||
| the legal basic types of a bitfield are "signed int" and "unsigned it" | 21:52 | ||
| int | |||
| do not use "int", as signedness in this case is undefined | |||
| dalek | rrot: r46447 | petdance++ | trunk/lib/Parrot/Test.pm: hiding the namespace mucking in a function |
22:00 | |
|
22:03
lucian joined
22:13
jjore joined
22:21
jjore joined
22:30
triddle joined
22:44
hercynium joined
22:59
plobsing joined
23:11
jjore joined
23:18
mariano joined
23:23
jjore joined
|
|||
| plobsing | why is '~' xor in PIR, not '^' ? | 23:38 | |
|
23:54
mariano joined
|
|||