diff options
author | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2014-05-13 10:02:26 -0400 |
---|---|---|
committer | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2014-05-13 10:02:26 -0400 |
commit | 7b9708a2e3aede6faef04bd546c497dc68264f58 (patch) | |
tree | c49b3779d7a1f2e94fa1d33396c882e3351a4797 /indra/lscript/lscript_execute/lscript_execute.cpp | |
parent | d0eb9658f2698b9c200991e84c1a60be48788e2c (diff) | |
parent | d0ef02c23a7a37c8c9bfe3a86bae88bb811fc9fe (diff) |
sunshine-external merge WIP
Diffstat (limited to 'indra/lscript/lscript_execute/lscript_execute.cpp')
-rwxr-xr-x | indra/lscript/lscript_execute/lscript_execute.cpp | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/indra/lscript/lscript_execute/lscript_execute.cpp b/indra/lscript/lscript_execute/lscript_execute.cpp index b12d2e4a16..5eb7ffc5a9 100755 --- a/indra/lscript/lscript_execute/lscript_execute.cpp +++ b/indra/lscript/lscript_execute/lscript_execute.cpp @@ -35,7 +35,6 @@ #include "lscript_library.h" #include "lscript_heapruntime.h" #include "lscript_alloc.h" -#include "llstat.h" // Static @@ -77,7 +76,7 @@ LLScriptExecuteLSL2::LLScriptExecuteLSL2(LLFILE *fp) S32 pos = 0; if (fread(&sizearray, 1, 4, fp) != 4) { - llwarns << "Short read" << llendl; + LL_WARNS() << "Short read" << LL_ENDL; filesize = 0; } else { filesize = bytestream2integer(sizearray, pos); @@ -86,7 +85,7 @@ LLScriptExecuteLSL2::LLScriptExecuteLSL2(LLFILE *fp) fseek(fp, 0, SEEK_SET); if (fread(mBuffer, 1, filesize, fp) != filesize) { - llwarns << "Short read" << llendl; + LL_WARNS() << "Short read" << LL_ENDL; } fclose(fp); @@ -290,7 +289,7 @@ void LLScriptExecuteLSL2::init() void LLScriptExecuteLSL2::recordBoundaryError( const LLUUID &id ) { set_fault(mBuffer, LSRF_BOUND_CHECK_ERROR); - llwarns << "Script boundary error for ID " << id << llendl; + LL_WARNS() << "Script boundary error for ID " << id << LL_ENDL; } @@ -418,10 +417,13 @@ void LLScriptExecuteLSL2::callEventHandler(LSCRIPTStateEventType event, const LL void LLScriptExecuteLSL2::callQueuedEventHandler(LSCRIPTStateEventType event, const LLUUID &id, F32 time_slice) { S32 major_version = getMajorVersion(); - LLScriptDataCollection* eventdata; - for (eventdata = mEventData.mEventDataList.getFirstData(); eventdata; eventdata = mEventData.mEventDataList.getNextData()) + for (std::list<LLScriptDataCollection*>::iterator it = mEventData.mEventDataList.begin(), end_it = mEventData.mEventDataList.end(); + it != end_it; + ++it) { + LLScriptDataCollection* eventdata = *it; + if (eventdata->mType == event) { // push a zero to be popped @@ -459,7 +461,8 @@ void LLScriptExecuteLSL2::callQueuedEventHandler(LSCRIPTStateEventType event, co S32 opcode_start = get_state_event_opcoode_start(mBuffer, current_state, event); set_ip(mBuffer, opcode_start); - mEventData.mEventDataList.deleteCurrentData(); + delete *it; + mEventData.mEventDataList.erase(it); break; } } @@ -514,7 +517,7 @@ void LLScriptExecuteLSL2::callNextQueuedEventHandler(U64 event_register, const L } else { - llwarns << "Somehow got an event that we're not registered for!" << llendl; + LL_WARNS() << "Somehow got an event that we're not registered for!" << LL_ENDL; } delete eventdata; } @@ -622,7 +625,7 @@ S32 LLScriptExecuteLSL2::writeState(U8 **dest, U32 header_size, U32 footer_size) // registers integer2bytestream(*dest, dest_offset, registers_size); - // llinfos << "Writing CE: " << getCurrentEvents() << llendl; + // LL_INFOS() << "Writing CE: " << getCurrentEvents() << LL_ENDL; bytestream2bytestream(*dest, dest_offset, mBuffer, src_offset, registers_size); // heap @@ -674,11 +677,11 @@ S32 LLScriptExecuteLSL2::readState(U8 *src) // copy data into register area bytestream2bytestream(mBuffer, dest_offset, src, src_offset, size); -// llinfos << "Read CE: " << getCurrentEvents() << llendl; +// LL_INFOS() << "Read CE: " << getCurrentEvents() << LL_ENDL; if (get_register(mBuffer, LREG_TM) != TOP_OF_MEMORY) { - llwarns << "Invalid state. Top of memory register does not match" - << " constant." << llendl; + LL_WARNS() << "Invalid state. Top of memory register does not match" + << " constant." << LL_ENDL; reset_hp_to_safe_spot(mBuffer); return -1; } @@ -4021,7 +4024,7 @@ void lscript_run(const std::string& filename, BOOL b_debug) if (filename.empty()) { - llerrs << "filename is NULL" << llendl; + LL_ERRS() << "filename is NULL" << LL_ENDL; // Just reporting error is likely not enough. Need // to check how to abort or error out gracefully // from this function. XXXTBD @@ -4046,8 +4049,8 @@ void lscript_run(const std::string& filename, BOOL b_debug) F32 time = timer.getElapsedTimeF32(); F32 ips = execute->mInstructionCount / time; - llinfos << execute->mInstructionCount << " instructions in " << time << " seconds" << llendl; - llinfos << ips/1000 << "K instructions per second" << llendl; + LL_INFOS() << execute->mInstructionCount << " instructions in " << time << " seconds" << LL_ENDL; + LL_INFOS() << ips/1000 << "K instructions per second" << LL_ENDL; printf("ip: 0x%X\n", get_register(execute->mBuffer, LREG_IP)); printf("sp: 0x%X\n", get_register(execute->mBuffer, LREG_SP)); printf("bp: 0x%X\n", get_register(execute->mBuffer, LREG_BP)); |