#include "stdtypes.h"
#include "v3math.h"
#include "llquaternion.h"
#include "lscript_byteformat.h"
#include "lluuid.h"
Go to the source code of this file.
Copyright (c) 2002-2008, Linden Research, Inc.
Second Life Viewer Source Code The source code in this file ("Source Code") is provided by Linden Lab to you under the terms of the GNU General Public License, version 2.0 ("GPL"), unless you have obtained a separate licensing agreement ("Other License"), formally executed by you and Linden Lab. Terms of the GPL can be found in doc/GPL-license.txt in this distribution, or online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
There are special exceptions to the terms and conditions of the GPL as it is applied to this Source Code. View the full text of the exception in the file doc/FLOSS-exception.txt in this software distribution, or online at http://secondlifegrid.net/programs/open_source/licensing/flossexception
By copying, modifying or distributing this software, you acknowledge that you have read and understood your obligations described above, and agree to abide by those obligations.
ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, COMPLETENESS OR PERFORMANCE. $/LicenseInfo$
Definition in file lscript_byteconvert.h.
F32 add_register_fp | ( | U8 * | stream, | |
LSCRIPTRegisters | reg, | |||
F32 | value | |||
) | [inline] |
Definition at line 387 of file lscript_byteconvert.h.
References bytestream2float(), float2bytestream(), gLSCRIPTRegisterAddresses, llfinite, LSRF_MATH, S32, and set_fault().
Referenced by LLScriptExecute::run(), run_calllib(), and run_calllib_two_byte().
Definition at line 195 of file lscript_byteconvert.h.
Referenced by alloc_entry2bytestream(), and lsa_create_data_block().
Definition at line 190 of file lscript_byteconvert.h.
Referenced by bytestream2alloc_entry().
void bytestream2bytestream | ( | U8 * | dest, | |
S32 & | dest_offset, | |||
const U8 * | src, | |||
S32 & | src_offset, | |||
S32 | count | |||
) | [inline] |
Definition at line 200 of file lscript_byteconvert.h.
Definition at line 166 of file lscript_byteconvert.h.
References S32.
Referenced by LLScriptLibData::LLScriptLibData(), lsa_fprint_heap(), lsa_get_data(), lsa_print_heap(), lscript_pop_variable(), lscript_stacktol_pop_variable(), print_pushargs(), LLScriptLSOParse::printGlobalFunctions(), LLScriptLSOParse::printGlobals(), LLScriptLSOParse::printStates(), run_cast(), run_jumpif(), run_jumpnif(), run_print(), safe_instruction_bytestream2char(), and LLScriptLibData::set().
Definition at line 134 of file lscript_byteconvert.h.
References bytestream2integer(), llfinite, LSRF_MATH, S32, and set_fault().
Referenced by add_register_fp(), get_register_fp(), LLScriptLibData::LLScriptLibData(), lsa_fprint_heap(), lsa_get_data(), lsa_print_heap(), lscript_global_get(), lscript_local_get(), lscript_pop_float(), print_pushargf(), LLScriptLSOParse::printGlobals(), safe_instruction_bytestream2float(), and LLScriptLibData::set().
Definition at line 49 of file lscript_byteconvert.h.
Referenced by bytestream2alloc_entry(), bytestream2float(), bytestream2quaternion(), bytestream2vector(), bytestream_int2float(), get_event_register(), get_event_stack_size(), get_handled_events(), get_register(), get_state_event_opcoode_start(), LLScriptDataCollection::LLScriptDataCollection(), LLScriptEventData::LLScriptEventData(), LLScriptExecute::LLScriptExecute(), LLScriptLibData::LLScriptLibData(), LLScriptLSOParse::LLScriptLSOParse(), lsa_decrease_ref_count(), lsa_fprint_heap(), lsa_get_data(), lsa_get_list_ptr(), lsa_print_heap(), lscript_global_get(), lscript_local_get(), lscript_pop_int(), print_call(), print_jump(), print_jumpif(), print_jumpnif(), print_loadglp(), print_loadgp(), print_loadgqp(), print_loadgsp(), print_loadgvp(), print_loadlp(), print_loadp(), print_loadqp(), print_loadsp(), print_loadvp(), print_poparg(), print_push(), print_pusharge(), print_pushargi(), print_pushg(), print_pushgl(), print_pushgq(), print_pushgs(), print_pushgv(), print_pushl(), print_pushq(), print_pushs(), print_pushv(), print_stacktol(), print_stacktos(), print_state(), print_store(), print_storeg(), print_storegl(), print_storegq(), print_storegs(), print_storegv(), print_storel(), print_storeq(), print_stores(), print_storev(), LLScriptLSOParse::printGlobalFunctions(), LLScriptLSOParse::printGlobals(), LLScriptLSOParse::printStates(), run_call(), run_dup(), run_dupl(), run_dups(), run_store(), run_storeg(), run_storegl(), run_storegs(), run_storel(), run_stores(), safe_instruction_bytestream2integer(), LLScriptLibData::set(), and LLScriptEventData::set().
void bytestream2quaternion | ( | LLQuaternion & | quat, | |
const U8 * | stream, | |||
S32 & | offset | |||
) | [inline] |
Definition at line 263 of file lscript_byteconvert.h.
References bytestream2integer(), llfinite, LSRF_MATH, LLQuaternion::mQ, S32, set_fault(), VS, VX, VY, and VZ.
Referenced by LLScriptLibData::LLScriptLibData(), lsa_fprint_heap(), lsa_get_data(), lsa_print_heap(), lscript_global_get(), lscript_local_get(), lscript_pop_quaternion(), print_pushargq(), LLScriptLSOParse::printGlobals(), LLScriptSAQuaternion::recurse(), run_dupq(), run_storegq(), run_storeq(), safe_instruction_bytestream2quaternion(), and LLScriptLibData::set().
Definition at line 104 of file lscript_byteconvert.h.
Referenced by bytestream2alloc_entry().
Definition at line 119 of file lscript_byteconvert.h.
Referenced by print_calllib_two_byte(), and safe_instruction_bytestream2u16().
Definition at line 63 of file lscript_byteconvert.h.
Referenced by LLScriptScriptCodeChunk::build(), get_event_register(), get_handled_events(), get_register_u64(), and LLScriptLSOParse::printStates().
Definition at line 56 of file lscript_byteconvert.h.
Definition at line 218 of file lscript_byteconvert.h.
References i, LLUUID::mData, S32, and UUID_BYTES.
Definition at line 228 of file lscript_byteconvert.h.
References bytestream2integer(), llfinite, LSRF_MATH, LLVector3::mV, S32, set_fault(), VX, VY, and VZ.
Referenced by LLScriptLibData::LLScriptLibData(), lsa_fprint_heap(), lsa_get_data(), lsa_print_heap(), lscript_global_get(), lscript_local_get(), lscript_pop_vector(), print_pushargv(), LLScriptLSOParse::printGlobals(), LLScriptSAVector::recurse(), run_dupv(), run_storegv(), run_storev(), safe_instruction_bytestream2vector(), and LLScriptLibData::set().
Definition at line 152 of file lscript_byteconvert.h.
References bytestream2integer(), float2bytestream(), llfinite, LSRF_MATH, S32, and set_fault().
Referenced by LLScriptGlobalVariable::recurse(), LLScriptSAQuaternion::recurse(), and LLScriptSAVector::recurse().
Definition at line 184 of file lscript_byteconvert.h.
Referenced by lsa_create_data_block(), lsa_insert_data(), and LLScriptLibData::write2bytestream().
static LSCRIPTType char2type | ( | char | type | ) | [inline, static] |
Definition at line 1152 of file lscript_byteconvert.h.
References LST_FLOATINGPOINT, LST_INTEGER, LST_KEY, LST_LIST, LST_NULL, LST_QUATERNION, LST_STRING, and LST_VECTOR.
Referenced by LLScriptScript::recurse(), run_calllib(), and run_calllib_two_byte().
Definition at line 146 of file lscript_byteconvert.h.
References integer2bytestream(), and S32.
Referenced by add_register_fp(), LLScriptByteCodeChunk::addFloat(), bytestream_int2float(), lsa_create_data_block(), lsa_insert_data(), lscript_global_store(), lscript_local_store(), lscript_push(), safe_instruction_float2bytestream(), set_register_fp(), and LLScriptLibData::write2bytestream().
U64 get_event_register | ( | U8 * | stream, | |
LSCRIPTRegisters | reg, | |||
S32 | major_version | |||
) | [inline] |
Definition at line 330 of file lscript_byteconvert.h.
References bytestream2integer(), bytestream2u64(), gLSCRIPTRegisterAddresses, LREG_CE, LREG_NCE, and S32.
Referenced by get_event_stack_size(), get_state_event_opcoode_start(), LLScriptExecute::run(), and run_state().
S32 get_event_stack_size | ( | U8 * | stream, | |
S32 | state, | |||
LSCRIPTStateEventType | event | |||
) | [inline] |
Definition at line 871 of file lscript_byteconvert.h.
References bytestream2integer(), get_event_handler_jump_position(), get_event_register(), get_register(), LREG_ER, LREG_SR, LREG_VN, LSCRIPTDataSize, LSL2_MAJOR_VERSION_ONE, LSL2_MAJOR_VERSION_TWO, LSL2_VERSION1_END_NUMBER, LSL2_VERSION_NUMBER, LST_INTEGER, S32, and TOP_OF_MEMORY.
Referenced by LLScriptExecute::run().
Definition at line 846 of file lscript_byteconvert.h.
References bytestream2integer(), bytestream2u64(), get_register(), LREG_SR, LREG_VN, LSCRIPTDataSize, LSL2_VERSION1_END_NUMBER, LSL2_VERSION_NUMBER, LST_INTEGER, and S32.
Referenced by LLScriptExecute::run().
S32 get_register | ( | const U8 * | stream, | |
LSCRIPTRegisters | reg | |||
) | [inline] |
Definition at line 307 of file lscript_byteconvert.h.
References bytestream2integer(), gLSCRIPTRegisterAddresses, and S32.
Referenced by get_event_stack_size(), get_handled_events(), get_max_heap_size(), get_state_event_opcoode_start(), lsa_cat_lists(), lsa_cat_strings(), lsa_cmp_lists(), lsa_cmp_strings(), lsa_decrease_ref_count(), lsa_fprint_heap(), lsa_get_data(), lsa_get_list_ptr(), lsa_heap_add_data(), lsa_increase_ref_count(), lsa_insert_data(), lsa_postadd_lists(), lsa_preadd_lists(), lsa_print_heap(), lsa_split_block(), lscript_check_global(), lscript_check_local(), lscript_pop_char(), lscript_pop_float(), lscript_pop_int(), lscript_pop_quaternion(), lscript_pop_variable(), lscript_pop_vector(), lscript_poparg(), lscript_push(), lscript_pusharg(), lscript_pusharge(), lscript_run(), lscript_stacktol_pop_variable(), print_loadglp(), print_loadgp(), print_loadgqp(), print_loadgsp(), print_loadgvp(), print_pushg(), print_pushgl(), print_pushgq(), print_pushgs(), print_pushgv(), print_storeg(), print_storegl(), print_storegq(), print_storegs(), print_storegv(), LLScriptLSOParse::printGlobalFunctions(), LLScriptLSOParse::printGlobals(), LLScriptLSOParse::printHeap(), LLScriptLSOParse::printRegisters(), LLScriptLSOParse::printStates(), LLScriptExecute::run(), run_call(), run_cast(), run_dup(), run_dupl(), run_dupq(), run_dups(), run_dupv(), run_jumpif(), run_jumpnif(), run_print(), run_pushbp(), run_pushsp(), run_return(), run_stacktol(), run_stacktos(), run_state(), run_store(), run_storeg(), run_storegl(), run_storegq(), run_storegs(), run_storegv(), run_storel(), run_storeq(), run_stores(), run_storev(), safe_heap_check_address(), safe_instruction_check_address(), set_bp(), set_fault(), set_ip(), and set_sp().
F32 get_register_fp | ( | U8 * | stream, | |
LSCRIPTRegisters | reg | |||
) | [inline] |
Definition at line 313 of file lscript_byteconvert.h.
References bytestream2float(), gLSCRIPTRegisterAddresses, llfinite, LSRF_MATH, S32, and set_fault().
U64 get_register_u64 | ( | U8 * | stream, | |
LSCRIPTRegisters | reg | |||
) | [inline] |
Definition at line 324 of file lscript_byteconvert.h.
References bytestream2u64(), gLSCRIPTRegisterAddresses, and S32.
Referenced by LLScriptLSOParse::printRegisters().
S32 get_state_event_opcoode_start | ( | U8 * | stream, | |
S32 | state, | |||
LSCRIPTStateEventType | event | |||
) | [inline] |
Definition at line 780 of file lscript_byteconvert.h.
References bytestream2integer(), get_event_handler_jump_position(), get_event_register(), get_register(), LREG_ER, LREG_SR, LREG_VN, LSCRIPTDataSize, LSL2_MAJOR_VERSION_ONE, LSL2_MAJOR_VERSION_TWO, LSL2_VERSION1_END_NUMBER, LSL2_VERSION_NUMBER, LST_INTEGER, S32, and TOP_OF_MEMORY.
Referenced by LLScriptExecute::setStateEventOpcoodeStartSafely().
Definition at line 71 of file lscript_byteconvert.h.
Referenced by LLScriptByteCodeChunk::addInteger(), alloc_entry2bytestream(), LLScriptByteCodeChunk::connectJumps(), float2bytestream(), lsa_create_data_block(), lsa_insert_data(), lscript_global_store(), lscript_local_store(), lscript_push(), quaternion2bytestream(), LLScriptScript::recurse(), LLScriptState::recurse(), LLScriptGlobalFunctions::recurse(), LLScriptEventHandler::recurse(), LLScriptGlobalVariable::recurse(), safe_instruction_integer2bytestream(), set_event_register(), set_register(), vector2bytestream(), LLScriptLibData::write2bytestream(), LLScriptEventData::write2bytestream(), and LLScriptDataCollection::write2bytestream().
void lsa_print_heap | ( | U8 * | buffer | ) |
Definition at line 784 of file lscript_alloc.cpp.
References bytestream2alloc_entry(), bytestream2char(), bytestream2float(), bytestream2integer(), bytestream2quaternion(), bytestream2vector(), get_register(), LREG_HP, LREG_HR, LSCRIPTTypeNames, LST_FLOATINGPOINT, LST_INTEGER, LST_KEY, LST_LIST, LST_QUATERNION, LST_STRING, LST_VECTOR, MAX_HEAP_SIZE, LLQuaternion::mQ, LLScriptAllocEntry::mReferenceCount, LLScriptAllocEntry::mSize, LLScriptAllocEntry::mType, LLVector3::mV, S32, VS, VX, VY, and VZ.
Definition at line 648 of file lscript_byteconvert.h.
References FALSE, get_register(), LREG_GFR, LREG_GVR, LSRF_BOUND_CHECK_ERROR, S32, set_fault(), and TRUE.
Referenced by lscript_global_get(), and lscript_global_store().
Definition at line 626 of file lscript_byteconvert.h.
References FALSE, get_register(), LREG_BP, LREG_SP, LREG_TM, LSRF_BOUND_CHECK_ERROR, S32, set_fault(), tut::tm(), and TRUE.
Referenced by lscript_local_get(), and lscript_local_store().
void lscript_global_get | ( | U8 * | stream, | |
S32 | address, | |||
LLQuaternion & | value | |||
) | [inline] |
Definition at line 772 of file lscript_byteconvert.h.
References bytestream2quaternion(), lscript_check_global(), LSCRIPTDataSize, and LST_QUATERNION.
Definition at line 766 of file lscript_byteconvert.h.
References bytestream2vector(), lscript_check_global(), LSCRIPTDataSize, and LST_VECTOR.
Definition at line 755 of file lscript_byteconvert.h.
References bytestream2float(), llfinite, lscript_check_global(), LSCRIPTDataSize, LSRF_MATH, LST_FLOATINGPOINT, and set_fault().
Definition at line 748 of file lscript_byteconvert.h.
References bytestream2integer(), lscript_check_global(), LSCRIPTDataSize, and LST_INTEGER.
Referenced by run_loadglp(), run_loadgsp(), run_pushg(), run_pushgl(), run_pushgq(), run_pushgs(), run_pushgv(), run_storegl(), and run_storegs().
void lscript_global_store | ( | U8 * | stream, | |
S32 | address, | |||
LLQuaternion | value | |||
) | [inline] |
Definition at line 712 of file lscript_byteconvert.h.
References lscript_check_global(), LSCRIPTDataSize, LST_QUATERNION, and quaternion2bytestream().
Definition at line 706 of file lscript_byteconvert.h.
References lscript_check_global(), LSCRIPTDataSize, LST_VECTOR, and vector2bytestream().
Definition at line 700 of file lscript_byteconvert.h.
References float2bytestream(), lscript_check_global(), LSCRIPTDataSize, and LST_FLOATINGPOINT.
Definition at line 694 of file lscript_byteconvert.h.
References integer2bytestream(), lscript_check_global(), LSCRIPTDataSize, and LST_INTEGER.
Referenced by run_loadglp(), run_loadgp(), run_loadgqp(), run_loadgsp(), run_loadgvp(), run_storeg(), run_storegl(), run_storegq(), run_storegs(), and run_storegv().
void lscript_local_get | ( | U8 * | stream, | |
S32 | address, | |||
LLQuaternion & | value | |||
) | [inline] |
Definition at line 742 of file lscript_byteconvert.h.
References bytestream2quaternion(), lscript_check_local(), LSCRIPTDataSize, and LST_QUATERNION.
Definition at line 736 of file lscript_byteconvert.h.
References bytestream2vector(), lscript_check_local(), LSCRIPTDataSize, and LST_VECTOR.
Definition at line 725 of file lscript_byteconvert.h.
References bytestream2float(), llfinite, lscript_check_local(), LSCRIPTDataSize, LSRF_MATH, LST_FLOATINGPOINT, and set_fault().
Definition at line 718 of file lscript_byteconvert.h.
References bytestream2integer(), lscript_check_local(), LSCRIPTDataSize, and LST_INTEGER.
Referenced by run_loadlp(), run_loadsp(), run_push(), run_pushl(), run_pushq(), run_pushs(), run_pushv(), run_storel(), and run_stores().
void lscript_local_store | ( | U8 * | stream, | |
S32 | address, | |||
LLQuaternion | value | |||
) | [inline] |
Definition at line 688 of file lscript_byteconvert.h.
References lscript_check_local(), LSCRIPTDataSize, LST_QUATERNION, and quaternion2bytestream().
Definition at line 682 of file lscript_byteconvert.h.
References lscript_check_local(), LSCRIPTDataSize, LST_VECTOR, and vector2bytestream().
Definition at line 676 of file lscript_byteconvert.h.
References float2bytestream(), lscript_check_local(), LSCRIPTDataSize, and LST_FLOATINGPOINT.
Definition at line 670 of file lscript_byteconvert.h.
References integer2bytestream(), lscript_check_local(), LSCRIPTDataSize, and LST_INTEGER.
Referenced by lscript_push_return_variable(), run_call(), run_loadlp(), run_loadp(), run_loadqp(), run_loadsp(), run_loadvp(), run_store(), run_storel(), run_storeq(), run_stores(), and run_storev().
Definition at line 569 of file lscript_byteconvert.h.
References get_register(), LREG_SP, S32, and set_sp().
Referenced by run_stacktol(), and run_stacktos().
Definition at line 585 of file lscript_byteconvert.h.
References bytestream2float(), get_register(), llfinite, LREG_SP, LSRF_MATH, S32, set_fault(), and set_sp().
Referenced by float_float_operation(), float_integer_operation(), float_list_operation(), float_operation(), float_vector_operation(), integer_float_operation(), list_float_operation(), lscript_pop_variable(), lscript_stacktol_pop_variable(), run_cast(), run_jumpif(), run_jumpnif(), run_print(), and vector_float_operation().
Definition at line 577 of file lscript_byteconvert.h.
References bytestream2integer(), get_register(), LREG_SP, S32, and set_sp().
Referenced by float_integer_operation(), float_list_operation(), integer_float_operation(), integer_integer_operation(), integer_list_operation(), integer_operation(), integer_vector_operation(), key_key_operation(), key_list_operation(), key_string_operation(), list_float_operation(), list_integer_operation(), list_key_operation(), list_list_operation(), list_quaternion_operation(), list_string_operation(), list_vector_operation(), lscript_pop_variable(), lscript_stacktol_pop_variable(), quaternion_list_operation(), run_calllib(), run_calllib_two_byte(), run_cast(), run_jumpif(), run_jumpnif(), run_loadglp(), run_loadgp(), run_loadgsp(), run_loadlp(), run_loadp(), run_loadsp(), run_popbp(), run_popip(), run_popl(), run_pops(), run_popslr(), run_popsp(), run_print(), run_return(), run_stacktos(), run_state(), string_key_operation(), string_list_operation(), string_string_operation(), vector_integer_operation(), and vector_list_operation().
void lscript_pop_quaternion | ( | U8 * | stream, | |
LLQuaternion & | value | |||
) | [inline] |
Definition at line 605 of file lscript_byteconvert.h.
References bytestream2quaternion(), get_register(), LREG_SP, S32, and set_sp().
Referenced by list_quaternion_operation(), lscript_pop_variable(), lscript_stacktol_pop_variable(), quaternion_list_operation(), quaternion_operation(), quaternion_quaternion_operation(), run_cast(), run_jumpif(), run_jumpnif(), run_loadgqp(), run_loadqp(), run_print(), and vector_quaternion_operation().
Definition at line 598 of file lscript_byteconvert.h.
References bytestream2vector(), get_register(), LREG_SP, S32, and set_sp().
Referenced by float_vector_operation(), integer_vector_operation(), list_vector_operation(), lscript_pop_variable(), lscript_stacktol_pop_variable(), run_cast(), run_jumpif(), run_jumpnif(), run_loadgvp(), run_loadvp(), run_print(), vector_float_operation(), vector_integer_operation(), vector_list_operation(), vector_operation(), vector_quaternion_operation(), and vector_vector_operation().
Definition at line 561 of file lscript_byteconvert.h.
References get_register(), LREG_SP, S32, and set_sp().
Referenced by run_calllib(), run_calllib_two_byte(), run_pop(), run_poparg(), run_popq(), and run_popv().
void lscript_push | ( | U8 * | stream, | |
LLQuaternion & | value | |||
) | [inline] |
Definition at line 542 of file lscript_byteconvert.h.
References get_register(), LREG_SP, LSCRIPTDataSize, LST_QUATERNION, quaternion2bytestream(), S32, and set_sp().
Definition at line 531 of file lscript_byteconvert.h.
References get_register(), LREG_SP, LSCRIPTDataSize, LST_VECTOR, S32, set_sp(), and vector2bytestream().
Definition at line 520 of file lscript_byteconvert.h.
References float2bytestream(), get_register(), LREG_SP, LSCRIPTDataSize, LST_FLOATINGPOINT, S32, and set_sp().
Definition at line 509 of file lscript_byteconvert.h.
References get_register(), integer2bytestream(), LREG_SP, LSCRIPTDataSize, LST_INTEGER, S32, and set_sp().
Definition at line 498 of file lscript_byteconvert.h.
References get_register(), LREG_SP, S32, and set_sp().
Referenced by float_float_operation(), float_integer_operation(), float_list_operation(), float_operation(), float_vector_operation(), integer_float_operation(), integer_integer_operation(), integer_list_operation(), integer_operation(), integer_vector_operation(), key_key_operation(), key_list_operation(), key_string_operation(), list_float_operation(), list_integer_operation(), list_key_operation(), list_list_operation(), list_quaternion_operation(), list_string_operation(), list_vector_operation(), lscript_push_variable(), quaternion_list_operation(), quaternion_operation(), quaternion_quaternion_operation(), LLScriptExecute::run(), run_cast(), run_dup(), run_dupl(), run_dupq(), run_dups(), run_dupv(), run_push(), run_pushargb(), run_pushargf(), run_pushargi(), run_pushargq(), run_pushargs(), run_pushargv(), run_pushbp(), run_pushg(), run_pushgl(), run_pushgq(), run_pushgs(), run_pushgv(), run_puship(), run_pushl(), run_pushq(), run_pushs(), run_pushsp(), run_pushv(), run_stacktol(), run_stacktos(), string_key_operation(), string_list_operation(), string_string_operation(), vector_float_operation(), vector_integer_operation(), vector_list_operation(), vector_operation(), vector_quaternion_operation(), and vector_vector_operation().
Definition at line 553 of file lscript_byteconvert.h.
References get_register(), LREG_SP, S32, and set_sp().
Definition at line 612 of file lscript_byteconvert.h.
References get_register(), i, LREG_SP, S32, and set_sp().
Referenced by LLScriptExecute::run(), run_pusharge(), run_pushe(), run_pusheq(), and run_pushev().
void quaternion2bytestream | ( | U8 * | stream, | |
S32 & | offset, | |||
LLQuaternion & | quat | |||
) | [inline] |
Definition at line 295 of file lscript_byteconvert.h.
References integer2bytestream(), LLQuaternion::mQ, S32, VS, VX, VY, and VZ.
Referenced by lsa_create_data_block(), lsa_insert_data(), lscript_global_store(), lscript_local_store(), lscript_push(), safe_instruction_quaternion2bytestream(), and LLScriptLibData::write2bytestream().
void reset_hp_to_safe_spot | ( | const U8 * | buffer | ) |
Definition at line 63 of file lscript_alloc.cpp.
References LREG_HP, set_register(), and TOP_OF_MEMORY.
LSCRIPTStateEventType return_first_event | ( | S32 | event | ) | [inline] |
Definition at line 927 of file lscript_byteconvert.h.
References LSTT_EOF, LSTT_NULL, and S32.
Referenced by LLScriptExecute::run().
Definition at line 111 of file lscript_byteconvert.h.
Referenced by alloc_entry2bytestream().
Definition at line 1106 of file lscript_byteconvert.h.
References safe_heap_check_address().
Referenced by lscript_pop_variable(), lscript_stacktol_pop_variable(), run_cast(), run_jumpif(), run_jumpnif(), and run_print().
Definition at line 972 of file lscript_byteconvert.h.
References FALSE, get_register(), LREG_HP, LREG_HR, LSRF_BOUND_CHECK_ERROR, S32, set_fault(), and TRUE.
Referenced by lscript_pop_variable(), lscript_stacktol_pop_variable(), run_cast(), run_jumpif(), run_jumpnif(), run_print(), and safe_heap_bytestream_count_char().
Definition at line 1007 of file lscript_byteconvert.h.
References safe_instruction_check_address().
Definition at line 995 of file lscript_byteconvert.h.
References safe_instruction_check_address().
Referenced by LLScriptExecute::run(), run_add(), run_calllib(), run_cast(), run_div(), run_eq(), run_geq(), run_greater(), run_jumpif(), run_jumpnif(), run_leq(), run_less(), run_mod(), run_mul(), run_neg(), run_neq(), run_print(), run_pushargb(), and run_sub().
void safe_instruction_bytestream2char | ( | char * | buffer, | |
U8 * | stream, | |||
S32 & | offset, | |||
S32 | buffsize | |||
) | [inline] |
Definition at line 1081 of file lscript_byteconvert.h.
References bytestream2char(), and safe_instruction_check_address().
Referenced by run_pushargs().
Definition at line 1055 of file lscript_byteconvert.h.
References bytestream2float(), llfinite, LSCRIPTDataSize, LSRF_MATH, LST_INTEGER, safe_instruction_check_address(), and set_fault().
Referenced by run_pushargf().
Definition at line 1015 of file lscript_byteconvert.h.
References bytestream2integer(), LSCRIPTDataSize, LST_INTEGER, and safe_instruction_check_address().
Referenced by run_call(), run_jump(), run_jumpif(), run_jumpnif(), run_loadglp(), run_loadgp(), run_loadgqp(), run_loadgsp(), run_loadgvp(), run_loadlp(), run_loadp(), run_loadqp(), run_loadsp(), run_loadvp(), run_poparg(), run_push(), run_pusharge(), run_pushargi(), run_pushg(), run_pushgl(), run_pushgq(), run_pushgs(), run_pushgv(), run_pushl(), run_pushq(), run_pushs(), run_pushv(), run_stacktol(), run_state(), run_store(), run_storeg(), run_storegl(), run_storegq(), run_storegs(), run_storegv(), run_storel(), run_storeq(), run_stores(), and run_storev().
void safe_instruction_bytestream2quaternion | ( | LLQuaternion & | value, | |
U8 * | stream, | |||
S32 & | offset | |||
) | [inline] |
Definition at line 1136 of file lscript_byteconvert.h.
References bytestream2quaternion(), LSCRIPTDataSize, LST_QUATERNION, and safe_instruction_check_address().
Referenced by run_pushargq().
Definition at line 1035 of file lscript_byteconvert.h.
References bytestream2u16(), and safe_instruction_check_address().
Referenced by run_calllib_two_byte().
Definition at line 1120 of file lscript_byteconvert.h.
References bytestream2vector(), LSCRIPTDataSize, LST_VECTOR, and safe_instruction_check_address().
Referenced by run_pushargv().
Definition at line 1099 of file lscript_byteconvert.h.
References safe_instruction_check_address().
Referenced by run_pushargs().
Definition at line 1113 of file lscript_byteconvert.h.
References safe_instruction_check_address().
Definition at line 949 of file lscript_byteconvert.h.
References FALSE, get_register(), LREG_GFR, LREG_HR, LSRF_BOUND_CHECK_ERROR, S32, set_fault(), and TRUE.
Referenced by safe_instruction_byte2bytestream(), safe_instruction_bytestream2byte(), safe_instruction_bytestream2char(), safe_instruction_bytestream2float(), safe_instruction_bytestream2integer(), safe_instruction_bytestream2quaternion(), safe_instruction_bytestream2u16(), safe_instruction_bytestream2vector(), safe_instruction_bytestream_count_char(), safe_instruction_char2bytestream(), safe_instruction_float2bytestream(), safe_instruction_integer2bytestream(), safe_instruction_quaternion2bytestream(), safe_instruction_u162bytestream(), and safe_instruction_vector2bytestream().
Definition at line 1073 of file lscript_byteconvert.h.
References float2bytestream(), LSCRIPTDataSize, LST_FLOATINGPOINT, and safe_instruction_check_address().
Definition at line 1027 of file lscript_byteconvert.h.
References integer2bytestream(), LSCRIPTDataSize, LST_INTEGER, and safe_instruction_check_address().
void safe_instruction_quaternion2bytestream | ( | U8 * | stream, | |
S32 & | offset, | |||
LLQuaternion & | value | |||
) | [inline] |
Definition at line 1144 of file lscript_byteconvert.h.
References LSCRIPTDataSize, LST_QUATERNION, quaternion2bytestream(), and safe_instruction_check_address().
Definition at line 1047 of file lscript_byteconvert.h.
References safe_instruction_check_address(), and u162bytestream().
Definition at line 1128 of file lscript_byteconvert.h.
References LSCRIPTDataSize, LST_VECTOR, safe_instruction_check_address(), and vector2bytestream().
Definition at line 449 of file lscript_byteconvert.h.
References FALSE, get_register(), LREG_BP, LREG_HP, LREG_SP, LREG_TM, LSRF_BOUND_CHECK_ERROR, LSRF_STACK_HEAP_COLLISION, S32, set_fault(), set_register(), tut::tm(), and TRUE.
Referenced by LLScriptExecute::run(), run_calllib(), run_calllib_two_byte(), run_popbp(), run_return(), and run_state().
void set_event_register | ( | U8 * | stream, | |
LSCRIPTRegisters | reg, | |||
U64 | value, | |||
S32 | major_version | |||
) | [inline] |
Definition at line 367 of file lscript_byteconvert.h.
References gLSCRIPTRegisterAddresses, integer2bytestream(), LREG_CE, LREG_NCE, S32, and u642bytestream().
Referenced by LLScriptScriptCodeChunk::build(), LLScriptExecute::run(), and run_state().
void set_fault | ( | const U8 * | stream, | |
LSCRIPTRunTimeFaults | fault | |||
) | [inline] |
Definition at line 405 of file lscript_byteconvert.h.
References get_register(), LREG_FR, LSCRIPTRunTimeFaultBits, LSRF_BOUND_CHECK_ERROR, LSRF_HEAP_ERROR, LSRF_STACK_HEAP_COLLISION, reset_hp_to_safe_spot(), S32, and set_register().
Referenced by add_register_fp(), alloc_entry2bytestream(), bytestream2alloc_entry(), bytestream2float(), bytestream2quaternion(), bytestream2vector(), bytestream_int2float(), float_float_operation(), float_integer_operation(), get_register_fp(), integer_float_operation(), integer_integer_operation(), lsa_cat_lists(), lsa_cat_strings(), lsa_cmp_lists(), lsa_cmp_strings(), lsa_decrease_ref_count(), lsa_get_data(), lsa_get_list_ptr(), lsa_heap_add_data(), lsa_increase_ref_count(), lsa_postadd_lists(), lsa_preadd_lists(), lscript_check_global(), lscript_check_local(), lscript_global_get(), lscript_local_get(), lscript_pop_float(), LLScriptExecute::recordBoundaryError(), LLScriptExecute::run(), run_call(), run_calllib(), run_calllib_two_byte(), safe_heap_check_address(), safe_instruction_bytestream2float(), safe_instruction_check_address(), set_bp(), set_ip(), set_sp(), vector_float_operation(), and vector_integer_operation().
Definition at line 423 of file lscript_byteconvert.h.
References FALSE, get_register(), LREG_GFR, LREG_HR, LREG_IP, LSRF_BOUND_CHECK_ERROR, S32, set_fault(), set_register(), and TRUE.
Referenced by LLScriptExecute::run(), and LLScriptExecute::setStateEventOpcoodeStartSafely().
void set_register | ( | U8 * | stream, | |
LSCRIPTRegisters | reg, | |||
S32 | value | |||
) | [inline] |
Definition at line 349 of file lscript_byteconvert.h.
References gLSCRIPTRegisterAddresses, integer2bytestream(), and S32.
Referenced by LLScriptScriptCodeChunk::build(), lsa_heap_add_data(), reset_hp_to_safe_spot(), LLScriptExecute::run(), run_popslr(), run_state(), set_bp(), set_fault(), set_ip(), and set_sp().
void set_register_fp | ( | U8 * | stream, | |
LSCRIPTRegisters | reg, | |||
F32 | value | |||
) | [inline] |
Definition at line 355 of file lscript_byteconvert.h.
References float2bytestream(), gLSCRIPTRegisterAddresses, and S32.
void set_register_u64 | ( | U8 * | stream, | |
LSCRIPTRegisters | reg, | |||
U64 | value | |||
) | [inline] |
Definition at line 361 of file lscript_byteconvert.h.
References gLSCRIPTRegisterAddresses, S32, and u642bytestream().
Definition at line 477 of file lscript_byteconvert.h.
References FALSE, get_register(), LREG_HP, LREG_SP, LREG_TM, LSRF_BOUND_CHECK_ERROR, LSRF_STACK_HEAP_COLLISION, S32, set_fault(), set_register(), tut::tm(), and TRUE.
Referenced by lscript_pop_char(), lscript_pop_float(), lscript_pop_int(), lscript_pop_quaternion(), lscript_pop_vector(), lscript_poparg(), lscript_push(), lscript_pusharg(), lscript_pusharge(), run_popsp(), and run_return().
Definition at line 126 of file lscript_byteconvert.h.
Referenced by LLScriptByteCodeChunk::addU16(), and safe_instruction_u162bytestream().
Definition at line 90 of file lscript_byteconvert.h.
Referenced by LLScriptState::recurse(), set_event_register(), and set_register_u64().
Definition at line 81 of file lscript_byteconvert.h.
Definition at line 209 of file lscript_byteconvert.h.
References i, LLUUID::mData, S32, and UUID_BYTES.
Definition at line 253 of file lscript_byteconvert.h.
References integer2bytestream(), LLVector3::mV, S32, VX, VY, and VZ.
Referenced by lsa_create_data_block(), lsa_insert_data(), lscript_global_store(), lscript_local_store(), lscript_push(), safe_instruction_vector2bytestream(), and LLScriptLibData::write2bytestream().