@@ -2415,45 +2415,80 @@ public void Ldind_Ref(ThreadContext context, object obj)
24152415 }
24162416 public void Stind_Ref ( ThreadContext context , object obj )
24172417 {
2418- Type t = obj . GetType ( ) ;
2419- throw new NotImplementedException ( t . ToString ( ) ) ;
2420- //_codepos++;
2418+ var o1 = stackCalc . Pop ( ) ;
2419+ var o2 = stackCalc . Pop ( ) ;
2420+ if ( o2 is RefObj )
2421+ {
2422+ ( o2 as RefObj ) . Set ( o1 ) ;
2423+ }
2424+
2425+ _codepos ++ ;
24212426 }
24222427 public void Stind_I1 ( ThreadContext context , object obj )
24232428 {
2424- Type t = obj . GetType ( ) ;
2425- throw new NotImplementedException ( t . ToString ( ) ) ;
2426- //_codepos++;
2429+ var o1 = stackCalc . Pop ( ) ;
2430+ var o2 = stackCalc . Pop ( ) ;
2431+ if ( o2 is RefObj )
2432+ {
2433+ ( o2 as RefObj ) . Set ( o1 ) ;
2434+ }
2435+
2436+ _codepos ++ ;
24272437 }
24282438 public void Stind_I2 ( ThreadContext context , object obj )
24292439 {
2430- Type t = obj . GetType ( ) ;
2431- throw new NotImplementedException ( t . ToString ( ) ) ;
2432- //_codepos++;
2440+ var o1 = stackCalc . Pop ( ) ;
2441+ var o2 = stackCalc . Pop ( ) ;
2442+ if ( o2 is RefObj )
2443+ {
2444+ ( o2 as RefObj ) . Set ( o1 ) ;
2445+ }
2446+
2447+ _codepos ++ ;
24332448 }
24342449 public void Stind_I4 ( ThreadContext context , object obj )
24352450 {
2436- Type t = obj . GetType ( ) ;
2437- throw new NotImplementedException ( t . ToString ( ) ) ;
2438- //_codepos++;
2451+ var o1 = stackCalc . Pop ( ) ;
2452+ var o2 = stackCalc . Pop ( ) ;
2453+ if ( o2 is RefObj )
2454+ {
2455+ ( o2 as RefObj ) . Set ( o1 ) ;
2456+ }
2457+
2458+ _codepos ++ ;
24392459 }
24402460 public void Stind_I8 ( ThreadContext context , object obj )
24412461 {
2442- Type t = obj . GetType ( ) ;
2443- throw new NotImplementedException ( t . ToString ( ) ) ;
2444- //_codepos++;
2462+ var o1 = stackCalc . Pop ( ) ;
2463+ var o2 = stackCalc . Pop ( ) ;
2464+ if ( o2 is RefObj )
2465+ {
2466+ ( o2 as RefObj ) . Set ( o1 ) ;
2467+ }
2468+
2469+ _codepos ++ ;
24452470 }
24462471 public void Stind_R4 ( ThreadContext context , object obj )
24472472 {
2448- Type t = obj . GetType ( ) ;
2449- throw new NotImplementedException ( t . ToString ( ) ) ;
2450- //_codepos++;
2473+ var o1 = stackCalc . Pop ( ) ;
2474+ var o2 = stackCalc . Pop ( ) ;
2475+ if ( o2 is RefObj )
2476+ {
2477+ ( o2 as RefObj ) . Set ( o1 ) ;
2478+ }
2479+
2480+ _codepos ++ ;
24512481 }
24522482 public void Stind_R8 ( ThreadContext context , object obj )
24532483 {
2454- Type t = obj . GetType ( ) ;
2455- throw new NotImplementedException ( t . ToString ( ) ) ;
2456- //_codepos++;
2484+ var o1 = stackCalc . Pop ( ) ;
2485+ var o2 = stackCalc . Pop ( ) ;
2486+ if ( o2 is RefObj )
2487+ {
2488+ ( o2 as RefObj ) . Set ( o1 ) ;
2489+ }
2490+
2491+ _codepos ++ ;
24572492 }
24582493 public void And ( )
24592494 {
0 commit comments