Status: New
Owner: ----

New issue 1510 by [email protected]: Missing range analysis for logical shift

http://code.google.com/p/v8/issues/detail?id=1510

Generated code consuming >>> is less efficient because the range analysis does nothing special and fails to see the result is often a Smi.

Conservative range arithmetic:

Shr([a, b], unknown-shift-count)
  = [0, b] if a >= 0
  = [a, 0x7fffffff] if a < 0

For known shift counts:

Shr([a, b], 0) = [a, b]
Shr([a, b], k) = [a>>>k, b>>>k] if a>=0
Shr([a, b], k) = [0, 0xffffffff >>> k] if a<0


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to