Parrot 3.2.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Parrot is accepted for GSoC 2011! Student application deadline is Apr 8 | Goals: Get more GSoC ideas on wiki; close tickets; stable 3.2 release; assess status of roadmap goals for 3/15 meeting.
Set by moderator on 18 March 2011.
dukeleto see y'all laters 00:00
whiteknight soh_cah_toa: we probably need to fill in a form. I'll look at that tonight
soh_cah_toa: how are you doing? Are you interested in doing GSoC work with Parrot? 00:01
soh_cah_toa i sure am!
i've been getting my parrot on. reading the developer wiki. playing around with pasm/pir 00:02
whiteknight awesome! what kinds of things are you interested in?
soh_cah_toa well i see the taptinder project is looking for perl 5 developers which interested me but i don't know much about taptinder 00:03
whiteknight mj41 is the grandmaster of taptinder.
basically, it's a tool that Parrot wants very much: An automated testing and reporting system 00:04
cotto_work whiteknight: shouldn't people interested in helping our automated testing infrastructure be working on jitterbug?
whiteknight let's say I have a math library, that I'm using in my own custom library from Rakudo Perl 6. If Parrot changes something and my library breaks, taptinder can help identify when that broke and what part of the dependency chain is broken 00:05
cotto_work I thought taptinder was pretty solid already
whiteknight cotto_work: mj41 says it needs work to support parrot better
cotto_work whiteknight: isn't that what jitterbug will be for? 00:06
whiteknight jitterbug is a project that we need too, in which case you talk to dukeleto
cotto_work msg dukeleto Is there anything I can do to help complete PaFo's GSoC org profile?
aloha OK. I'll deliver the message.
whiteknight cotto_work: I can't keep track of what all tools we are using
soh_cah_toa okay, pretty neat 00:07
cotto_work goes home 00:09
marcel_r Hi all. 00:10
soh_cah_toa the debugger project seemed interesting as well
marcel_r I'm another student interested in contributing to Parrot during GSoC. 00:11
soh_cah_toa hey, me too!
marcel_r soh_cah_toa: Cool! 00:12
whiteknight: Where can we find more information about the debugger project? 00:13
whiteknight marcel: right here. All you have to do is ask!
marcel_r: Parrot has a debugger right now, but it's very broken
and it's old
and there are spiders 00:14
soh_cah_toa i was just gonna ask that
where is it? i just compiled parrot and i can't find it
is it a switch or a seperate binary?
whiteknight frontend/parrot_debugger/*
soh_cah_toa tada! thanks 00:15
whiteknight Parrot basically is libparrot. All the real guts of it are in that library
so the parrot executable and parrot_debugger are just small frontends over libparrot
Last year for GSoC a student made a project called Parrot-Instrument.
soh_cah_toa yeah, i just saw that in the wiki
whiteknight Parrot-Instrument is a series of tools for interacting with Parrot while it's running
Parrot-Instrument is a little bit broken right now too, but shouldn't take too much work to fix 00:16
soh_cah_toa is it in the source package?
whiteknight once we fix it, it can be used for making a nice debugger pretty easily
it's a separate project. Let me find a link 00:17
github.com/Whiteknight/parrot-instrument/
soh_cah_toa great, thanks. i'll take a look 00:21
00:21 bubaflub joined
bubaflub dukeleto: i saw that both Perl and Parrot got accepted to GSoC - good work! 00:22
whiteknight marcel_r: What are your interests?
marcel_r I'm interested in VMs in general. I'm the developer of a small programming language ( code.google.com/p/zap/ ). 00:24
Parrot looks very nice, although I have little familiarity with it.
The debugger and profiler projects would be cool to work on. 00:25
soh_cah_toa i've known about parrot for a while but didn't become that interested until i listened to a podcast on floss weekly about it 00:30
that was maybe a few months ago
whiteknight soh_cah_toa: I don't think I heard anything about a podcast. Do you have a link or anything? 00:36
marcel_r: oh, okay, so you're familiar with VMs and compilers already. That's a good start
soh_cah_toa www.twit.tv/floss140 00:37
whiteknight soh_cah_toa++
soh_cah_toa it was on rakudo but it talked about parrot obviously
whiteknight oh, nice
marcel_r: the great thing about Parrot is that it's so expansive. You can do something related to compilers and VMs, or you can do something related to languages, libraries, etc 00:38
cotto ~~ 00:39
whiteknight marcel_r: zap looks fun. Very minimalist 00:40
marcel_r I'm also interested in the possibility of running Python on Parrot.
Yeah, you could not use a better word for it: minimalist. 00:41
soh_cah_toa doesn't it already support pythong? pynie?
*python
whiteknight there is a project called Pynie which was python on Parrot
it's broken and sort of abandoned.
lucian is another GSOC student who is talking about rewriting it. Allison is probably going to mentor that project. She might be interested in related projects too 00:42
marcel_r Interesting.
00:43 bubaflub left
marcel_r To be honest, I'm afraid of writing much Pearl code, since I'm still learning it. 00:43
whiteknight Python really needs a few things: It needs a compiler to parse the syntax, but it also is going to need a proper object model (to implement classes and objects), and also a runtime library 00:44
marcel_r So if Parrot has a project more focused in the C internals, it would be better for me.
whiteknight marcel_r: right. Old pynie is written in NQP (a perl6 subset), which isn't ideal. The new pynie that we're planning will probably be written in Python itself
soh_cah_toa i'm with you marcel_r
whiteknight marcel_r: if we have a project? We have tons of them!
marcel_r Nice. I'm very comfortable with Python too. 00:45
soh_cah_toa well, i meant your c internals comment
i've never done any work with python. perl's my little sidekick instead. 00:46
i'm glad to see that parrot has lots of opportunites for work 00:47
marcel_r I'm reading lots of parrot documentation and playing with PIR codes right now. Probably will look at this Pynie thing too. 00:50
soh_cah_toa whiteknight: is there a guideline for code style conventions? it looks like you guys follow the gnu style, maybe? 00:51
whiteknight take a look at NQP ( a subset of Perl6 on Parrot) and Winxed (a language similar to JS and C++) too. Those are low-level parrot languages and nicer to write in than PIR 00:52
soh_cah_toa: yes, we do have guidelines. They aren't the same as Gnu. let me look
soh_cah_toa sure
whiteknight docs/project/*.pod contains some information, although some of it is a little old 00:54
PDD07 has info too (docs/pdds/pdd07_codingstd.pod)
soh_cah_toa found it. thanks. 00:55
i love all this documentation. i can't stand poorly documented code.
whiteknight the PDDs are our design documents. They tend towards being inaccurate, bug have a lot of good ideas in them 00:56
and docs/book is a book we wrote a while ago, though it's mostly about PIR syntax 00:57
soh_cah_toa oh good. i was looking for something a little more than what was in the wiki
whiteknight I'm going to be posting project ideas on my blog for the next couple days. You guys may want to keep an eye on that (whiteknight.github.com/) 01:03
also, other parrot folks may be blogging about it too. Most blogs end up on planet.parrotcode.org/
so keep an eye on that for ideas
marcel_r Ok, thanks. 01:05
whiteknight "Parrot in Apache" will be mostly C 01:06
"Sub-level profiling" will be mostly C
"GCC Translator" will be C and dark magic 01:07
the GSL, GMP, and LAPACK binding ideas will all be mostly C or NCI
OpenCL too
01:09 ShaneC left
bacek ~~ 01:11
whiteknight hello bacek 01:13
bacek: are there any LLVM project ideas for GSoC?
bacek aloha, whiteknight 01:14
whiteknight, nope afaik
whiteknight yeah, I didn't think so
marcel_r, soh_cah_toa: the PL/Parrot project is mostly C too 01:15
marcel_r How do we write a library binding to Parrot? 01:16
bacek aloha, is parrot fast yet?
aloha bacek: is parrot fast yet is isparrotfastyet.com/
bacek aloha, parrotfastyet? 01:17
aloha bacek: Sorry, I don't know.
bacek aloha, isparrotfastyet?
aloha bacek: No clue. Sorry.
bacek aloha, isparrotfastyet.com?
aloha bacek: isparrotfastyet.com is owned by atrodo
bacek msg atrodo Take a look at justrakudoit.wordpress.com/2011/03/...k-results/
aloha OK. I'll deliver the message.
soh_cah_toa whiteknight: good, i'm very comfortable with c 01:18
dalek sella: 3240ce6 | Whiteknight++ | src/winxed/Distutils.bootstrap.pir:
re-add bootstrapped file
01:33
sella/test_refactor: 3240ce6 | Whiteknight++ | src/winxed/Distutils.bootstrap.pir:
re-add bootstrapped file
01:34
sella/test_refactor: 27b9ccd | Whiteknight++ | src/winxed/Distutils.bootstrap.pir:
Merge branch 'master' into test_refactor
marcel_r whiteknight: I will be taking a look at potential projects for me in this weekend. 01:45
whiteknight marcel_r: okay. Definitely let us know if you have any questions
marcel_r whiteknight: Lots of interesting stuff to select from...
01:45 contingencyplan left
marcel_r whiteknight: I will be back with more question in the following days, for sure. 01:45
whiteknight awesome!
marcel_r whiteknight: Thanks for your support. 01:46
whiteknight thanks for your interest
soh_cah_toa marcel_r: see you later
marcel_r soh_cah_toa: Sure! Nice to meet you.
marcel_r goes to beb. 01:47
01:47 marcel_r left
soh_cah_toa whiteknight: there wouldn't happen to be a parrot api reference, would there? 01:50
whiteknight for the embedding API? Sort of
src/docs/embed_new.pod 01:51
it's incomplete
the files are in src/embed/*.c. The functions there are well documented
soh_cah_toa yes, exactly what i'm looking for 01:52
what about parrot-specific datatypes? for instance, i can't figure out what PARROT_INTERP is 01:56
cotto soh_cah_toa, parrot_interp_t 01:59
include/parrot/interpreter.h
soh_cah_toa thanks
cotto Do a breadth-first search. It's too easy to get stuck on details if you try to understand anything in great detail at first. 02:00
soh_cah_toa i suppose you're right. sometimes i gotta put away the magnifying glass and take a step back 02:02
02:02 bubaflub joined 02:10 woosley joined
whiteknight PARROT_INTERP is just an easier way to say "Interp * const interp" 02:12
if you see PARROT_INTERP, you know you have a variable named "interp"
02:13 bubaflub left
sorear PARROT_INTERP is a macro 02:14
#define
are you familiar with the C preprocessor? 02:15
also. get ctags and learn how to use it, it is incredibly useful
02:18 eternaleye_ is now known as eternaleye
soh_cah_toa yeah, i know cpp 02:20
i've heard of ctags but never really had a use for it though. you're right, it would help a lot in this case 02:21
whiteknight I am having some of the weirdest errors tonight in Rosella. The instruction "$P0 = new 'Class'" is returning me an existing class, not a new class 02:22
same with "$P0 = newclass 'foo'". It's returning me a semi-random existing Class, not a new class named 'foo'
does that even remotely make sense? 02:23
soh_cah_toa i'm gonna head out now. you've been a great help whiteknight 02:25
whiteknight soh_cah_toa: okay, it's nice to meet you. We're always here if you want to chat more 02:26
soh_cah_toa i'm on spring break this week so i'll be around here quite often :)
dalek rrot: 2560bf4 | plobsing++ | src/pmc/nativepccmethod.pmc:
add expected get_multisig() method to NativePCCMethod
rrot: d8203d2 | plobsing++ | lib/Parrot/Pmc2c/PMC.pm:
create multi-dispatcher PCC signature based on return type, not NCI signature mangling
rrot: 4659654 | plobsing++ | lib/Parrot/Pmc2c/Parser.pm:
set method type correctly at creation
soh_cah_toa take care guys
rrot: db3ba55 | plobsing++ | lib/Parrot/Pmc2c/ (2 files):
eliminate "short sigs" (really NCI signatures) for multis
rrot: 71c5503 | plobsing++ | lib/Parrot/Pmc2c/ (3 files):
put method/multi name mangling in one place
rrot: a1d45c4 | plobsing++ | lib/Parrot/Pmc2c/ (2 files):
generate PCC variants for multis
soh_cah_toa has dinner
02:26 soh_cah_toa left
dalek rrot: eccfd4e | plobsing++ | lib/Parrot/Pmc2c/PMC.pm:
use Parrot_mmd_add_multi_from_long_sig() to register NativePCCMethod multis

also minor fixups to pcc call and return sections
02:26
Heuristic branch merge: pushed 61 commits to parrot/tt1931-nci-parameters-deprecation by plobsing 02:28
ttbot Parrot db3ba55f i386-linux-thread-multi make error tt.taptinder.org/cmdinfo/55689
Parrot db3ba55f i386-linux-thread-multi make error tt.taptinder.org/cmdinfo/55719 02:31
plobsing TT doesn't handle branch merges very well it seems 02:33
ttbot Parrot a1d45c45 i386-freebsd-64int make error tt.taptinder.org/cmdinfo/55744 02:34
Parrot db3ba55f i386-linux-thread-multi make error tt.taptinder.org/cmdinfo/55769 02:38
whiteknight nopaste? 03:10
clunker3 pasta.test-smoke.org/ or paste.husk.org/ or nopaste.snit.ch:8001/ or rafb.net/paste or poundperl.pastebin.com/ or paste.scsys.co.uk/
plobsing aloha, nopaste?
aloha plobsing: nopaste is is nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl)
nopaste "Whiteknight" at 192.168.1.3 pasted "Can anybody explain this nonsense?" (26 lines) at nopaste.snit.ch/38202 03:11
whiteknight I've got massive karma rewards for anybody who can figure out why that nopaste does something so stupid
plobsing that nopaste doesn't make sense 03:12
newclass gives a class object
typeof gives the class object of an object
whiteknight right. But typeof Class is giving me an instance of an existing class apparently
plobsing 'typeof class-obj' should be "Class"
whiteknight exactly! 03:13
I've been tracking this bug down for hours, thinking it was a problem in Rosella
but no. It's PArrot doing something absurd
I would expect that example to say "Foo\\nClass\\nClass\\nBar\\nClass\\nClass"
or, at the very least, typeof Bar should be Bar, not Foo 03:14
plobsing whiteknight: using typeof_s_p gives reasonable results 03:15
whiteknight right, that is correct
in winxed I was doing string(typeof(class_obj)) and getting those results
plobsing whiteknight: get_class isn't implemented on "Class". class pmcs aren't "Object"s 03:17
so you call default.get_class 03:18
whiteknight but shouldn't that fallback to default.get_class, and return a pmcproxy?
03:18 samwho left
whiteknight ...no, vtable_type is going to return something that isn't Class's PMCProxy 03:18
damnit
plobsing nope. first it checks whether there is an associated namespace, which appears to be the case here (for some odd reason) 03:19
whiteknight there shouldn't be, there is no associated namespace 03:20
unless Class autovivifies one
plobsing there isn't. it returns a [ "Class" ] namespace object for reasons I cannot understand. 03:21
ah, again with the default.get_namespace() 03:22
whiteknight okay, this probably isn't a huge issue and I have a workaround now 03:26
it was a little bit...unexpected
dalek sella/test_refactor: acf6e7a | Whiteknight++ | / (8 files):
fix several tests, remove a few unneeded debug messages
03:27
sella/test_refactor: b5954ce | Whiteknight++ | t/ (4 files):
fix some tests
sella/test_refactor: 58ea2da | Whiteknight++ | / (5 files):
figured out the cause of my last problems. Fixed remaining broken tests. Removed debugging statements
whiteknight plobsing++ for looking at it and helping me keep my sanity
plobsing whiteknight: what needs doing on your IMCC branch? 03:28
whiteknight plobsing: I think primary development is done. The last problem I have right now is the TT #1990 fix 03:29
We can't be blocking GC twice on the way into IMCC, because IMCC can now be throwing exceptions
but when I take out that GC block, I get problems, probably related to a PMC getting prematurely recycled 03:30
plobsing or we need a way to handle finally blocks
whiteknight if I keep the GC block in, some tests consume huge amounts of memory 03:31
because GC gets blocked, IMCC throws an exception, GC doesn't get unblocked, and then the program continues
plobsing catch, unblock, rethrow?
sorear idea: instrument gc_ms to not actually free PMCs, but instead _reuse them as Null, so you get a throw at the instant a dangling pointer is used 03:32
whiteknight possible
sorear: that's possible
sorear combine with -Rgcdebug for extra win 03:33
whiteknight okay, I have no interest in watching the clock roll over to tomorrow. I'm going to bed. Goodnight 03:35
03:35 whiteknight left
bacek aloha, humans 04:18
cotto g'day bacek 04:22
bacek g'day cotto :)
cotto, I've got somewhat crazy idea. Implement parrot-on-parrot using llvm :) 04:28
Kind of jit prototype 04:29
cotto not unlike GGE
bacek aloha, GGE?
aloha bacek: No clue. Sorry.
bacek cotto, gge? 04:30
cotto it's a project of masak's to implement Perl6 in Perl 6
glacial grammar engine 04:31
bacek I think it was called Yapsi
cotto igithub.com/masak/gge/
my mistake
bacek yes, github.com/masak/yapsi
cotto it's just a grammar engine
you 04:32
you'd think I'd guess that from the name
bacek, that's a scary and interesting idea. I hope you have a lot of ram. 04:33
bacek Actually, I'm just to lazy to implement JIT in C from scratch. 04:34
Implementing it in NQP will be much more faster for prototyping purpose.
cotto that's a good thing
bacek And -Ofun of course :)
cotto you mean implementing Parrot in nqp?
bacek cotto, "jit core" 04:35
s/core/runcore/
sorear you can implement runcores in managed code?
bacek sorear, nope.
But I can emit native code from manged code with LLVM 04:36
I suspect it will be few orders of magnitude slower than current runcore.
otoh, it shouldn't be "production ready" 04:37
cotto bacek, how many ways can you think of that M0 might be executed? I've got a hll-based interp, a C-emitting compiler and an interp written in C. 04:39
sorear bacek just suggested a LLVM-emitting JIT 04:40
er that was for M1
(if M1 is PIR, is opcode_t* M0.5?)
cotto I was thinking of an llvm-emitting interp as equivalent to an interp written in C. 04:42
sorear a fast non-jit C interp is a very useful thing to have 04:43
cotto definitely
sorear imho it's parrot's #1 selling point in the mid term
plobsing we don't really have one of those now, and I'm not convinced lorito's design decisions will make that better (in fact, I'm pretty sure M0 interpretation will be *worse*) 04:47
so if we care about interpreter speed, we may want to consider keeping a means of interpreting a higher-level representation 04:48
cotto plobsing, as you see it, what does the ideal interpreter look like? 04:52
plobsing I'm not sure, but I don't think increasing the instructions dispatched to accomplish a particular goal is going to improve performance.
it seems counter-intuitive 04:53
cotto you mean instruction count per unit of work?
plobsing exactly 04:54
I'm also concerned about code-size issues.
cotto my intuition breaks down at the size of op that we're planning for M0 (both amount of work and number of bytes per op) 04:55
they'll fit in cache better, but we'll be running a lot more of them 04:56
plobsing I'm not sure whether we'll win or loose relative to current PBC, but I am concerned that we will lose to machine code. The whole reason interpreters came about was because opcodes took less space than machine code. 04:57
cotto I thought it was portability and programmer laziness 04:58
well, I guess almost everything boils down to programmer laziness 04:59
plobsing AFAIK, both forth and p-code systems were unconcerned about portability
KaeseEs forth famously so 05:00
dalek rrot/whiteknight/imcc_compreg_pmc: c3de770 | plobsing++ | / (4 files):
narrow scope of GC blockage to work around TT #1990
05:04
plobsing msg whiteknight: I've got some good news and some bad news. The good news is that the TT #1990 bug might not have anything to do with IMCC and the recent changes. The bad news is that this is because of a gc-block-leak in the workaround, and that the real bug could be anywhere. See c3de770 for details. 05:05
aloha OK. I'll deliver the message.
05:20 theory left
sorear plobsing: current parrot compares very well to other VMs I've tested on most microbenchmarks not involving PCC, memory allocation, or the class system 05:23
plobsing I'm surprised. our dispatch mechanism is surprisingly naive
sorear which is to say N, I, conditional branching stuff; I don't think I've actually tested strings stuff 05:24
I should probably do some more scientific testing sometime 05:25
plobsing we have 100% branch mispredict on op dispatch
sorear it's still far better than Perl 5 05:26
which is most of what I've compared pir against
plobsing sorear: OK, you've managed to find an even worse op-dispatch mechanism. 05:27
sorear they're not hard to find 05:28
plobsing our advantage is we don't do graph-traversal for execution. but we still do all the jumps from the same location. so our cache-friendlyness and indirection are better, but our branch predictor friendlyness (and amenability to advanced processor features in general) is still poor. 05:29
sorear parrot's use of registers and unboxed type support are also rather large wins 05:32
plobsing we're probably better than the big interpreted languages (Perl, Python, Ruby). but we lose hands down to many existing language VMs (eg: many interpreting JVMs, OCaml, SMLNJ) 05:33
sorear ocaml and smlnj don't count
plobsing why?
sorear they were more or less created as optimizer research platforms 05:34
the big places where JIT-like systems fall over are startup time and startup memory usage
imagine $user is running perl6 -e 'say 2 ** 31 #oops I forgot, what is this in decimal?' 05:35
plobsing I'm not talking about the JIT and JIT-like systems. those contain pure interpreters that run while the JIT is warming up to eliminate the large startup pause.
sorear the Perl6 parser is a very large chunk of code (I'll be amazed if you ever get it under 2MB) 05:36
plobsing and we're slower than those systems' JIT stop-gap
sorear right, well, it's not fair to compare a general-purpose VM designed by Perl geeks to Andrew Appel's sandbox 05:37
plobsing sorear: we're at what, 10MB now?
sorear plobsing: last I checked it was 15
plobsing 32-bit or 64-bit? 05:38
sorear 32
32 bit opcode_t is responsible for a lot of that, but there's still quite a bit of essential complexity
plobsing one of my projects I'd like to do in the coming months is a network PBC format that squeezes everything to the fullest 05:39
I'm thinking I can probably get most opcodes to a single byte using variable-width ints.
sorear dan sugalski talks about environments like HLL CGI scripts
plobsing also, strings alignment kills us huge. 05:40
sorear if you have a HLL with 10MB of bytecode, and you try to run 50 simultaneous interpreters, and you're using a system that needs to copy bytecode (threaded code or JIT).... no. 05:41
plobsing if we use a string pool in PBC, we wouldn't have to align them, and we'd likely get more size-reduction there too
sorear Java folks say this is CGI's fault
plobsing well, yeah. I mean, it is the world's fault when reality doesn't fit their object model. 05:43
cotto plobsing, would that pbc be directly executable?
sorear obviously not without a special runloop 05:44
plobsing cotto: of course not. network-format PBC is for efficient transmission over the network between hosts.
sorear pluggable runloops are a cool parrot feature though
plobsing it would need some decoding before execution
I suppose you could write a custom runloop, but it might run kinda slow.
cotto that's what I was thinking 05:45
plobsing always decoding variable-width ints.
cotto yes
plobsing but then again, that code runs almost straight and costs nearly nothing relative to all the indirection we do on today's deep-pipleline chips
sorear it could just always decode 1-byte ints, but implement pseudo ops that decode more 05:46
if the per-pbc op table is sorted by usage the psuedo ops don't need to be hit often 05:47
depending on just how much packing you want to do; this won't really work for an arithmetic coder.
plobsing that's a good point. but opcodes make up a tiny fraction of bytecode
register and constant numbers also need decoding 05:48
sorear right, 75% of bytecode is used to fill the gaps between opcodes. :)
oh right
plobsing your opcode game doesn't work for them
cotto I'm wondering if M0 could do with 4-byte ops by explicitly setting the context, rather than explictly passing something that'll only change on sub invocations. 05:49
sorear I suspect that once the PAST register allocator is fixed, we'll be able to limit register numbers to 127 and nobody will notice
plobsing how many times do I have to tell people that any reasonable attempt at register allocation should happen *AFTER* IMCC
PAST register allocator doesn't see half of the registers
06:10 woosley left 06:16 JimmyZ joined 06:23 JimmyZ left 06:59 lucian left 07:06 rurban_ joined 07:08 rurban left, rurban_ is now known as rurban
dalek rrot: df6273e | bacek++ | src/io/io_private.h:
Remove useless casts.
07:08
07:15 fperrad joined 08:03 alin joined 08:16 mj41 joined 08:32 alin left 08:33 alin joined 08:35 lucian joined 08:48 alin left 08:49 alin joined 08:52 woosley joined 09:19 alin left 09:31 contingencyplan joined 09:47 alin joined, contingencyplan left, contingencyplan joined 09:59 lucian left 10:02 lucian joined 10:13 lucian_ joined 10:16 lucian left 10:28 lucian_ left 10:30 contingencyplan left 10:31 mj41 left 10:43 lucian joined
dalek rrot: 48a8127 | bacek++ | src/pmc/sub.pmc:
[cage] Remove outdated comment.
10:44
11:04 dodathome joined 11:10 lucian left 11:17 JimmyZ joined 11:33 zby_home joined
dalek rrot/opsc_llvm: df6273e | bacek++ | src/io/io_private.h:
Remove useless casts.
11:37
rrot/opsc_llvm: 48a8127 | bacek++ | src/pmc/sub.pmc:
[cage] Remove outdated comment.
rrot/opsc_llvm: a1948f0 | bacek++ | / (8 files):
Merge branch 'master' into opsc_llvm
11:40 whiteknight joined
whiteknight good morning, #parrot 11:42
11:42 JimmyZ left 11:43 JimmyZ joined
whiteknight have I said something nice about bacek today? 11:44
bacek++
11:44 lucian joined
bacek whiteknight, noooo. No I became "bacel"... 11:45
whiteknight then, bacel++ too
bacek $ perl -M5.010 -e '$b="bacek"; $b++; say $b' 11:46
bacel
:)
tadzik bacek: did you know about perl -E? 11:47
bacek tadzik, erm. No idea. What is it?
wow.
Quite useful 11:48
tadzik++
tadzil-- # just in case :) 11:49
tadzik I'd like some pErl, doing the same but w/o -E ;)
heh. Looking at the "What I need is:" section in the blog post, I thought «how the hell does bacek want to do these things in 3 CPU ticks»" 11:54
bacek tadzik, I just need some kind of VVVVLIW CPU :) 11:55
11:57 JimmyZ left
tadzik gone 11:58
11:58 lucian left
dalek rrot: 3a3ab5a | bacek++ | config/gen/config_h/config_h.in:
Set HAS_LONGLONG and HAS_INT64 into config.h to reduce amount of warnings from StructView PMC compilation.
11:59
12:21 samwho joined 12:28 mj41 joined
dalek rrot/opsc_llvm: 3a3ab5a | bacek++ | config/gen/config_h/config_h.in:
Set HAS_LONGLONG and HAS_INT64 into config.h to reduce amount of warnings from StructView PMC compilation.
12:51
rrot/opsc_llvm: 2c980d2 | bacek++ | config/gen/config_h/config_h.in:
Merge branch 'master' into opsc_llvm
rrot/opsc_llvm: 5d13cb0 | bacek++ | src/dynpmc/Rules.in:
Link all libraries into llvm_engine.

llvm-config --libs produces list of _static_ libs. And linker selects only used functions. Which leads to "Undefined symbol" errors when we do dynamic linking of dynops.
rrot/opsc_llvm: 1d4307c | bacek++ | / (2 files):
Implement Builder.get_insert_block
13:06 mj41 left
dalek rrot: 80bcb73 | bacek++ | / (2 files):
Expose current context into external world from interpret
13:08
13:16 jsut_ joined 13:21 jsut left
dalek sella/test_refactor: 21e64d7 | Whiteknight++ | / (14 files):
Add in several new tests and some new stub test files. A few small fixes throughout the test library
13:41
sella/test_refactor: e08a944 | Whiteknight++ | src/test/ (4 files):
Add in the ability to throw internal-only failures, which won't show a complete backtrace
sella: 27b9ccd | Whiteknight++ | src/winxed/Distutils.bootstrap.pir:
Merge branch 'master' into test_refactor
13:43
sella: acf6e7a | Whiteknight++ | / (8 files):
fix several tests, remove a few unneeded debug messages
sella: b5954ce | Whiteknight++ | t/ (4 files):
fix some tests
sella: 58ea2da | Whiteknight++ | / (5 files):
figured out the cause of my last problems. Fixed remaining broken tests. Removed debugging statements
sella: 21e64d7 | Whiteknight++ | / (14 files):
Add in several new tests and some new stub test files. A few small fixes throughout the test library
sella: e08a944 | Whiteknight++ | src/test/ (4 files):
Add in the ability to throw internal-only failures, which won't show a complete backtrace
13:54 ambs joined
dalek nxed: r864 | NotFound++ | trunk/winxedst1.winxed:
hand parse parrot include files to avoid depending on PGE::P5Regex
13:54
nxed: r865 | NotFound++ | trunk/pir/winxed_compiler.pir:
update installable compiler
14:08 mj41 joined 14:23 alin left 14:33 mj41 left
dalek rrot: df0ae5e | util++ | include/parrot/ (2 files):
[Coverity] Removed #include of thread.h from atomic.h, and parrot.h from string.h.

   Fixes Coverity defect #473: PW.INCLUDE_RECURSION in string.h
   parrot.h
   -> platform_interface.h
   -> interpreter.h
   -> context.h
   -> string.h
   -> parrot.h
   Fixes Coverity defect #474: PW.INCLUDE_RECURSION in atomic.h
   thread.h
   -> atomic.h
   -> thread.h
   Fixes Coverity defect #475: PW.INCLUDE_RECURSION in parrot.h
   encoding.h
   -> parrot.h
   -> encoding.h
14:34
rrot: f83909e | util++ | include/parrot/ (2 files):
Merge branch 'coverity_474'
14:41 mj41 joined 14:44 samwho left 15:05 rurban_ joined 15:07 dodathome left, rurban left, rurban_ is now known as rurban 15:17 mj41 left 15:19 jsut joined 15:24 jsut_ left 15:38 dodathome joined 15:42 mj41 joined 15:55 ambs left 15:56 ambs joined 16:29 theory joined 16:37 mj41 left 16:39 lucian joined 16:42 woosley left 16:43 whiteknight left 17:17 mj41 joined
cotto ~~ 17:25
mikehh forgot to post:All tests PASS (pre/post-config, make corevm/make coretest, smoke (#12631) fulltest) at 3_2_0-16-gf83909e - Ubuntu 10.10 i386 (g++-4.5) 17:46
dalek nxed: r866 | NotFound++ | trunk/winxedst1.winxed:
cosmetic changes
18:03
18:21 dodathome left
dalek nxed: r867 | NotFound++ | trunk/winxedst1.winxed:
reorganize a bit argument modifier emision
18:24
18:46 dodathome joined, Patterner left 18:47 Psyche^ joined, Psyche^ is now known as Patterner 18:57 contingencyplan joined 19:04 kurahaupo joined
dalek nxed: r868 | NotFound++ | trunk/winxedst1.winxed:
compile time evaluate comparaison operators with integer operands
19:11
19:34 elmex left 19:47 alin joined 19:57 fperrad left 19:59 fperrad joined 20:10 rurban left 20:11 Andy_ left 20:19 elmex joined 20:22 rurban joined 20:28 zby_home left 20:29 whiteknight joined 20:40 kid51 joined
kid51 ~~ 20:41
dalek sella: cc83d37 | Whiteknight++ | src/test/ (2 files):
some docs and TODO notes
20:45
21:01 rurban left 21:06 rurban joined
plobsing ping whiteknight 21:07
21:17 lucian left 21:26 rurban left
whiteknight pong plobsing 21:30
plobsing whiteknight: I suspect the problems we're seeing when removing the TT #1990 workaround occurs due to string compilations 21:34
PGE runs several evals upon startup
21:34 dodathome left
plobsing but I can no longer track down where we register the PIR compreg 21:34
where does that happen now? 21:35
whiteknight in compilers/imcc/api.c, called from frontend/parrot/main.c
what's going wrong with strings? 21:36
plobsing not sure, but the segfault occurs in a program that is all PBC, no compile from file. 21:37
21:58 Coke left
whiteknight PGE and NQP do a lot of load_bytecode with .pir files instead of .pbc files 22:03
internally, Parrot tries to redirect those I think, but can't always
22:04 Coke joined 22:11 alin left 22:19 ambs left 22:25 fperrad left 22:29 lucian joined 22:43 kid51 left 22:55 contingencyplan left 23:11 Coke left
whiteknight msg NotFound can we improve the "Checking Implementation" error message? It's very difficult to debug. A line number would be nice 23:29
aloha OK. I'll deliver the message.
NotFound whiteknight: Checking... ;) 23:33
Uh... I've completely forgot to finish that part. 23:35
whiteknight heh 23:38
NotFound Fixed, thanks. 23:40
dalek nxed: r869 | NotFound++ | trunk/winxedst1.winxed:
proper diagnose invalid argument modifier, whiteknight++
23:41
nxed: r870 | NotFound++ | trunk/pir/winxed_compiler.pir:
update installable compiler
whiteknight NotFound: We should throw a big party when you reach revision 1000 23:42
NotFound Who pay the beers? 23:45
dalek sella/harness_refactor: 4046d69 | Whiteknight++ | src/tap_harness/ (5 files):
delete old nqp versions of these files
sella/harness_refactor: 02362b6 | Whiteknight++ | src/tap_harness/ (6 files):
start refactoring the TAP harness using a better MVC architecture.
sella/harness_refactor: 44e7015 | Whiteknight++ | / (8 files):
fixes to the harness. We're now able to run the rosella test suite again, although no tests in the suite are known to fail. not all corner cases are accounted for
sella/harness_refactor: 67de9b0 | Whiteknight++ | / (3 files):
fix it so we report errors correctly