On 11/29/06, Xiao-Feng Li <[EMAIL PROTECTED]> wrote:



>Thanks, Robin. This is a very important remainder. In the example code
>I wrote, it is not substituting. Now I realize it might be a good idea
>to make it substituting.  Initially this can be achieved by:

>1. Adding below as the first statement in the Java helper body:

>    p_slot.Store(p_target);

>2. In JIT, the store that incurs write barrier will not emitted. It is
>substituted with the inlined Java helper.


Correct. BTW, does this break GCV4.1, or does it also generate the store in
the helper?

Since I somehow am not a branch predictor fun, I am used to put the
common TRUE case in the branch condition so that the fast path can be
scheduled as fall-through branch automatically by the JIT. This might
be very old and obsolete C programming wisdom. :-)

It has changed so many times across processor + compiler, that it's
impossible for the programmer to get right :-) What does Jitrino expect? It
is easier to just fall in with Jitrino's assumption, and then tune the
jitrino code generation across platforms as needed.

Reply via email to