This is a regression introduced in last 6 hours.
How to reproduce:
- Go to http://reader.google.com
- Make sure Show: Updated is selected
Now the new feeds entries are visible on the right side but the sidebar shows no feed title/count.
Created attachment 22010 [details]
Screenshot showing the issue.
I can confirm that this regresses with r34883.
This only happens when I turn on the optimization for the emitJumpIfFalse from ConditionalNode, but I am not sure why. The optimization should be totally safe. If I reset the last opcode ID at the top of ConditionalNode::emitCode(), the bug is fixed, which seems to suggest that there is a bug in our register ref counting scheme.
The bug is fixed by resetting generator.m_lastOpcodeID between the two calls to generator.emitNode() in CommaNode::emitCode(). At the moment, I am not sure why.
There is never a CommaNode with a ConditionalNode on the right, so the ConditionalNode must be emitted by the first emitNode call for some other node type. I'll dump backtraces of ConditionalNode::emitCode() to try and find it. I need to narrow this down, because so much is put in a CommaNode in the obfuscated Google JS.
I found the problem. I was merging less and jfalse even when the destination of less was a local. I have a fix, but I need to make a layout test.
Created attachment 22012 [details]
I will write some layout tests, but I'll put this up for review first.
Comment on attachment 22012 [details]
r=me with tests
Landed in r34903.