final long s0 = this.s0;
long s1 = this.s1;
final long result = s0 + s1;
s1 ^= s0;
this.s0 = Long.rotateLeft(s0, 24) ^ s1 ^ s1 << 16;
this.s1 = Long.rotateLeft(s1, 37);
return result;
Does copying the fields onto the stack sever the dependency on the other operations; basically allowing the method to return while the next values are computed in the 'background' using instruction level parallelism?