Better debugging for scripts.
Change-Id: I916cea86dcfdb43a9465708ea4a16f19cbe42370
diff --git a/rs.spec b/rs.spec
index 31d70c7..21cbc50 100644
--- a/rs.spec
+++ b/rs.spec
@@ -354,10 +354,6 @@
}
-ScriptCSetScript {
- param void * codePtr
- }
-
ScriptCSetText {
param const char * text
param uint32_t length
diff --git a/rsScriptC.cpp b/rsScriptC.cpp
index cbc5df9..4b484b1 100644
--- a/rsScriptC.cpp
+++ b/rsScriptC.cpp
@@ -67,12 +67,15 @@
ptr = mSlots[ct]->getPtr();
}
void **dest = ((void ***)mEnviroment.mFieldAddress)[ct];
- //LOGE("setupScript %i %p = %p %p %i", ct, dest, ptr, mSlots[ct]->getType(), mSlots[ct]->getType()->getDimX());
- //const uint32_t *p32 = (const uint32_t *)ptr;
- //for (uint32_t ct2=0; ct2 < mSlots[ct]->getType()->getDimX(); ct2++) {
- //LOGE(" %i = 0x%08x ", ct2, p32[ct2]);
- //}
+ if (rsc->props.mLogScripts) {
+ LOGV("%p ScriptC::setupScript slot=%i dst=%p src=%p type=%p", rsc, ct, dest, ptr, mSlots[ct]->getType());
+
+ //const uint32_t *p32 = (const uint32_t *)ptr;
+ //for (uint32_t ct2=0; ct2 < mSlots[ct]->getType()->getDimX(); ct2++) {
+ //LOGE(" %i = 0x%08x ", ct2, p32[ct2]);
+ //}
+ }
if (dest) {
*dest = ptr;
@@ -136,10 +139,18 @@
uint32_t ret = 0;
Script * oldTLS = setTLS(this);
- //LOGE("ScriptC::run %p", mProgram.mRoot);
+
+ if (rsc->props.mLogScripts) {
+ LOGV("%p ScriptC::run invoking root, ptr %p", rsc, mProgram.mRoot);
+ }
+
ret = mProgram.mRoot();
+
+ if (rsc->props.mLogScripts) {
+ LOGV("%p ScriptC::run invoking complete, ret=%i", rsc, ret);
+ }
+
setTLS(oldTLS);
- //LOGE("ScriptC::run ret %i", ret);
return ret;
}
@@ -325,8 +336,14 @@
setupScript(rsc);
Script * oldTLS = setTLS(this);
+ if (rsc->props.mLogScripts) {
+ LOGV("%p ScriptC::Invoke invoking slot %i, ptr %p", rsc, slot, mEnviroment.mInvokeFunctions[slot]);
+ }
((void (*)(const void *, uint32_t))
mEnviroment.mInvokeFunctions[slot])(data, len);
+ if (rsc->props.mLogScripts) {
+ LOGV("%p ScriptC::Invoke complete", rsc);
+ }
setTLS(oldTLS);
}
@@ -377,7 +394,7 @@
void ScriptCState::runCompiler(Context *rsc, ScriptC *s)
{
- LOGV("ScriptCState::runCompiler ");
+ LOGV("%p ScriptCState::runCompiler ", rsc);
s->mBccScript = bccCreateScript();
s->mEnviroment.mIsThreadable = true;
@@ -386,7 +403,7 @@
bccCompileScript(s->mBccScript);
bccGetScriptLabel(s->mBccScript, "root", (BCCvoid**) &s->mProgram.mRoot);
bccGetScriptLabel(s->mBccScript, "init", (BCCvoid**) &s->mProgram.mInit);
- LOGV("root %p, init %p", s->mProgram.mRoot, s->mProgram.mInit);
+ LOGV("%p ScriptCState::runCompiler root %p, init %p", rsc, s->mProgram.mRoot, s->mProgram.mInit);
if (s->mProgram.mInit) {
s->mProgram.mInit();
@@ -407,9 +424,6 @@
s->mEnviroment.mFieldAddress = (void **) calloc(s->mEnviroment.mFieldCount, sizeof(void *));
bccGetExportVars(s->mBccScript, NULL, s->mEnviroment.mFieldCount, (BCCvoid **) s->mEnviroment.mFieldAddress);
}
- //for (int ct2=0; ct2 < s->mEnviroment.mFieldCount; ct2++ ) {
- //LOGE("Script field %i = %p", ct2, s->mEnviroment.mFieldAddress[ct2]);
- //}
s->mEnviroment.mFragment.set(rsc->getDefaultProgramFragment());
s->mEnviroment.mVertex.set(rsc->getDefaultProgramVertex());
@@ -491,13 +505,6 @@
ss->clear();
}
-void rsi_ScriptCSetScript(Context * rsc, void *vp)
-{
- rsAssert(0);
- //ScriptCState *ss = &rsc->mScriptC;
- //ss->mProgram.mScript = reinterpret_cast<ScriptC::RunScript_t>(vp);
-}
-
void rsi_ScriptCSetText(Context *rsc, const char *text, uint32_t len)
{
ScriptCState *ss = &rsc->mScriptC;