Sat, 17 Dec 2005:
Highlights were discussions on libjit.
21:56] rhysw (n=rweather@CPE-149-167-179-155.qld.bigpond.net.au) joined #dotgnu.
[21:56] <t3rmin4t0r> meeting in 8 minutes
[21:57] <rhysw> hi everybody!
[21:57] <t3rmin4t0r> hi doctor ned
[21:57] <rhysw> :)
...
[22:07] <avdicius> so do we have only one jit_cache_method per function ?
[22:07] <rhysw> I believe so
[22:08] <avdicius> So we need to change the misleading comment in jit_cache.c
[22:10] <rhysw> as to the finally/catch question, have a look at
pnet/engine/verify_except.c - it generates the right code for
each block, with the right finally calls. When execution jumps
off the end without a match, it should call
jit_insn_rethrow_unhandled to throw the exception up to the next level.
...
[22:21] <t3rmin4t0r> newl: nope, the ILJITCoder stubs
[22:21] <KlausT> it's build with a configute switch :)
[22:21] <KlausT> configure
[22:22] <KlausT> --enable-jit
[22:22] <newl> neat
...
[22:31] <avdicius> rhysw: ok, thanks. Another question is about copying
1-byte data between memory and register.
[22:32] <avdicius> We could use in this situation only y ax, bx, cx,
and dx registers. The si and di do not work.
[22:34] <rhysw> Use x86_widen_membase to load the value and widen it
to a full word - then you can use any register.
[22:34] <t3rmin4t0r> avdicius: load at COP_BLOAD on unroll.c
Of course, Christmas is in the air ... but a lot different for people involved
[22:40] <rhysw> festivus baby - get out the pole!
[22:40] Action: KlausT wishes there was heat ... it just started to snow
[22:41] <t3rmin4t0r> KlausT: always greener on the other side
[22:41] <KlausT> lol ... yep :)
[22:41] <rhysw> Try sitting through an Aussie Christmas day, with 40C heat, and you'll just love snow!
[22:41] <t3rmin4t0r> and by that I mean, really the other side of the globe
[22:42] <rhysw> as my grandmother used to say: you can always put another
jacket on in winter, but there is only so much you can take off
in summer before you get arrested
[22:43] <scandium> lol
[22:43] <newl> rhysw: you forgot to mention that they're normally held at the beach. :)
[22:43] <avdicius> A few days ago I could not start my car because it was frozen
[22:44] <newl> That's always a good excuse to NOT go to work. :)
Had to quit early for the blug meet and a pretty boy photo (hair oiled up and clean shaven... heh) for my visa ;)
[22:54] <aathitude> i was looking at arrays in dpas
[22:54] <aathitude> the way i am doing it i am ending up using jit_insn_add and jit_insn_mul to compute the effective address
[22:55] <aathitude> the reason is this..
[22:55] <aathitude> jit_insn_load_elem_address uses the type paramter
passed to it
[22:56] <aathitude> for arrays with more than one dimension, sizeof(type)
will not amount to range_size*sizeof(elem_type)
[22:56] <aathitude> is it making sense?
[22:57] <rhysw> yes - multi-dimensional arrays will probably need manual
computation. The load_elem instructions are designed for the
common single-dimension case.
[22:57] <t3rmin4t0r> aathitude: like I said, you've got to calculate
offset = ((index1 * multiplier) + index * multiplier) + base_addr
[22:57] <aathitude> yes thats what i am doing now
[22:57] <t3rmin4t0r> finally, doing a load_elem with the final offset ?
[22:58] <rhysw> t3rmin4t0r: just what I was about to sugest :)
[22:58] <t3rmin4t0r> also there's the part about what to do when bounds
check fails :)
[22:58] <aathitude> that is what i am doing..
[22:58] <t3rmin4t0r> rhysw: when I meet you, I'm going to give you hell
for the Check2DArray in unroll_ptr.c
[22:58] <aathitude> yes bounds failure..
A productive one hour meeting... After a long time. Btw, got contacted by FSF for my christmas present. After all it is the season to give.
--'Tis the season to advertise
-- Calvin
