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