[ https://issues.apache.org/jira/browse/HARMONY-6137?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12695286#action_12695286
]
Egor Pasko commented on HARMONY-6137:
-------------------------------------
hm, works for me as expected on linux_x86_gcc_debug.
> [drlvm][concurrent] AtomicLong compare and swap returning wrong indicator
> -------------------------------------------------------------------------
>
> Key: HARMONY-6137
> URL: https://issues.apache.org/jira/browse/HARMONY-6137
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: Linux, r761319
> Reporter: Tim Ellison
>
> Consider the following code that exercises AtomLong compare and swap operations:
> AtomicLong atomLong = new AtomicLong(1);
> System.out.println(atomLong.get());
> System.out.println("CAS 1,-4 = " + atomLong.compareAndSet(1, -4));
> System.out.println(atomLong.get());
> System.out.println("CAS -5,1 = " + atomLong.compareAndSet(-5, 1));
> System.out.println(atomLong.get());
> I expect it to print out:
> 1
> CAS 1,-4 = true
> -4
> CAS -5,1 = false
> -4
> Since the comparison of --4 and -5 fails.
> However when running that code on harmony r761319 I see
> 1
> CAS 1,-4 = true
> -4
> CAS -5,1 = true
> -4
> i.e. the swap is not done, but the method returned true as though it had done the swap.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
|