//@ skip if $buildType != "debug"
//@ crash!
//@ runDefault("--useLLInt=true")

function shouldBe(actual, expected) {
    if (actual !== expected)
        throw new Error('bad value: ' + actual);
}

function dictionary() {
    var object = $vm.createObjectDoingSideEffectPutWithoutCorrectSlotStatus();
    for(var i = 0; i < 66; i++)
        object['p'+i] = i;
    return object;
}

function putter(o) {
    o._unsupported = not_string;
}

var d;
var not_string = {
    toString() {
        for(var i = 3; i < 66; i++)
            delete d['p'+i];
        for(i in Object.create(d));
        return null;
    }
};

for (var i = 0; i < 100; ++i) {
    d = dictionary();
    putter(d);
    shouldBe('p3' in d, false);
}
