lscript_byteconvert.h File Reference

Shared code for compiler and assembler for LSL. More...

#include "stdtypes.h"
#include "v3math.h"
#include "llquaternion.h"
#include "lscript_byteformat.h"
#include "lluuid.h"

Include dependency graph for lscript_byteconvert.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void reset_hp_to_safe_spot (const U8 *buffer)
void set_fault (const U8 *stream, LSCRIPTRunTimeFaults fault)
S32 bytestream2integer (const U8 *stream, S32 &offset)
U32 bytestream2unsigned_integer (const U8 *stream, S32 &offset)
U64 bytestream2u64 (const U8 *stream, S32 &offset)
void integer2bytestream (U8 *stream, S32 &offset, S32 integer)
void unsigned_integer2bytestream (U8 *stream, S32 &offset, U32 integer)
void u642bytestream (U8 *stream, S32 &offset, U64 integer)
S16 bytestream2s16 (const U8 *stream, S32 &offset)
void s162bytestream (U8 *stream, S32 &offset, S16 integer)
U16 bytestream2u16 (const U8 *stream, S32 &offset)
void u162bytestream (U8 *stream, S32 &offset, U16 integer)
F32 bytestream2float (const U8 *stream, S32 &offset)
void float2bytestream (U8 *stream, S32 &offset, F32 floatingpoint)
void bytestream_int2float (U8 *stream, S32 &offset)
bool bytestream2char (char *buffer, const U8 *stream, S32 &offset, S32 buffsize)
void char2bytestream (U8 *stream, S32 &offset, const char *buffer)
U8 bytestream2byte (const U8 *stream, S32 &offset)
void byte2bytestream (U8 *stream, S32 &offset, U8 byte)
void bytestream2bytestream (U8 *dest, S32 &dest_offset, const U8 *src, S32 &src_offset, S32 count)
void uuid2bytestream (U8 *stream, S32 &offset, const LLUUID &uuid)
void bytestream2uuid (U8 *stream, S32 &offset, LLUUID &uuid)
void bytestream2vector (LLVector3 &vector, const U8 *stream, S32 &offset)
void vector2bytestream (U8 *stream, S32 &offset, LLVector3 &vector)
void bytestream2quaternion (LLQuaternion &quat, const U8 *stream, S32 &offset)
void quaternion2bytestream (U8 *stream, S32 &offset, LLQuaternion &quat)
S32 get_register (const U8 *stream, LSCRIPTRegisters reg)
F32 get_register_fp (U8 *stream, LSCRIPTRegisters reg)
U64 get_register_u64 (U8 *stream, LSCRIPTRegisters reg)
U64 get_event_register (U8 *stream, LSCRIPTRegisters reg, S32 major_version)
void set_register (U8 *stream, LSCRIPTRegisters reg, S32 value)
void set_register_fp (U8 *stream, LSCRIPTRegisters reg, F32 value)
void set_register_u64 (U8 *stream, LSCRIPTRegisters reg, U64 value)
void set_event_register (U8 *stream, LSCRIPTRegisters reg, U64 value, S32 major_version)
F32 add_register_fp (U8 *stream, LSCRIPTRegisters reg, F32 value)
void lsa_print_heap (U8 *buffer)
BOOL set_ip (U8 *stream, S32 ip)
BOOL set_bp (U8 *stream, S32 bp)
BOOL set_sp (U8 *stream, S32 sp)
void lscript_push (U8 *stream, U8 value)
void lscript_push (U8 *stream, S32 value)
void lscript_push (U8 *stream, F32 value)
void lscript_push (U8 *stream, LLVector3 &value)
void lscript_push (U8 *stream, LLQuaternion &value)
void lscript_pusharg (U8 *stream, S32 arg)
void lscript_poparg (U8 *stream, S32 arg)
U8 lscript_pop_char (U8 *stream)
S32 lscript_pop_int (U8 *stream)
F32 lscript_pop_float (U8 *stream)
void lscript_pop_vector (U8 *stream, LLVector3 &value)
void lscript_pop_quaternion (U8 *stream, LLQuaternion &value)
void lscript_pusharge (U8 *stream, S32 value)
BOOL lscript_check_local (U8 *stream, S32 &address, S32 size)
BOOL lscript_check_global (U8 *stream, S32 &address, S32 size)
void lscript_local_store (U8 *stream, S32 address, S32 value)
void lscript_local_store (U8 *stream, S32 address, F32 value)
void lscript_local_store (U8 *stream, S32 address, LLVector3 value)
void lscript_local_store (U8 *stream, S32 address, LLQuaternion value)
void lscript_global_store (U8 *stream, S32 address, S32 value)
void lscript_global_store (U8 *stream, S32 address, F32 value)
void lscript_global_store (U8 *stream, S32 address, LLVector3 value)
void lscript_global_store (U8 *stream, S32 address, LLQuaternion value)
S32 lscript_local_get (U8 *stream, S32 address)
void lscript_local_get (U8 *stream, S32 address, F32 &value)
void lscript_local_get (U8 *stream, S32 address, LLVector3 &value)
void lscript_local_get (U8 *stream, S32 address, LLQuaternion &value)
S32 lscript_global_get (U8 *stream, S32 address)
void lscript_global_get (U8 *stream, S32 address, F32 &value)
void lscript_global_get (U8 *stream, S32 address, LLVector3 &value)
void lscript_global_get (U8 *stream, S32 address, LLQuaternion &value)
S32 get_state_event_opcoode_start (U8 *stream, S32 state, LSCRIPTStateEventType event)
U64 get_handled_events (U8 *stream, S32 state)
S32 get_event_stack_size (U8 *stream, S32 state, LSCRIPTStateEventType event)
LSCRIPTStateEventType return_first_event (S32 event)
BOOL safe_instruction_check_address (U8 *stream, S32 offset, S32 size)
BOOL safe_heap_check_address (U8 *stream, S32 offset, S32 size)
U8 safe_instruction_bytestream2byte (U8 *stream, S32 &offset)
void safe_instruction_byte2bytestream (U8 *stream, S32 &offset, U8 byte)
S32 safe_instruction_bytestream2integer (U8 *stream, S32 &offset)
void safe_instruction_integer2bytestream (U8 *stream, S32 &offset, S32 value)
U16 safe_instruction_bytestream2u16 (U8 *stream, S32 &offset)
void safe_instruction_u162bytestream (U8 *stream, S32 &offset, U16 value)
F32 safe_instruction_bytestream2float (U8 *stream, S32 &offset)
void safe_instruction_float2bytestream (U8 *stream, S32 &offset, F32 value)
void safe_instruction_bytestream2char (char *buffer, U8 *stream, S32 &offset, S32 buffsize)
void safe_instruction_bytestream_count_char (U8 *stream, S32 &offset)
void safe_heap_bytestream_count_char (U8 *stream, S32 &offset)
void safe_instruction_char2bytestream (U8 *stream, S32 &offset, char *buffer)
void safe_instruction_bytestream2vector (LLVector3 &value, U8 *stream, S32 &offset)
void safe_instruction_vector2bytestream (U8 *stream, S32 &offset, LLVector3 &value)
void safe_instruction_bytestream2quaternion (LLQuaternion &value, U8 *stream, S32 &offset)
void safe_instruction_quaternion2bytestream (U8 *stream, S32 &offset, LLQuaternion &value)
static LSCRIPTType char2type (char type)


Detailed Description

Shared code for compiler and assembler for LSL.

LicenseInfo
firstyear=2002&license=viewergpl

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.


Function Documentation

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().

Here is the call graph for this function:

Here is the caller graph for this function:

void byte2bytestream ( U8 stream,
S32 offset,
U8  byte 
) [inline]

Definition at line 195 of file lscript_byteconvert.h.

Referenced by alloc_entry2bytestream(), and lsa_create_data_block().

Here is the caller graph for this function:

U8 bytestream2byte ( const U8 stream,
S32 offset 
) [inline]

Definition at line 190 of file lscript_byteconvert.h.

Referenced by bytestream2alloc_entry().

Here is the caller graph for this function:

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.

bool bytestream2char ( char *  buffer,
const U8 stream,
S32 offset,
S32  buffsize 
) [inline]

F32 bytestream2float ( const U8 stream,
S32 offset 
) [inline]

S32 bytestream2integer ( const U8 stream,
S32 offset 
) [inline]

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]

S16 bytestream2s16 ( const U8 stream,
S32 offset 
) [inline]

Definition at line 104 of file lscript_byteconvert.h.

Referenced by bytestream2alloc_entry().

Here is the caller graph for this function:

U16 bytestream2u16 ( const U8 stream,
S32 offset 
) [inline]

Definition at line 119 of file lscript_byteconvert.h.

Referenced by print_calllib_two_byte(), and safe_instruction_bytestream2u16().

Here is the caller graph for this function:

U64 bytestream2u64 ( const U8 stream,
S32 offset 
) [inline]

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().

Here is the caller graph for this function:

U32 bytestream2unsigned_integer ( const U8 stream,
S32 offset 
) [inline]

Definition at line 56 of file lscript_byteconvert.h.

void bytestream2uuid ( U8 stream,
S32 offset,
LLUUID uuid 
) [inline]

Definition at line 218 of file lscript_byteconvert.h.

References i, LLUUID::mData, S32, and UUID_BYTES.

void bytestream2vector ( LLVector3 vector,
const U8 stream,
S32 offset 
) [inline]

void bytestream_int2float ( U8 stream,
S32 offset 
) [inline]

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().

Here is the call graph for this function:

Here is the caller graph for this function:

void char2bytestream ( U8 stream,
S32 offset,
const char *  buffer 
) [inline]

Definition at line 184 of file lscript_byteconvert.h.

Referenced by lsa_create_data_block(), lsa_insert_data(), and LLScriptLibData::write2bytestream().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

void float2bytestream ( U8 stream,
S32 offset,
F32  floatingpoint 
) [inline]

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().

Here is the call graph for this function:

Here is the caller graph for this function:

S32 get_event_stack_size ( U8 stream,
S32  state,
LSCRIPTStateEventType  event 
) [inline]

U64 get_handled_events ( U8 stream,
S32  state 
) [inline]

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

S32 get_state_event_opcoode_start ( U8 stream,
S32  state,
LSCRIPTStateEventType  event 
) [inline]

void integer2bytestream ( U8 stream,
S32 offset,
S32  integer 
) [inline]

void lsa_print_heap ( U8 buffer  ) 

BOOL lscript_check_global ( U8 stream,
S32 address,
S32  size 
) [inline]

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().

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL lscript_check_local ( U8 stream,
S32 address,
S32  size 
) [inline]

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the call graph for this function:

void lscript_global_get ( U8 stream,
S32  address,
LLVector3 value 
) [inline]

Definition at line 766 of file lscript_byteconvert.h.

References bytestream2vector(), lscript_check_global(), LSCRIPTDataSize, and LST_VECTOR.

Here is the call graph for this function:

void lscript_global_get ( U8 stream,
S32  address,
F32 value 
) [inline]

Definition at line 755 of file lscript_byteconvert.h.

References bytestream2float(), llfinite, lscript_check_global(), LSCRIPTDataSize, LSRF_MATH, LST_FLOATINGPOINT, and set_fault().

Here is the call graph for this function:

S32 lscript_global_get ( U8 stream,
S32  address 
) [inline]

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

void lscript_global_store ( U8 stream,
S32  address,
LLVector3  value 
) [inline]

Definition at line 706 of file lscript_byteconvert.h.

References lscript_check_global(), LSCRIPTDataSize, LST_VECTOR, and vector2bytestream().

Here is the call graph for this function:

void lscript_global_store ( U8 stream,
S32  address,
F32  value 
) [inline]

Definition at line 700 of file lscript_byteconvert.h.

References float2bytestream(), lscript_check_global(), LSCRIPTDataSize, and LST_FLOATINGPOINT.

Here is the call graph for this function:

void lscript_global_store ( U8 stream,
S32  address,
S32  value 
) [inline]

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the call graph for this function:

void lscript_local_get ( U8 stream,
S32  address,
LLVector3 value 
) [inline]

Definition at line 736 of file lscript_byteconvert.h.

References bytestream2vector(), lscript_check_local(), LSCRIPTDataSize, and LST_VECTOR.

Here is the call graph for this function:

void lscript_local_get ( U8 stream,
S32  address,
F32 value 
) [inline]

Definition at line 725 of file lscript_byteconvert.h.

References bytestream2float(), llfinite, lscript_check_local(), LSCRIPTDataSize, LSRF_MATH, LST_FLOATINGPOINT, and set_fault().

Here is the call graph for this function:

S32 lscript_local_get ( U8 stream,
S32  address 
) [inline]

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

void lscript_local_store ( U8 stream,
S32  address,
LLVector3  value 
) [inline]

Definition at line 682 of file lscript_byteconvert.h.

References lscript_check_local(), LSCRIPTDataSize, LST_VECTOR, and vector2bytestream().

Here is the call graph for this function:

void lscript_local_store ( U8 stream,
S32  address,
F32  value 
) [inline]

Definition at line 676 of file lscript_byteconvert.h.

References float2bytestream(), lscript_check_local(), LSCRIPTDataSize, and LST_FLOATINGPOINT.

Here is the call graph for this function:

void lscript_local_store ( U8 stream,
S32  address,
S32  value 
) [inline]

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().

Here is the call graph for this function:

Here is the caller graph for this function:

U8 lscript_pop_char ( U8 stream  )  [inline]

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().

Here is the call graph for this function:

Here is the caller graph for this function:

F32 lscript_pop_float ( U8 stream  )  [inline]

S32 lscript_pop_int ( U8 stream  )  [inline]

void lscript_pop_quaternion ( U8 stream,
LLQuaternion value 
) [inline]

void lscript_pop_vector ( U8 stream,
LLVector3 value 
) [inline]

void lscript_poparg ( U8 stream,
S32  arg 
) [inline]

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

void lscript_push ( U8 stream,
LLVector3 value 
) [inline]

Definition at line 531 of file lscript_byteconvert.h.

References get_register(), LREG_SP, LSCRIPTDataSize, LST_VECTOR, S32, set_sp(), and vector2bytestream().

Here is the call graph for this function:

void lscript_push ( U8 stream,
F32  value 
) [inline]

Definition at line 520 of file lscript_byteconvert.h.

References float2bytestream(), get_register(), LREG_SP, LSCRIPTDataSize, LST_FLOATINGPOINT, S32, and set_sp().

Here is the call graph for this function:

void lscript_push ( U8 stream,
S32  value 
) [inline]

Definition at line 509 of file lscript_byteconvert.h.

References get_register(), integer2bytestream(), LREG_SP, LSCRIPTDataSize, LST_INTEGER, S32, and set_sp().

Here is the call graph for this function:

void lscript_push ( U8 stream,
U8  value 
) [inline]

void lscript_pusharg ( U8 stream,
S32  arg 
) [inline]

Definition at line 553 of file lscript_byteconvert.h.

References get_register(), LREG_SP, S32, and set_sp().

Here is the call graph for this function:

void lscript_pusharge ( U8 stream,
S32  value 
) [inline]

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the call graph for this function:

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().

Here is the caller graph for this function:

void s162bytestream ( U8 stream,
S32 offset,
S16  integer 
) [inline]

Definition at line 111 of file lscript_byteconvert.h.

Referenced by alloc_entry2bytestream().

Here is the caller graph for this function:

void safe_heap_bytestream_count_char ( U8 stream,
S32 offset 
) [inline]

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().

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL safe_heap_check_address ( U8 stream,
S32  offset,
S32  size 
) [inline]

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().

Here is the call graph for this function:

Here is the caller graph for this function:

void safe_instruction_byte2bytestream ( U8 stream,
S32 offset,
U8  byte 
) [inline]

Definition at line 1007 of file lscript_byteconvert.h.

References safe_instruction_check_address().

Here is the call graph for this function:

U8 safe_instruction_bytestream2byte ( U8 stream,
S32 offset 
) [inline]

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

F32 safe_instruction_bytestream2float ( U8 stream,
S32 offset 
) [inline]

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().

Here is the call graph for this function:

Here is the caller graph for this function:

S32 safe_instruction_bytestream2integer ( U8 stream,
S32 offset 
) [inline]

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().

Here is the call graph for this function:

Here is the caller graph for this function:

U16 safe_instruction_bytestream2u16 ( U8 stream,
S32 offset 
) [inline]

Definition at line 1035 of file lscript_byteconvert.h.

References bytestream2u16(), and safe_instruction_check_address().

Referenced by run_calllib_two_byte().

Here is the call graph for this function:

Here is the caller graph for this function:

void safe_instruction_bytestream2vector ( LLVector3 value,
U8 stream,
S32 offset 
) [inline]

Definition at line 1120 of file lscript_byteconvert.h.

References bytestream2vector(), LSCRIPTDataSize, LST_VECTOR, and safe_instruction_check_address().

Referenced by run_pushargv().

Here is the call graph for this function:

Here is the caller graph for this function:

void safe_instruction_bytestream_count_char ( U8 stream,
S32 offset 
) [inline]

Definition at line 1099 of file lscript_byteconvert.h.

References safe_instruction_check_address().

Referenced by run_pushargs().

Here is the call graph for this function:

Here is the caller graph for this function:

void safe_instruction_char2bytestream ( U8 stream,
S32 offset,
char *  buffer 
) [inline]

Definition at line 1113 of file lscript_byteconvert.h.

References safe_instruction_check_address().

Here is the call graph for this function:

BOOL safe_instruction_check_address ( U8 stream,
S32  offset,
S32  size 
) [inline]

void safe_instruction_float2bytestream ( U8 stream,
S32 offset,
F32  value 
) [inline]

Definition at line 1073 of file lscript_byteconvert.h.

References float2bytestream(), LSCRIPTDataSize, LST_FLOATINGPOINT, and safe_instruction_check_address().

Here is the call graph for this function:

void safe_instruction_integer2bytestream ( U8 stream,
S32 offset,
S32  value 
) [inline]

Definition at line 1027 of file lscript_byteconvert.h.

References integer2bytestream(), LSCRIPTDataSize, LST_INTEGER, and safe_instruction_check_address().

Here is the call graph for this function:

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().

Here is the call graph for this function:

void safe_instruction_u162bytestream ( U8 stream,
S32 offset,
U16  value 
) [inline]

Definition at line 1047 of file lscript_byteconvert.h.

References safe_instruction_check_address(), and u162bytestream().

Here is the call graph for this function:

void safe_instruction_vector2bytestream ( U8 stream,
S32 offset,
LLVector3 value 
) [inline]

Definition at line 1128 of file lscript_byteconvert.h.

References LSCRIPTDataSize, LST_VECTOR, safe_instruction_check_address(), and vector2bytestream().

Here is the call graph for this function:

BOOL set_bp ( U8 stream,
S32  bp 
) [inline]

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

void set_fault ( const U8 stream,
LSCRIPTRunTimeFaults  fault 
) [inline]

BOOL set_ip ( U8 stream,
S32  ip 
) [inline]

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the call graph for this function:

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().

Here is the call graph for this function:

BOOL set_sp ( U8 stream,
S32  sp 
) [inline]

void u162bytestream ( U8 stream,
S32 offset,
U16  integer 
) [inline]

Definition at line 126 of file lscript_byteconvert.h.

Referenced by LLScriptByteCodeChunk::addU16(), and safe_instruction_u162bytestream().

Here is the caller graph for this function:

void u642bytestream ( U8 stream,
S32 offset,
U64  integer 
) [inline]

Definition at line 90 of file lscript_byteconvert.h.

Referenced by LLScriptState::recurse(), set_event_register(), and set_register_u64().

Here is the caller graph for this function:

void unsigned_integer2bytestream ( U8 stream,
S32 offset,
U32  integer 
) [inline]

Definition at line 81 of file lscript_byteconvert.h.

void uuid2bytestream ( U8 stream,
S32 offset,
const LLUUID uuid 
) [inline]

Definition at line 209 of file lscript_byteconvert.h.

References i, LLUUID::mData, S32, and UUID_BYTES.

void vector2bytestream ( U8 stream,
S32 offset,
LLVector3 vector 
) [inline]

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().

Here is the call graph for this function:

Here is the caller graph for this function:


Generated on Fri May 16 08:36:02 2008 for SecondLife by  doxygen 1.5.5