--- old/src/jdk/nashorn/internal/codegen/CodeGenerator.java 2014-06-03 15:48:31.420050753 +0530 +++ new/src/jdk/nashorn/internal/codegen/CodeGenerator.java 2014-06-03 15:48:31.200049666 +0530 @@ -1500,7 +1500,9 @@ method.dup(); if (protoNode != null) { load(protoNode); - method.invoke(ScriptObject.SET_PROTO_CHECK); + // take care of { __proto__: 34 } or some such! + method.convert(Type.OBJECT); + method.invoke(ScriptObject.SET_PROTO_FROM_LITERAL); } else { globalObjectPrototype(); method.invoke(ScriptObject.SET_PROTO);