|
Pol
Revision:cb584c9
|
#include <script_internals.h>
Inheritance diagram for Pol::Core::ScriptScheduler:Classes | |
| struct | Memory |
Public Member Functions | |
| ScriptScheduler () | |
| ~ScriptScheduler () | |
| void | deinitialize () |
| void | enqueue (UOExecutor *exec) |
| Memory | estimateSize () const |
| bool | find_exec (unsigned int pid, UOExecutor **exec) |
| void | free_pid (unsigned int pid) |
| unsigned int | get_new_pid (UOExecutor *exec) |
| const HoldList & | getHoldlist () |
| const NoTimeoutHoldList & | getNoTimeoutHoldlist () |
| const PidList & | getPidlist () |
| const ExecList & | getRanlist () |
| const ExecList & | getRunlist () |
| void | revive_debugged (UOExecutor *exec) |
| void | revive_notimeout (UOExecutor *exec) |
| void | revive_timeout (UOExecutor *exec, TimeoutHandle hold_itr) |
| void | run_ready () |
| void | schedule (UOExecutor *exec) |
Public Attributes | |
| int | priority_divide |
| ScriptStorage | scrstore |
Static Public Attributes | |
| static const unsigned int | PID_MIN = 0x01000000 |
Private Attributes | |
| NoTimeoutHoldList | debuggerholdlist |
| HoldList | holdlist |
| unsigned int | next_pid |
| NoTimeoutHoldList | notimeoutholdlist |
| PidList | pidlist |
| ExecList | ranlist |
| ExecList | runlist |
Definition at line 27 of file script_internals.h.
| Pol::Core::ScriptScheduler::ScriptScheduler | ( | ) |
Definition at line 25 of file script_internals.cpp.
| Pol::Core::ScriptScheduler::~ScriptScheduler | ( | ) |
Definition at line 38 of file script_internals.cpp.
| void Pol::Core::ScriptScheduler::deinitialize | ( | ) |
Definition at line 44 of file script_internals.cpp.
References debuggerholdlist, Pol::Clib::delete_all(), holdlist, notimeoutholdlist, runlist, and scrstore.
Referenced by Pol::Core::GameState::cleanup_scripts().
|
inline |
Definition at line 134 of file script_internals.h.
References runlist.
Referenced by revive_debugged(), revive_notimeout(), revive_timeout(), and schedule().
| ScriptScheduler::Memory Pol::Core::ScriptScheduler::estimateSize | ( | ) | const |
Definition at line 65 of file script_internals.cpp.
References debuggerholdlist, holdlist, notimeoutholdlist, pidlist, ranlist, runlist, Pol::Core::ScriptScheduler::Memory::script_count, Pol::Core::ScriptScheduler::Memory::script_size, Pol::Core::ScriptScheduler::Memory::scriptstorage_count, Pol::Core::ScriptScheduler::Memory::scriptstorage_size, and scrstore.
Referenced by Pol::Core::MemoryUsage::log().
| bool Pol::Core::ScriptScheduler::find_exec | ( | unsigned int | pid, |
| UOExecutor ** | exec | ||
| ) |
Definition at line 308 of file script_internals.cpp.
References pidlist.
Referenced by Pol::Core::find_uoexec().
|
inline |
Definition at line 139 of file script_internals.h.
References pidlist, and Pol::Core::scriptScheduler.
Referenced by Pol::Module::freepid().
| unsigned int Pol::Core::ScriptScheduler::get_new_pid | ( | UOExecutor * | exec | ) |
Definition at line 287 of file script_internals.cpp.
References next_pid, PID_MIN, and pidlist.
Referenced by Pol::Module::getnewpid().
|
inline |
Definition at line 103 of file script_internals.h.
References holdlist.
Referenced by Pol::Core::calc_script_clocksleft(), Pol::Core::check_blocked(), Pol::Module::GetAllScriptList(), Pol::Module::OSExecutorModule::mf_performance_diff(), and Pol::Core::textcmd_procs().
|
inline |
Definition at line 107 of file script_internals.h.
References notimeoutholdlist.
Referenced by Pol::Core::check_blocked(), Pol::Module::GetAllScriptList(), and Pol::Module::OSExecutorModule::mf_performance_diff().
|
inline |
Definition at line 111 of file script_internals.h.
References pidlist.
Referenced by Pol::Core::DebugContext::cmd_pidlist().
|
inline |
Definition at line 95 of file script_internals.h.
References ranlist.
Referenced by Pol::Module::GetAllScriptList(), Pol::Module::GetRunningScriptList(), Pol::Core::list_crit_scripts(), Pol::Core::list_scripts(), and Pol::Module::OSExecutorModule::mf_performance_diff().
|
inline |
Definition at line 99 of file script_internals.h.
References runlist.
Referenced by Pol::Core::calc_script_clocksleft(), Pol::Module::GetAllScriptList(), Pol::Module::GetRunningScriptList(), Pol::Core::list_crit_scripts(), Pol::Core::list_scripts(), Pol::Module::OSExecutorModule::mf_performance_diff(), Pol::Core::step_scripts(), Pol::Core::textcmd_procs(), and Pol::Core::update_sysload().
|
inline |
Definition at line 116 of file script_internals.h.
References debuggerholdlist, and enqueue().
Referenced by Pol::Module::OSExecutorModule::revive_debugged().
|
inline |
Definition at line 128 of file script_internals.h.
References enqueue(), and notimeoutholdlist.
Referenced by Pol::Module::OSExecutorModule::revive().
|
inline |
Definition at line 122 of file script_internals.h.
References enqueue(), and holdlist.
Referenced by Pol::Module::OSExecutorModule::revive().
| void Pol::Core::ScriptScheduler::run_ready | ( | ) |
Definition at line 131 of file script_internals.cpp.
References Pol::Module::OSExecutorModule::blocked(), Pol::Plib::SystemState::config, Pol::Module::OSExecutorModule::critical, Pol::Module::OSExecutorModule::DEBUGGER_LIST, debuggerholdlist, Pol::Bscript::Executor::done, Pol::Bscript::Executor::error(), ERROR_PRINT, Pol::Bscript::Executor::execInstr(), Pol::Module::OSExecutorModule::hold_itr_, holdlist, Pol::Module::OSExecutorModule::in_hold_list_, Pol::Core::UOExecutor::instr_cycles, Pol::Module::OSExecutorModule::NOTIMEOUT_LIST, notimeoutholdlist, Pol::Core::UOExecutor::os_module, passert_paranoid, Pol::Bscript::Executor::PC, Pol::Core::UOExecutor::pChild, Pol::Module::OSExecutorModule::pid(), Pol::Core::UOExecutor::pParent, Pol::Module::OSExecutorModule::priority, priority_divide, Pol::Core::StateManager::profilevars, ranlist, Pol::Module::OSExecutorModule::revive(), Pol::Core::UOExecutor::runaway_cycles, Pol::Core::PolConfig::runaway_script_threshold, runlist, Pol::Bscript::Executor::runnable(), SCRIPTLOG, Pol::Bscript::Executor::scriptname(), Pol::Clib::scripts_thread_script, Pol::Clib::scripts_thread_scriptPC, Pol::Bscript::Executor::show_context(), Pol::Core::UOExecutor::sleep_cycles, Pol::Core::ProfileVars::sleep_cycles, Pol::Module::OSExecutorModule::sleep_until_clock_, Pol::Core::stateManager, Pol::Plib::systemstate, THREAD_CHECKPOINT, Pol::Module::OSExecutorModule::TIMEOUT_LIST, Pol::Module::OSExecutorModule::warn_on_runaway, and Pol::Core::UOExecutor::warn_runaway_on_cycle.
Referenced by Pol::Core::run_ready().
| void Pol::Core::ScriptScheduler::schedule | ( | UOExecutor * | exec | ) |
Definition at line 281 of file script_internals.cpp.
References enqueue(), Pol::Bscript::Executor::NONE, and Pol::Bscript::Executor::setDebugLevel().
Referenced by Pol::Core::schedule_executor(), and Pol::Core::start_script().
|
private |
Definition at line 89 of file script_internals.h.
Referenced by deinitialize(), estimateSize(), revive_debugged(), and run_ready().
|
private |
Definition at line 87 of file script_internals.h.
Referenced by deinitialize(), estimateSize(), getHoldlist(), revive_timeout(), and run_ready().
|
private |
Definition at line 92 of file script_internals.h.
Referenced by get_new_pid().
|
private |
Definition at line 88 of file script_internals.h.
Referenced by deinitialize(), estimateSize(), getNoTimeoutHoldlist(), revive_notimeout(), and run_ready().
|
static |
Definition at line 30 of file script_internals.h.
Referenced by get_new_pid(), and Pol::Module::UOExecutorModule::mf_SendGumpMenu().
|
private |
Definition at line 91 of file script_internals.h.
Referenced by estimateSize(), find_exec(), free_pid(), get_new_pid(), and getPidlist().
| int Pol::Core::ScriptScheduler::priority_divide |
Definition at line 32 of file script_internals.h.
Referenced by Pol::Module::PolCore::call_method(), Pol::Module::GetCoreVariable(), and run_ready().
|
private |
Definition at line 86 of file script_internals.h.
Referenced by estimateSize(), getRanlist(), and run_ready().
|
private |
Definition at line 85 of file script_internals.h.
Referenced by deinitialize(), enqueue(), estimateSize(), getRunlist(), and run_ready().
| ScriptStorage Pol::Core::ScriptScheduler::scrstore |
Definition at line 36 of file script_internals.h.
Referenced by Pol::Core::clear_script_profile_counters(), Pol::Core::DebugContext::cmd_scriptins(), Pol::Core::DebugContext::cmd_scriptlist(), Pol::Core::DebugContext::cmd_scriptprofile(), Pol::Core::DebugContext::cmd_scriptsrc(), Pol::Core::DebugContext::cmd_setscript(), deinitialize(), estimateSize(), Pol::Core::find_script(), Pol::Core::find_script2(), Pol::Module::GetScriptProfiles(), Pol::Core::log_all_script_cycle_counts(), Pol::Core::script_loaded(), Pol::Core::unload_all_scripts(), and Pol::Core::unload_script().