michael@0: var g = true; michael@0: michael@0: function getown(name) michael@0: { michael@0: if (g) michael@0: return { value: 8, enumerable: true, writable: false, configurable: true }; michael@0: } michael@0: michael@0: var p = Proxy.create( { getPropertyDescriptor: getown } ); michael@0: var o2 = Object.create(p); michael@0: michael@0: function test(x, expected) { michael@0: for (var i=0; i<3; i++) { michael@0: var v = x.hello; michael@0: if (g) assertEq(v, 8); michael@0: } michael@0: } michael@0: michael@0: g = false michael@0: test(o2); michael@0: g = true; michael@0: test(o2);