Bytecode notation

t1    load x, R8
t1    incr R8
t2    load x, R9 // Thread 2 loads the value again
t2    incr x, R9
t1    store R8, x // Stores x = 1 into register
t2    store R9, x // Stores x = 1 into register

here load has the variable and then the register. store stores the register back into a value.