JS bytecode executable "" [ 0] 0: GetLexicalEnvironment dst:reg4 [ 8] GetGlobal dst:reg6, identifier:console [ 18] GetById dst:reg7, base:reg6, property:log, base_identifier:console [ 30] GetGlobal dst:reg9, identifier:classWithName [ 40] Call dst:reg8, callee:reg9, this_value:Undefined, classWithName [ 60] Call dst:reg5, callee:reg7, this_value:reg6, console.log, arguments:[reg8] [ 88] End value:reg5 JS bytecode executable "classWithName" [ 0] 0: GetLexicalEnvironment dst:reg4 [ 8] CreateLexicalEnvironment dst:reg5, parent:reg4, capacity:0 [ 18] CreateVariable identifier:Foo, is_immutable:true, is_global:false, is_strict:false [ 28] SetLexicalEnvironment environment:reg4 [ 30] NewClass dst:C~0, class_environment:reg5, element_keys:[element_keys:String("method")] [ 60] Mov dst:reg7, src:C~0 [ 70] CallConstruct dst:reg6, callee:reg7, C [ 88] GetById dst:reg7, base:reg6, property:method [ a0] Call dst:reg5, callee:reg7, this_value:reg6, .method [ c0] StrictlyEquals dst:reg7, lhs:reg5, rhs:C~0 [ d0] Return value:reg7 JS bytecode executable "Foo" [ 0] 0: GetLexicalEnvironment dst:reg4 [ 8] End value:Undefined JS bytecode executable "method" [ 0] 0: GetLexicalEnvironment dst:reg4 [ 8] GetBinding dst:reg5, identifier:Foo [ 20] Return value:reg5 true