Status: Accepted
Owner: [email protected]
Labels: Type-Bug Priority-High
New issue 1033 by [email protected]: Register allocator bug in
parallel moves
http://code.google.com/p/v8/issues/detail?id=1033
(1) When resolving a cycle of double operands, we use register xmm0 as a
scratch register to break the cycle. (2) When performing a double
memory-to-memory move we use register xmm0 to perform the move.
We thus can't support double cycles involving even a single a
memory-to-memory move (unless we happen to break the cycle right exactly at
that move). If we hit such a cycle, one of the operands will get the wrong
value.
This code path is not covered by our tests but it can be reproduced by
Kraken's imaging-darkroom benchmark. (The benchmark itself doesn't test
it's result, but it hits the code path in question.)
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev