Changeset 195 for src/VM/cil
- Timestamp:
- 09/14/08 01:45:22 (4 months ago)
- Files:
-
- src/VM/cil/cilVMArgumentList.cpp (modified) (2 diffs)
- src/VM/cil/cilVMBind.cpp (modified) (1 diff)
- src/VM/cil/cilVMExceptionHandling.cpp (modified) (2 diffs)
- src/VM/cil/cilVMILPool.cpp (modified) (1 diff)
- src/VM/cil/cilVMObject.cpp (modified) (3 diffs)
- src/VM/cil/cilVMOperatorBrFalse.cpp (modified) (3 diffs)
- src/VM/cil/cilVMTemplate.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
src/VM/cil/cilVMArgumentList.cpp
r138 r195 246 246 VMOBJECTREF pCallee = createObject( m_ridFunctionObject ); 247 247 pCallee->setCallProperty( pStack->ridMethod ); 248 pObj->setProperty( NAME_BUILTIN_FUNCTION_PROPERTY_CALLEE, CVariable( pCallee ) ); 248 249 CVariable varPointer( pCallee ); 250 pObj->setProperty( NAME_BUILTIN_FUNCTION_PROPERTY_CALLEE, varPointer ); 249 251 250 252 //Set caller proeperty … … 276 278 VMOBJECTREF pCallee = createObject( m_ridFunctionObject ); 277 279 pCallee->setCallProperty( pStack->ridMethod ); 278 pObjCaller->setProperty( NAME_BUILTIN_FUNCTION_PROPERTY_CALLEE, CVariable( pCallee ) ); 279 280 pObj->setProperty( NAME_BUILTIN_FUNCTION_PROPERTY_CALLER, CVariable( pObjCaller) ); 280 CVariable varPointer( pCallee ); 281 pObjCaller->setProperty( NAME_BUILTIN_FUNCTION_PROPERTY_CALLEE, varPointer ); 282 283 CVariable varPointerObj( pObjCaller ); 284 pObj->setProperty( NAME_BUILTIN_FUNCTION_PROPERTY_CALLER, varPointerObj ); 281 285 } 282 286 src/VM/cil/cilVMBind.cpp
r138 r195 180 180 assert( iLength >= 0 ); 181 181 182 CVariable varInt( iLength, OPERAND_FLAG_DONTENUM ); 182 183 var.refObject->setProperty( STRING_INTERNAL_LENGTH, 183 CVariable( iLength, OPERAND_FLAG_DONTENUM ));184 varInt ); 184 185 185 186 //Store the ObjectRef to a static field src/VM/cil/cilVMExceptionHandling.cpp
r138 r195 400 400 401 401 if( pstrName != NULL ) 402 obj.refObject->setProperty( NAME_BUILTIN_ERROR_PROPERTY_NAME, 403 CVariable( pstrName, 404 OPERAND_FLAG( OPERAND_FLAG_READONLY | OPERAND_FLAG_DONTENUM | OPERAND_FLAG_DONTDELETE ) ) ); 405 406 obj.refObject->setProperty( NAME_BUILTIN_ERROR_PROPERTY_NUMBER, 407 CVariable( iNumber, 408 OPERAND_FLAG( OPERAND_FLAG_READONLY | OPERAND_FLAG_DONTENUM | OPERAND_FLAG_DONTDELETE ) ) ); 402 { 403 CVariable varString( pstrName, 404 OPERAND_FLAG( OPERAND_FLAG_READONLY | OPERAND_FLAG_DONTENUM | OPERAND_FLAG_DONTDELETE ) ); 405 obj.refObject->setProperty( NAME_BUILTIN_ERROR_PROPERTY_NAME, varString ); 406 } 407 CVariable varInt( iNumber, 408 OPERAND_FLAG( OPERAND_FLAG_READONLY | OPERAND_FLAG_DONTENUM | OPERAND_FLAG_DONTDELETE ) ); 409 obj.refObject->setProperty( NAME_BUILTIN_ERROR_PROPERTY_NUMBER, varInt ); 409 410 410 411 //Push the ObjectRef to a eval stack … … 439 440 440 441 if( pstrName != NULL ) 441 obj.refObject->setProperty( NAME_BUILTIN_ERROR_PROPERTY_NAME, 442 CVariable( pstrName, 443 OPERAND_FLAG( OPERAND_FLAG_READONLY | OPERAND_FLAG_DONTENUM | OPERAND_FLAG_DONTDELETE ) ) ); 444 445 obj.refObject->setProperty( NAME_BUILTIN_ERROR_PROPERTY_NUMBER, 446 CVariable( iNumber, 447 OPERAND_FLAG( OPERAND_FLAG_READONLY | OPERAND_FLAG_DONTENUM | OPERAND_FLAG_DONTDELETE ) ) ); 442 { 443 CVariable varString( pstrName, 444 OPERAND_FLAG( OPERAND_FLAG_READONLY | OPERAND_FLAG_DONTENUM | OPERAND_FLAG_DONTDELETE ) ); 445 obj.refObject->setProperty( NAME_BUILTIN_ERROR_PROPERTY_NAME, varString ); 446 } 447 448 CVariable varInt( iNumber, 449 OPERAND_FLAG( OPERAND_FLAG_READONLY | OPERAND_FLAG_DONTENUM | OPERAND_FLAG_DONTDELETE ) ); 450 obj.refObject->setProperty( NAME_BUILTIN_ERROR_PROPERTY_NUMBER, varInt ); 448 451 449 452 //Push the ObjectRef to a eval stack src/VM/cil/cilVMILPool.cpp
r138 r195 48 48 } 49 49 50 bool CCilVm::setILPool( const uint8_t* pILPool, const size_t size ) 51 { 52 if( m_status != VM_EXECUTE_INITIALIZING ) return false; 53 54 ILFRAGMENTINFO ilInfo; 55 m_CurrentILPool = ilInfo; 56 57 for( uint32_t i = 0; i < size; ++i ) 58 m_CurrentILPool.ILPool.push_back( *pILPool++ ); 59 60 m_pCurrentInstruction = &m_CurrentILPool.ILPool[ 0 ]; 61 62 return true; 63 } 50 64 51 65 } //namespace CRI src/VM/cil/cilVMObject.cpp
r138 r195 213 213 it = m_mapProperty.find( name ); 214 214 215 OPERAND_TYPE op = (OPERAND_TYPE)OperandType( var.iOperandType );216 217 215 if( it != m_mapProperty.end() ) 218 216 { … … 239 237 hash_map< wstring, CVariable >::iterator it; 240 238 it = m_mapProperty.find( name ); 241 242 OPERAND_TYPE op = (OPERAND_TYPE)OperandType( var.iOperandType );243 239 244 240 if( it != m_mapProperty.end() ) … … 296 292 297 293 assert( iLength >= 0 ); 298 var.refObject->setProperty( STRING_INTERNAL_LENGTH,299 CVariable( iLength, OPERAND_FLAG_DONTENUM ));294 CVariable varInt( iLength, OPERAND_FLAG_DONTENUM ); 295 var.refObject->setProperty( STRING_INTERNAL_LENGTH, varInt ); 300 296 301 297 //Store the ObjectRef to a static field src/VM/cil/cilVMOperatorBrFalse.cpp
r138 r195 103 103 { 104 104 case OPERAND_INT: 105 bTakeBranch = ( lhs.iValue != 0 );105 bTakeBranch = ( lhs.iValue == 0 ); 106 106 break; 107 107 case OPERAND_INT64: 108 bTakeBranch = ( lhs.i64Value != 0 );108 bTakeBranch = ( lhs.i64Value == 0 ); 109 109 break; 110 110 case OPERAND_FLOAT: 111 bTakeBranch = ( lhs.fValue != 0 );111 bTakeBranch = ( lhs.fValue == 0 ); 112 112 break; 113 113 case OPERAND_DOUBLE: 114 bTakeBranch = ( lhs.dValue != 0 );114 bTakeBranch = ( lhs.dValue == 0 ); 115 115 break; 116 116 case OPERAND_STRING: … … 118 118 break; 119 119 case OPERAND_OBJECTREF: 120 bTakeBranch = ( lhs.refObject != NULL );120 bTakeBranch = ( lhs.refObject == NULL ); 121 121 break; 122 122 case OPERAND_UNDEFINED: 123 123 case OPERAND_NULL: 124 124 case OPERAND_NAN: 125 bTakeBranch = false;125 bTakeBranch = true; 126 126 break; 127 127 case OPERAND_BOOLEAN: … … 132 132 break; 133 133 } 134 bTakeBranch = !bTakeBranch;135 136 134 if( bTakeBranch ) 137 135 { src/VM/cil/cilVMTemplate.cpp
r1 r195 18 18 #include "stdafx.h" 19 19 #include "CriScript.h" 20 #include "msilVM.h"21 20 namespace cri { 22 21 /***************************************************************************
