diff --git a/src/jsc/JavaScriptContext.cpp b/src/jsc/JavaScriptContext.cpp index b5ce3e6..a0af753 100644 --- a/src/jsc/JavaScriptContext.cpp +++ b/src/jsc/JavaScriptContext.cpp @@ -62,8 +62,6 @@ static AAMPJSBindings* gAAMPJSBindings = nullptr; //BIG CHANGE extern void functionLoadModule(JSGlobalContextRef ref, JSObjectRef globalObjectRef, char* buffer, int len, char* name); -static const char* envValue = std::getenv("NATIVEJS_DUMP_NETWORKMETRIC"); - JSContextGroupRef globalContextGroup() { static JSContextGroupRef gGroupRef = JSContextGroupCreate(); @@ -134,13 +132,17 @@ void JavaScriptContext::loadAAMPJSBindingsLib() if (nullptr == gAAMPJSBindings->PlayerLibHandle) { static const char *aampJSBindingsLib = "libaampjsbindings.so"; + // This is required for NativeJS Plugin + #if 0 static const char *jscLib = "libJavaScriptCore.so"; jscLibHandle = dlopen(jscLib, RTLD_NOW | RTLD_GLOBAL); if (!jscLibHandle) { std::cout<<"dlopen error for jsc library " << dlerror() << std::endl; } - void *aampJSBindingsLibHandle = dlopen(aampJSBindingsLib, RTLD_NOW | RTLD_GLOBAL); + #endif + + void *aampJSBindingsLibHandle = dlopen(aampJSBindingsLib, RTLD_NOW | RTLD_GLOBAL); if (aampJSBindingsLibHandle) { gAAMPJSBindings->PlayerLibHandle = aampJSBindingsLibHandle; @@ -165,7 +167,7 @@ void JavaScriptContext::unloadAAMPJSBindingsLib() if (nullptr != gAAMPJSBindings->PlayerLibHandle) { dlclose(gAAMPJSBindings->PlayerLibHandle); - dlclose(jscLibHandle); + //dlclose(jscLibHandle); } } @@ -481,9 +483,7 @@ void JavaScriptContext::onMetricsData (NetworkMetrics *net) rtString key = net->url; mNetworkMetricsData->set(key, rtValue((void *)net)); - if (envValue) { - dumpNetworkMetricData(net, this->getUrl()); - } + dumpNetworkMetricData(net, this->getUrl()); } void JavaScriptContext::dumpNetworkMetricData(NetworkMetrics *metrics, std::string appUrl) diff --git a/src/jsc/JavaScriptEngine.cpp b/src/jsc/JavaScriptEngine.cpp index 24069d1..bafd1d7 100644 --- a/src/jsc/JavaScriptEngine.cpp +++ b/src/jsc/JavaScriptEngine.cpp @@ -194,6 +194,7 @@ void JavaScriptEngine::collectGarbage() { if (gTopLevelContext) { - JSSynchronousGarbageCollectForDebugging(gTopLevelContext); + //JSSynchronousGarbageCollectForDebugging(gTopLevelContext); + JSGarbageCollect(gTopLevelContext); } } diff --git a/src/jsc/JavaScriptUtils.cpp b/src/jsc/JavaScriptUtils.cpp index 6ac3397..60dc124 100644 --- a/src/jsc/JavaScriptUtils.cpp +++ b/src/jsc/JavaScriptUtils.cpp @@ -68,6 +68,7 @@ std::thread::id gMainThreadId; static std::list> gPendingFun; static std::mutex gDispatchMutex; +static const char* envValue = std::getenv("NATIVEJS_DUMP_NETWORKMETRIC"); struct TimeoutInfo { @@ -232,7 +233,7 @@ class rtHttpRequestEx : public rtHttpRequest resp->setHeaders(downloadRequest->headerData(), downloadRequest->headerDataSize()); resp->setDownloadedData(downloadRequest->downloadedData(), downloadRequest->downloadedDataSize()); - if (mMetricsListener) + if (mMetricsListener && envValue) { rtLogWarn("metriclistener"); NetworkMetrics *metrics = new NetworkMetrics();