var A = {x: 3};
var B = Object.create(A);
var C = Object.create(B);
var D = Object.create(C);

function f() {
    for (var i=0; i<30; i++) {
	assertEq(D.x, (i <= 20) ? 3 : 10);
	if (i === 20) {
	    C.__proto__ = {x: 10};
	}
    }
}
f();