void FuncInfo::Dump() { Output::Print(_u("FuncInfo: CallsEval:%s ChildCallsEval:%s HasArguments:%s HasHeapArguments:%s\n"), IsTrueOrFalse(this->GetCallsEval()), IsTrueOrFalse(this->GetChildCallsEval()), IsTrueOrFalse(this->GetHasArguments()), IsTrueOrFalse(this->GetHasHeapArguments())); }
void DynamicTypeHandler::TraceUseFixedProperty(PropertyRecord const * propertyRecord, Var * pProperty, bool result, LPCWSTR typeHandlerName, ScriptContext * requestContext) { LPCWSTR fixedPropertyResultType = nullptr; bool log = false; if (pProperty && *pProperty && ((Js::JavascriptFunction::Is(*pProperty) && (PHASE_VERBOSE_TRACE1(Js::FixedMethodsPhase) || PHASE_VERBOSE_TESTTRACE1(Js::FixedMethodsPhase))) || ((PHASE_VERBOSE_TRACE1(Js::UseFixedDataPropsPhase) || PHASE_VERBOSE_TESTTRACE1(Js::UseFixedDataPropsPhase))) )) { if(*pProperty == nullptr) { fixedPropertyResultType = _u("null"); } else if (Js::JavascriptFunction::Is(*pProperty)) { fixedPropertyResultType = _u("function"); } else if (TaggedInt::Is(*pProperty)) { fixedPropertyResultType = _u("int constant"); } else { fixedPropertyResultType = _u("Var"); } log = true; } if(log) { Output::Print(_u("FixedFields: attempt to use fixed property %s, which is a %s, from %s returned %s.\n"), propertyRecord->GetBuffer(), fixedPropertyResultType, typeHandlerName, IsTrueOrFalse(result)); if (this->HasSingletonInstance() && this->GetSingletonInstance()->Get()->GetScriptContext() != requestContext) { Output::Print(_u("FixedFields: Cross Site Script Context is used for property %s. \n"), propertyRecord->GetBuffer()); } Output::Flush(); } }