From e60446b9c1a0f4f48372a36de5b01a2ddb8121e3 Mon Sep 17 00:00:00 2001 From: Jason Sams Date: Thu, 24 Sep 2009 14:55:38 -0700 Subject: Fix invokables to make sure script pointers are setup before invoking function calls. Reduce app startup time up to 1s. --- libs/rs/rsScriptC.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'libs/rs/rsScriptC.cpp') diff --git a/libs/rs/rsScriptC.cpp b/libs/rs/rsScriptC.cpp index 108ae5a911c6..bff337c0b90d 100644 --- a/libs/rs/rsScriptC.cpp +++ b/libs/rs/rsScriptC.cpp @@ -46,6 +46,15 @@ ScriptC::~ScriptC() } } +void ScriptC::setupScript() +{ + for (int ct=0; ct < MAX_SCRIPT_BANKS; ct++) { + if (mProgram.mSlotPointers[ct]) { + *mProgram.mSlotPointers[ct] = mSlots[ct]->getPtr(); + } + } +} + bool ScriptC::run(Context *rsc, uint32_t launchIndex) { @@ -66,12 +75,7 @@ bool ScriptC::run(Context *rsc, uint32_t launchIndex) mEnviroment.mStartTimeMillis = nanoseconds_to_milliseconds(systemTime(SYSTEM_TIME_MONOTONIC)); } - - for (int ct=0; ct < MAX_SCRIPT_BANKS; ct++) { - if (mProgram.mSlotPointers[ct]) { - *mProgram.mSlotPointers[ct] = mSlots[ct]->getPtr(); - } - } + setupScript(); bool ret = false; tls->mScript = this; -- cgit v1.2.3-59-g8ed1b