Bug 927782 - Part 1: Expose JSScript::getBlockScope(jsbytecode *). r=luke
Bug 927782 - Part 2: Remove HAS_BLOCKCHAIN. r=luke
Bug 927782 - Part 3: Add DEBUGLEAVEBLOCK opcode to invalidate live DebugScopes. r=luke
Bug 927782 - Part 4: Generators allocate all locals on the scope chain. r=luke
Bug 927782 - Part 5: Clean up bytecode generation for catch clauses. r=jorendorff
Bug 927782 - Part 6: Fix for-let nesting so nonlocal exits are easier. r=luke
Bug 927782 - Part 7: Refactor entering and leaving block scopes in BytecodeEmitter. r=luke
Bug 927782 - Part 8: Record block scope ranges more precisely. r=luke
Bug 927782 - Part 9: Fix js_DumpScriptDepth to not abort on unreachable bytecodes. r=luke
Bug 927782 - Part 10: Iterate block chain from compile-time block scope maps, not runtime blockChain. r=luke
Bug 927782 - Part 11: Optimize block scopes without aliased locals. r=luke
Bug 927782 - Part 12: Remove blockChain from StackFrame. r=luke