Patch in JIRA issue is update. Comment for hythread_exception_safe_point()
function is added.

On 20/03/07, Weldon Washburn <[EMAIL PROTECTED]> wrote:

This makes sense.  Can you add the below as a comment in the code?  I
tried
to clean it up and make it clearer.  Since this is tricky code, feel free
to
add even more comments.

On 3/19/07, Pavel Rebriy <[EMAIL PROTECTED]> wrote:
>
> There is a contract between disable_count value and Java code execution:
> during Java code execution disable_count should be equal to 1. It means
> that
> garbage collection


while in native code can only take place when the native code makes
disable_count equal to zero.  To do this, the native code must guarantee
that the GC is able to see all live references the native code is working
with.  And that the native code will not read/write live references while
disable_count is equal to zero.  This happens


>  within suspension safe points or
> within VM helpers.
>
> Execution of safepoint callback function could call Java code.


If this happens,

disable_count

must

be set to 1 before callback function execution.

Field disable_count cannot be changed by another thread. It value changes
only by the same thread. So there is no race condition or separate usage
in
setting disable_count to 1.

On 19/03/07, Weldon Washburn <[EMAIL PROTECTED]> wrote:
>
> Pavel,
>
> The code in this patch looks much better than the original code.  Thanks
> for
> focusing on cleaning this code up.
>
> A question about the use of  the disable_count field in struct
hythread_t.
> I notice in hythread_exception_safe_point() that the old value of this
> field
> is saved.  The field is then specifically set to a value of one and once
> the
> exception callback is processed, the field is returned to its original
> value.  Is this a case where disable_count is actually be overloaded
with
> another use?  Would it make sense to split the two uses into two
seperate,
> distinct fields??
>
> --
> Weldon Washburn
> Intel Enterprise Solutions Software Division
>



--
Best regards,
Pavel Rebriy




--
Weldon Washburn
Intel Enterprise Solutions Software Division




--
Best regards,
Pavel Rebriy

Reply via email to