On 6/14/19 5:44 PM, Jean Christophe Beyler wrote:
Hi Daniil,

Looks good to me to :-)

FWIW, it seems like:
opto/library_call.cpp:    if (!C->too_many_traps(trap_method, trap_bci, Deoptimization::Reason_intrinsic) &           !C->too_many_traps(trap_method, trap_bci, Deoptimization::Reason_null_check)) {

could also be fixed, but perhaps that is a different webrev.

Thank you for the catch, Jc!
I've filed a separate bug:
  https://bugs.openjdk.java.net/browse/JDK-8226198
   use of & instead of && in LibraryCallKit::arraycopy_restore_alloc_state

Thanks,
Serguei


Thanks!
Jc

On Fri, Jun 14, 2019 at 5:14 PM Alex Menkov <[email protected] <mailto:[email protected]>> wrote:

    +1

    --alex

    On 06/14/2019 17:01, [email protected]
    <mailto:[email protected]> wrote:
    > Hi Daniil,
    >
    > Great discovery!
    > The fix looks good to me.
    >
    > Thanks,
    > Serguei
    >
    >
    > On 6/14/19 4:56 PM, Daniil Titov wrote:
    >> Please review the change that fixes an intermittent issue.
    >>
    >> The problem here is that a bitwise-AND (&) operator was used in
    the
    >> condition instead of a logical AND operator (&&).
    >> As a result pending_thread->is_thread_fully_suspended() is always
    >> evaluated regardless of the value of at_safepoint variable.
    >>
    >> Webrev: http://cr.openjdk.java.net/~dtitov/8217348/webrev.01/
    <http://cr.openjdk.java.net/%7Edtitov/8217348/webrev.01/>
    >> Bug: https://bugs.openjdk.java.net/browse/JDK-8217348
    >>
    >> Thanks!
    >> --Daniil
    >>
    >>
    >



--

Thanks,
Jc

Reply via email to