Status: Accepted
Owner: [email protected]
CC: [email protected]
Labels: Type-Bug Priority-High HW-All

New issue 1164 by [email protected]: LInstanceOfAndBranch is dead code on all platforms
http://code.google.com/p/v8/issues/detail?id=1164

The instruction HInstanceOf has "SetAllSideEffects()" in its constructor, and overrides virtual EmitAtUses with !HasSideEffects() && ...

So EmitAtUses is never true, and HTest(HInstanceOf) never turns into
LInstanceOfAndBranch.

This was caused by change r6742, which probably made other LxxxxxAndBranch instructions dead code as well.

The solution is either that SetAllSideEffects is wrong on these HInstructions, which are commonly used in tests, or else that merging one of these HInstructions with the subsequent test is less general than an arbitrary move, and the side effects don't prevent this merge.


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

Reply via email to