Parrot 4.4.0 "Banana Fanna Fo Ferret" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 3 June 2012.
dalek rrot/pmc_emitter_document: a608886 | jkeenan++ | lib/Parrot/Pmc2c/Emitter.pm:
pmc2c.pl is in tools/build/, not tools/dev.
01:48
rrot/pmc_emitter_document: e25901d | jkeenan++ | / (2 files):
Update branch with recent config system updates in master.
02:15 alester joined
dalek : 19a40db | jimmy++ | Makefile:
improved Makefile
03:34
kudo/nom: 1b00e64 | moritz++ | src/Perl6/ModuleLoader.pm:
note end of module loading in debug mode
06:31
kudo/nom: 339771a | moritz++ | src/ (2 files):
start to trace module loading in a dynamic variable
kudo/nom: b5d0d37 | moritz++ | src/ (2 files):
enable basic module traces in X::Comp
kudo/nom: f97e562 | moritz++ | src/Perl6/ModuleLoader.pm:
restore GLOBAL if module loading failed
06:32
kudo/nom: 3d9fa49 | moritz++ | src/Perl6/ (2 files):
pass the line number to the module loader
kudo/nom: 22f512d | moritz++ | src/Perl6/ModuleLoader.pm:
add line numbers where module loading occurs
kudo/nom: 7812723 | moritz++ | src/ (3 files):
p6ize module trace in World and pass it to the exception

it almost works, but the hashes seem to get flattend out
kudo/nom: d53986b | moritz++ | src/ (2 files):
itemize hashes in p6ize_recursive; remove debugging output

Now the output looks like I wanted it
kudo/nom: 030721d | moritz++ | src/ (4 files):
Merge branch 'module-trace' into nom
kudo/nom: de72404 | moritz++ | docs/ChangeLog:
note module-trace merge in ChangeLog
06:36 brrt joined 08:10 kjs joined
dalek : e3a093b | jimmy++ | t/obj.m1:
removed t/obj.m1, use t/struct.m1 instead
08:24
08:32 crab2313 joined 08:33 lucian joined
dalek kudo/nom: 684fd2c | moritz++ | src/core/Exception.pm:
tweak module backtrace, masak++
08:52
rrot: e439c14 | isBEKaml++ | / (6 files):
Addresses #280

Copy over all attributes from sysinfo into interpinfo core op. Currently, this is duplicated between sysinfo and interpinfo. We may move these in favour of interpinfo sometime in future deprecating sysinfo.
09:14
rrot: 258e0ef | isBEKaml++ | src/interp/api.c:
First shot at implementing CPU_TYPE

This information is picked out of <sys/utsname.h>, equivalent to `uname
  -m` output. I'm unsure as to what should go in there. Fair warning: it's
not quite portable.
rrot: 329e690 | isBEKaml++ | / (4 files):
CPU_TYPE information is now available for win32

I have not tested this in win32 since I don't have one available. When you get time, please test this and let me know. Particularly, I'm unsure about the type ramifications between WORD and char* (or STRING).
rrot: a1b89a3 | jimmy++ | / (9 files):
Merge pull request #772 from svatsan/b280

Addresses #280
aloha (parrot/parrot) Issues closed : 772 (Addresses #280) by svatsan : github.com/parrot/parrot/issues/772 09:15
09:25 kjs joined 09:26 schm00ster joined 10:30 JimmyZ joined
kjs hi JimmyZ 10:43
JimmyZ hello kjs
kjs thanks for the cleanups!
JimmyZ kjs: you're welcome 10:44
10:51 travis-ci joined
travis-ci [travis-ci] parrot/parrot#421 (master - a1b89a3 : Jimmy Zhuo): The build was broken. 10:51
[travis-ci] Change view : github.com/parrot/parrot/compare/e...b89a3cd01a
[travis-ci] Build details : travis-ci.org/parrot/parrot/builds/1599313
10:51 travis-ci left
dalek rrot: 4a7d8c9 | jimmy++ | src/platform/ (2 files):
fixed build on windows, fixed wrong code
10:52
JimmyZ kjs: looks like m1 will be between C and C++, that's, it's C+ ;) 10:57
kjs JimmyZ: :-) It wont have pointers I think. Not unless M0 starts supporting indirect addressing. 10:58
so in that sense it's a bit like Java.
JimmyZ kjs: Is there any advanced if M0 supports indirect addressing? 10:59
kjs don't know. the advantage would enabling pointers, which as it stands, is impossible I think
well, to do it efficiently anyway 11:00
not sure if we need them. References will do I suppose.
JimmyZ kjs: indirect addressing makes M1 code more efficient or people coding in M1 more efficiently? 11:01
kjs JimmyZ: don't know. not necessarily. 11:02
it prevents a whole lot of bugs anyway, not having pointers .
JimmyZ But I think I'd like to have pointers
kjs why? :-) 11:03
JimmyZ rakudo may want it
kjs Not sure if they're needed. We'll see I suppose
I hope to have parameters implemented by the end of the week. by then M1 will be close to finishing (though much is needed to fix up the holes) 11:04
JimmyZ kjs: I'd like to have macro too :P 11:05
kjs ugh!
JimmyZ macro support will be a big project
JimmyZ thinks 11:06
kjs I don't want macros
JimmyZ or inline function
kjs ugh!
:-)
JimmyZ hehe
kjs well, I'll let someone else do M1++. 11:07
:-)
JimmyZ anyway, I don't like features unless it's a blocker
*like to add 11:08
kjs JimmyZ: there's been quite some discussion on what M1/Mole should look like, about a year ago. The IRC logs are still there.
JimmyZ kjs: github.com/parrot/mole this one? 11:09
kjs well that too I suppose. I meant the IRC logs at...
irclog.perlgeek.de/parrot/ 11:10
11:25 not_gerd joined
not_gerd hello JimmyZ, kjs 11:26
kjs hi not_gerd
JimmyZ hello not_gerd
not_gerd re pointers in m1 - they are probably necessary
the gc and 6model are supposed to be implemented in m1, and they need to be efficient
JimmyZ not_gerd: I'm expecting your new M0! 11:27
not_gerd JimmyZ: well, I did a lot of bikeshedding, but I'm reasonably happy with how the code looks now
so I might get around to actually implementing stuff ;)
kjs not_gerd: at the moment, you cant take the address of a variable, or look into whatever an address points to. So no & and * operators as in C.
as a result, what you end up with is references
JimmyZ not_gerd: great 11:28
not_gerd++
not_gerd kjs: we only need to implement pointers to allocated objects, not variables (assuming these are implemented as registers)
a jit may map m0 registers to hardware registers, so no direct pointers 11:29
kjs that assumption is correct.
JimmyZ not_gerd: Could you give us a vision about the new M0?
kjs not_gerd: at the moment, you can allocate blobs of memories (structs, arrays) and store the address. But the operations that you can do with that address defines the difference between a "pointer" and a "reference". 11:30
not_gerd I believe ops for pointer arithmetics need to be added to the instruction set 11:32
a minimal implementation would be convert_i_p/convert_p_i
kjs not_gerd: yes, I think so too. But not sure if they're actually /needed/.
they are only needed for implementing * and & operators. 11:33
and I'm not sure what effect that has on the JIT-ability.
not_gerd JimmyZ: my vision for my M0 implementation: fix the stuff I mentioned in the pull request, implement direct bytecode access via memory mapping, fix any other stuff that I consider broken as it comes up ;)
kjs afk #lunch 11:35
not_gerd also, I think we do need typed registers, ie each callframe allocation should be accompanied by metadata which provides a mapping from typed registers to m0 register index
the fixed mapping in the spec is not a good idea, imo 11:36
JimmyZ hmm, github.com/parrot/parrot/blob/m0/s...OADMAP#L23 mentioned mapping too : 11:37
not_gerd yes, that was a design goal of m0b from the start 11:38
JimmyZ typed registers? that's what I wanted too. 11:39
I had a branch for it 11:40
not_gerd the C interpreter will have untyped registers, but store the metadata about the register types which a potential JIT compiler could use to map m0 registers to hardware registers
JimmyZ ok 11:41
wfm :P
not_gerd this wastes a bit of space (ie if you have 64-bit integers and 32-bit pointers), but it's a reasonable tradeoff to avoid complexity
JimmyZ yeah. 11:42
JimmyZ hates complexity
not_gerd: how do think thread in m0? 11:45
or in m1?
*think about 11:46
not_gerd we should probably keep close to what nine has been doing 11:47
m0 probably won't care about threads, same as it doesn't care about gc or 6model 11:48
this means we'll likely end up with one m0 interpreter per thread 11:49
not_gerd needs to look after lunch
JimmyZ dinner too
12:02 whiteknight joined 12:04 brrt joined 12:14 whiteknight joined
whiteknight good morning, #parrot 12:15
brrt good afternoon :-) 12:16
12:26 kjs joined
whiteknight hello brrt. How are you doing today? 12:28
brrt well, good enough :-) how are you? 12:29
whiteknight doing well.
brrt I'm at the point of implenting one or the other huge hack
whiteknight what problem are you trying to solve, and what are the hacks? 12:30
brrt the problem is that I need to load the 'loader' parrot programs
currently, mod_parrot.pbc 12:31
the problem is... from where
whiteknight heh
12:31 lucian joined
brrt the most obvious solution is that all loaders are installed alongside the module 12:31
moritz from disc? :-)
brrt from disc is prefered, in fact :-)
so if I install mod_parrot.so in /usr/lib/httpd/modules/, if install mod_parrot.pbc in the same location 12:32
there is nothing really so hard about that
moritz (or anywhere into the module search path, wherever that is)
brrt ah, good point 12:33
at runtime I can get this directory by using ap_server_root_relative() or something,
ServerRoot in this case would be /usr/lib/httpd/ I believe? anyway, appending /modules would end up doing the 'right thing'
but that conflicts with my test setup 12:34
whiteknight Well, you can change the test setup or use an environment variable
brrt because then I must copy mod_parrot.pbc to the /usr/lib/httpd/modules *every time* I test it 12:35
... that is an option, yes
best case scenario, is that I would find the directory from which the modules are loaded
(the changing the test setup part, that is in fact optional) 12:36
the other way to solve it would be to store mod_parrot.pbc (and associated loaders) in the 'natural' search path of the parrot interpreter
but that is hackish because it 'splits' the module apart
whiteknight oi 12:39
brrt .. possibly the best way to fix it is to change my test setup and assume a 'hardcoded' module dir relative to the server root
anyway, i will blog about this, because it is a inelegant hack either way and the community should know about those 12:40
moritz if you need to twist your setup to fit the program's needs, it's a bad sign
falling back to an environment variable would be much nicer for testing 12:41
brrt my point exactly
whiteknight maybe somebody will be able to suggest something nicer
moritz so if that environment variable is set, search there, otherwise in $server_root/modules/
not_gerd msg cotto please let me know if raw.github.com/gerdr/m0/HEAD/README seems reasonable 12:45
aloha OK. I'll deliver the message.
not_gerd bye, #parrot 12:49
12:49 not_gerd left
brrt there is an even better option 12:51
i can set a apache configuration option
ParrotLoaderPath or something
moritz that sounds very good and non-hacky 12:52
12:52 bluescreen joined
brrt it does 12:52
moritz I hope it's not too much effort
brrt a little more than an enviroment variable, but managable non the less 12:53
12:53 PacoAir joined 13:08 Psyche^ joined 13:44 mtk joined 13:50 jashwanth joined 13:59 kjs joined 14:09 JimmyZ joined 14:16 jashwanth joined 14:25 jashwanth joined 14:40 crab2313 joined 14:43 jashwanth joined 14:45 crab2313 joined 15:12 dduncan joined, dduncan left 15:37 dmalcolm joined 15:46 brrt joined 15:54 isBEKaml joined
isBEKaml ~.~, #parrot! 15:55
JimmyZ++ # #772 finally merged! \\o/ though the win32 thing was a bummer - that's what I get if I code and forget at 4am without a windows box. :D 15:57
whiteknight :)
16:07 dngor joined
isBEKaml Did anyone with a 32 bit machine find the same issues I reported here last week? Or is it just me? 16:09
erm, issues with clang auto::va_ptr.
16:36 benabik joined
whiteknight I probably haven't tested on a 32-bit machine since then 16:37
16:43 davidfetter joined 16:49 not_gerd joined 17:28 crab2313_ joined 17:30 contingencyplan joined 18:28 ilbot2 joined
moderator Parrot 4.4.0 "Banana Fanna Fo Ferret" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
18:34 alvis left 18:43 lucian joined, alvis joined 18:56 dngor joined 18:59 not_gerd left
benabik ~~ 19:16
moritz \\o benabik
benabik o/ moritz 19:17
moritz how is gsoc coming along?
dalek website: benabik++ | PACT: Infrastructure
website: www.parrot.org/content/pact-infrastructure
benabik Heh. dalek++ # timing
Pretty well. My planning for last week was thrown off by my mother-in-law showing up, which required some sorting out of the guest/baby room.
Starting to get into the nitty gritty now though, so progress should be more impressive. 19:18
dalek : 16126de | kjs++ | src/ (4 files):
Add profiling flags to makefile. Enter parameters in chunk's symbol table.
19:21
: 07692dd | kjs++ | Makefile:
add flags for profiling to makefile
cotto hio benabik 19:27
benabik o/ cotto 19:28
dalek : 1536c12 | kjs++ | / (3 files):
add a test for params and fix it.
19:30
cotto It's good to see that you've been busy
also, #ps in -1
whiteknight blah, #parrotsketch! 19:31
cotto msg not_gerd After a quick read, I like where you're going. It's great to have multiple people poking holes in M0 and trying to get implementations going. 19:33
aloha OK. I'll deliver the message.
whiteknight ...are we having a #ps meeting now? 19:35
cotto yup
whiteknight oh blah, I misspelled the channel name
19:36 crab2313_ joined 19:55 kjs joined 20:11 lucian joined 20:15 kid51 joined
kid51 checked into dorm at UWM for YAPC ... and next-in-line was pmichaud :-) 20:19
Coke is jealous that work interfered with his plans for YAPC this year. 20:20
20:29 dduncan joined 20:43 dduncan left
davidfetter UWM is about an hour east of madison :P 20:59
<-- UWM alumnus
dalek : e7ca993 | kjs++ | / (6 files):
First go at parameters. Seems to work.
21:04
: bff4dca | kjs++ | t/param.m1:
fix parameter test.
21:06
: 8d4e4bc | kjs++ | src/gencode.c:
remove magic number. only int params work.
21:14
21:15 kurahaupo joined
kid51 tests master in anticipation of merging several branches 21:17
damn, we have a test failing in master 21:19
... as well as codingstd failures
nopaste "kid51" at 70.85.31.226 pasted "t/run/options.t: causes make test to fail" (55 lines) at nopaste.snit.ch/143928 21:22
kid51 Test 27 in t/run/options.t failing (linux/i386) 21:23
I've never seen a failure in this file before.
Anybody know anything about it?
dalek : e8d581d | kjs++ | src/gencode.c:
fix some stuff for types of parameters. not working yet.
21:24
: 7a2a975 | kjs++ | docs/TODO.txt:
that's worth in the list of achievements. update todo with working int params.
21:27
21:30 kurahaupo left, nbrown joined
dalek rrot: f2c651f | jkeenan++ | lib/Parrot/Pmc2c/PMC.pm:
For clarity, distinguish between the emitter for .c files and that for .h
21:36
rrot: 6aa8b68 | jkeenan++ | lib/Parrot/Pmc2c/Emitter.pm:
Correct spelling error.
rrot: 944e742 | jkeenan++ | / (2 files):
Merge branch 'master' of git@github.com:parrot/parrot
rrot: eae31fe | jkeenan++ | / (3 files):
Merge branch 'master' of git@github.com:parrot/parrot
rrot: fa13983 | jkeenan++ | config/auto/icu.pm:
Merge branch 'master' of git@github.com:parrot/parrot
rrot: dd024c5 | jkeenan++ | / (9 files):
Merge branch 'master' of git@github.com:parrot/parrot
rrot: 22e79b8 | jkeenan++ | src/platform/ (2 files):
[codingstd] Fix POD syntax in similar location in two files.
rrot: aefede4 | jkeenan++ | / (3 files):
[codingstd] No trailing whitespace\\!
rrot: 4c74eb8 | jkeenan++ | src/platform/generic/misc.c:
[codingstd] Fix incorrect indentation of preprocessor directive.
rrot: 82dcd8d | jkeenan++ | src/interp/api.c:
[codingstd] Fix non-2 space outdenting.
kid51 rurban: ping 21:39
ttbot Parrot eae31fee i386-linux-thread-multi make error tt.taptinder.org/cmdinfo/89765 21:46
22:22 dngor joined 22:39 whiteknight joined
whiteknight good evening, #parrot 22:42
sorear good evening, whiteknight 22:44
whiteknight hello sorear 22:45
23:35 alvis joined