Running nashorn with --log=recompile (at info level) already unnecessarily verbose. Now we also get log of the form [recompile] Parameter type specialization of 'L:752$Finally$Finally' signature: (Object,Object,Object)Object [recompile] Looking up 'L:752$Finally$Finally' type=(ScriptFunction,Object,Object)Object [recompile] Looking up 'L:752$Finally$Finally' type=(ScriptFunction,Object,Object)Object [recompile] Parameter type specialization of 'L:752$TryFinally$TryFinally' signature: (Object,Object,Object,Object)Object [recompile] Looking up 'L:752$TryFinally$TryFinally' type=(ScriptFunction,Object,Object,Object)Object [recompile] Looking up 'L:752$TryFinally$TryFinally' type=(ScriptFunction,Object,Object,Object)Object [recompile] Parameter type specialization of 'L:6526$Parser$parseObjectType' signature: (Object,Object,Object,Object)Object [recompile] Looking up 'L:6526$Parser$parseObjectType' type=(ScriptFunction,Object,Object,Object)Object [recompile] Looking up 'L:6526$Parser$parseObjectType' type=(ScriptFunction,Object,Object,Object)Object [recompile] Parameter type specialization of 'L:752$Label$Label' signature: (Object,Object,Object)Object [recompile] Looking up 'L:752$Label$Label' type=(ScriptFunction,Object,Object)Object [recompile] Looking up 'L:752$Label$Label' type=(ScriptFunction,Object,Object)Object [recompile] Parameter type specialization of 'L:752$LabeledStatement$LabeledStatement' signature: (Object,Object,Object,Object)Obje Which seems redundant. Just eyeballing the code doesn't tell me why this is so.