michael@0: // throw, don't crash michael@0: michael@0: var actual = ""; michael@0: michael@0: try { michael@0: michael@0: (x = Proxy.createFunction((function() { michael@0: return { michael@0: defineProperty: function(name, desc) { michael@0: Object.defineProperty(x, name, desc) michael@0: }, michael@0: } michael@0: })(), (eval))); michael@0: Object.defineProperty(x, "", ({ michael@0: get: function() {} michael@0: })) michael@0: michael@0: } catch (e) { michael@0: actual = '' + e; michael@0: } michael@0: michael@0: assertEq(actual, "InternalError: too much recursion");