use crate::{
Context,
builtins::OrdinaryObject,
vm::opcode::{Operation, VaryingOperand},
};
#[derive(Debug, Clone, Copy)]
pub(crate) struct PushEmptyObject;
impl PushEmptyObject {
#[inline(always)]
pub(crate) fn operation(dst: VaryingOperand, context: &mut Context) {
let o = context
.intrinsics()
.templates()
.ordinary_object()
.create(OrdinaryObject, Vec::default());
context.vm.set_register(dst.into(), o.into());
}
}
impl Operation for PushEmptyObject {
const NAME: &'static str = "PushEmptyObject";
const INSTRUCTION: &'static str = "INST - PushEmptyObject";
const COST: u8 = 1;
}