void JS_FASTCALL stubs::ToId(VMFrame &f) { Value &objval = f.regs.sp[-2]; MutableHandleValue idval = MutableHandleValue::fromMarkedLocation(&f.regs.sp[-1]); JSObject *obj = ValueToObject(f.cx, objval); if (!obj) THROW(); RootedId id(f.cx); if (!FetchElementId(f.cx, obj, idval, id.address(), idval)) THROW(); if (!idval.isInt32()) TypeScript::MonitorUnknown(f.cx, f.script(), f.pc()); }
void JS_FASTCALL stubs::ToId(VMFrame &f) { HandleValue objval = HandleValue::fromMarkedLocation(&f.regs.sp[-2]); MutableHandleValue idval = MutableHandleValue::fromMarkedLocation(&f.regs.sp[-1]); JSObject *obj = ToObjectFromStack(f.cx, objval); if (!obj) THROW(); RootedId id(f.cx); if (!FetchElementId(f.cx, obj, idval, &id, idval)) THROW(); if (!idval.isInt32()) { RootedScript fscript(f.cx, f.script()); TypeScript::MonitorUnknown(f.cx, fscript, f.pc()); } }