As soon as I see the code, I suspected not specifiying cancel volitile will be the issue, in JVM it is very risky to rely on side effects of other instructions.
What... ?!? ... no thumbs down yet? ... let me help ya.... ;-) Nah - just kidding - this video deserves a fat thumbs UP ! :-D BTW the language D is also a low level programming language and it's super-well designed too! Looking forward to compile D to LLVM and call it from Java in the GraalVM !
Excellent talk. Really enjoyed it. Why do you say it improved performance though? GAS will always do an unconditional write so comparatively it should be a teeny tiny bit slower, no?
Love the presentation style. Always showing just the information we need and nothing else that can distract from our attention.
Awesome talk, I want to send it to my Architecture prof from school.
Brilliant solution
Great talk
at 17:45 I think thread 3 may also see a == 2.
I agree -- I think println(1), println(2), or no console output are all valid program outputs. println(0) is not valid
Very interesting talk, and very non trivial issue.
Amazing! Thank you for the talk!
Freak'n awesome story... what an adventure...
Awesome talk, thank you¡
As soon as I see the code, I suspected not specifiying cancel volitile will be the issue, in JVM it is very risky to rely on side effects of other instructions.
What... ?!? ... no thumbs down yet? ... let me help ya.... ;-) Nah - just kidding - this video deserves a fat thumbs UP ! :-D
BTW the language D is also a low level programming language and it's super-well designed too! Looking forward to compile D to LLVM and call it from Java in the GraalVM !
Excellent talk. Really enjoyed it. Why do you say it improved performance though? GAS will always do an unconditional write so comparatively it should be a teeny tiny bit slower, no?
As long as you don't read it sooner the propagation of the write can happen while other instructions are processed.
JVM the worst thing that could ever happen to humanity, right after C++