Features in KDE Base
Merge blizzard branch back to trunk (mostly thanks to Harri doing all the hard work!)
This has 3 main changes:
1. Rework label handling. It makes the runtime code much simpler, which should make it easier to implement, uhm, alternate forms of execution. It also fixes some fairly obscure bugs. (Anyone use 2 labels on the same statement? Thought not)
2. Optimizes handling of var statements to take advantage of locals info writes.
(Note that this passes chyde's const testcase but doesn't behave quite the same. OTOH, it should be pretty much identical to mozilla in case when mozilla doesn't barf on stuff when parsing -- and const is a spidermonkey extension, after all)
3. Bring back Reference, in a property-slot integration fashion, supporting operations such as direct/in-place writes. Most importantly, it makes some code much more elegant and consistent, e.g. the ForInNode doesn't copy-paste code from about 4 classes any more.
There should be some measurable but not exciting improvements in performance from this batch of stuff, but I don't want to go lookup the numbers.