On Oct 7, 2005, at 20:52, Andy Dougherty wrote:

perl Configure.pl --optimize=-O3 --debugging=0 --cc=gcc --ld=gcc --link=gcc

...
Andy slowly please. No --optimize tests yet. Let's first look at plain default build.

Intel x86/gcc-3.3.5, built with
        perl Configure.pl --optimize=-O0 --debugging=0

This seems to be w/o optimizations.

Failed 2/167 test scripts, 98.80% okay. 3/2749 subtests failed, 99.89% okay.
Failed Test         Stat Wstat Total Fail  Failed  List of Failed
----------------------------------------------------------------------- --------
imcc/t/syn/labels.t    1   256     7    1  14.29%  3
t/op/jit.t             2   512    60    2   3.33%  52-53
 (1 subtest UNEXPECTEDLY SUCCEEDED), 4 tests and 98 subtests skipped.
make: *** [test] Error 255

The 2 jit tests don't have an 'end' opcode and rely on nullified I regs - quite clearly these can fail. The labels test has the same problem. I'll fix these RSN.

One thing I really don't understand is why the CONTEXT macro has to play
the "-1" trick to access memory to the "left".

There is currently just one base pointer (praise x86 jit). Parrot registers are to the right of it, context is at the left side (src/inter_create.c has a picture describing this).

Similarly, I don't
understand why the ALIGNED_CTX_SIZE macro has a NUMVAL_SIZE buried in it,
and how that fits in with attempting to do things like p[-1].

Context + registers are allocated as one chunk. Registers especially the FLOATVAL ones have to be aligned at FLOATVAL alignment needs. Therefore there can be a gap between the context and the registers. Above macro takes care about this fact by increasing the allocation size.

I guess I
just don't understand what padding assumptions are built in to the code
and why we can't let the compiler compute all the relevant addresses and
offsets for us.

I don't think that current failures are related to this at all - see explanation for above errors. It's of course true that optimized build will cause more troubles, but we'll have a look at these later.

leo

Reply via email to