PersistentValue::PersistentValue(const ValueRef val)
    : d(new PersistentValuePrivate(val.asReturnedValue()))
{
}
WeakValue::WeakValue(const ValueRef val)
    : d(new PersistentValuePrivate(val.asReturnedValue(), /*engine*/0, /*weak*/true))
{
}