void JIT::unlinkCall(CallLinkInfo* callLinkInfo) { // When the JSFunction is deleted the pointer embedded in the instruction stream will no longer be valid // (and, if a new JSFunction happened to be constructed at the same location, we could get a false positive // match). Reset the check so it no longer matches. reinterpret_cast<void**>(callLinkInfo->hotPathBegin)[-1] = asPointer(JSImmediate::impossibleValue()); }
bool Type::isCString() { if (!resolvesToPointer()) return false; Type *p = asPointer()->getPointsTo(); if (p->resolvesToChar()) return true; if (!p->resolvesToArray()) return false; p = p->asArray()->getBaseType(); return p->resolvesToChar(); }
Vector3D &Vector3D::asRef(float *floatPtr) { return *(asPointer(floatPtr)); }