2897a

 /*
  * -- ADDED by plakal@skipper
  */
  {
    struct methodblock *mb = frame->current_method;
    char cs752_class_name[128], *method_name, *method_signature;

    if (mb) {
        method_name = fieldname(&mb->fb);
	method_signature = fieldsig(&mb->fb);
    } else {
      method_name = method_signature = "**Missing method**";
    }
           
    fprintf( stderr, ">>>Returned to Method: " );
    if( mb == NULL )
      fprintf( stderr, "**Missing method**" );
    else
    { 
	      fprintf( stderr, "%s",
		      (fieldclass(&mb->fb) 
                       ? classname2string( classname( fieldclass(&mb->fb) ), 
					  cs752_class_name, 
					  sizeof( cs752_class_name ) )
		       : "**Missing class**" ) );
	      fprintf( stderr, "::%s( Sig %s", method_name, method_signature );
	      fprintf( stderr, ", from %s )",
		      (fieldclass(&mb->fb)
		       ? classsrcname( fieldclass(&mb->fb) )
		       : "**Missing class**" )
		      );
     }
    fprintf( stderr, "\n" );
  }  

 /*
  * -- END ADDITION by plakal@skipper
  */
.
2894a
 /*
  * -- ADDED by plakal@skipper
  */
 
	      fprintf( stderr, ">>>Jumping to Exception-Handler\n" );
 /*
  * -- END ADDITION by plakal@skipper
  */	      
.
2851a

	      CS752_STACK_WRITE( 0 )

.
2818a
		    
		    CS752_VARS_READ( reg )

.
2813a

		    CS752_VARS_WRITE( reg )

.
2812a

		    CS752_CODE_READ( 4 );
		    CS752_CODE_READ( 5 );

.
2805a

		    CS752_STACK_READ( -2 )
		    CS752_VARS_WRITE( reg )
		    CS752_STACK_READ( -1 )
		    CS752_VARS_WRITE( reg + 1 )

.
2794a

		    CS752_STACK_READ( -1 )
		    CS752_VARS_WRITE( reg )

.
2785a

		    CS752_VARS_READ( reg )
		    CS752_STACK_WRITE( 0 )
		    CS752_VARS_READ( reg + 1 )
		    CS752_STACK_WRITE( 1 )

.
2774a
		    
		    CS752_VARS_READ( reg )
		    CS752_STACK_WRITE( 0 )

.
2769a
	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );
	    CS752_CODE_READ( 3 );
	    
.
2746a

	    CS752_STACK_READ( -1 )

.
2735a

	    CS752_STACK_READ( -1 )

.
2728a

            CS752_ARRAY_WRITE( arr, index )

.
2723a
	    CS752_STACK_READ( -1 )
            CS752_ARRAY_LENGTH_READ( arrh )
            CS752_ARRAY_READ( arr, obj_length(arrh) )

.
2713a

	    CS752_STACK_READ( -1 )
            CS752_ARRAY_WRITE( arr, index )

.
2706a

	    CS752_STACK_READ( -1 )
            CS752_ARRAY_WRITE( arr, index )

.
2699a

	    CS752_STACK_READ( -1 )
            CS752_ARRAY_WRITE( arr, index )

.
2692a
	    
	    CS752_STACK_READ( -2 )
	    CS752_STACK_READ( -1 )
            CS752_ARRAY_WRITE( arr, index )

.
2685a

	    CS752_STACK_READ( -1 )
            CS752_ARRAY_WRITE( arr, index )

.
2678a

	    CS752_STACK_READ( -2 )
	    CS752_STACK_READ( -1 )
            CS752_ARRAY_WRITE( arr, index )

.
2671a

	    CS752_STACK_READ( -1 )
            CS752_ARRAY_WRITE( arr, index )

.
2664a

	    CS752_STACK_WRITE( -2 )
	    CS752_ARRAY_READ( arr, index )


.
2657a

	    CS752_STACK_WRITE( -2 )
	    CS752_ARRAY_READ( arr, index )


.
2650a

	    CS752_STACK_WRITE( -2 )
	    CS752_ARRAY_READ( arr, index )


.
2643a

	    CS752_STACK_WRITE( -2 )
	    CS752_ARRAY_READ( arr, index )


.
2636a

	    CS752_STACK_WRITE( -2 )
	    CS752_STACK_WRITE( -1 )
	    CS752_ARRAY_READ( arr, index )


.
2629a

	    CS752_STACK_WRITE( -2 )
	    CS752_ARRAY_READ( arr, index )

.
2622a

	    CS752_STACK_WRITE( -2 )
	    CS752_STACK_WRITE( -1 )
	    CS752_ARRAY_READ( arr, index )

.
2616a

	    CS752_STACK_WRITE( -2 )
	    CS752_ARRAY_READ( arr, index )

.
2603a
            CS752_ARRAY_LENGTH_READ( arrh )       \
.
2600a
            CS752_STACK_READ( indexOffset )       \
            CS752_STACK_READ( arrayOffset )       \
.
2592a
	    
	    CS752_STACK_WRITE( -1 )

.
2584a

	    CS752_STACK_READ( -1 )
	    CS752_CODE_READ( 1 );
	    

.
2573a
	    
	    CS752_STACK_WRITE( 0 )

.
2569a
              }
	    
.
2567a
	      {
		CS752_STACK_READ( i )

.
2562a
	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );
	    CS752_CODE_READ( 3 );
	    
.
2553a
		 }
	    
.
2552a
		 {
		   CS752_CODE_WRITE( 0 );

.
2551a
	    
	       CS752_CODE_READ( 1 );
	       CS752_CODE_READ( 2 );
	    
.
2542a
		
		CS752_STACK_WRITE( -1 )

.
2538a

		CS752_CODE_READ( 1 );
		CS752_CODE_READ( 2 );
		
.
2531a

	    CS752_STACK_READ( -1 )

.
2525a
		  }
	    
.
2524a
		  {
		    CS752_CODE_WRITE( 0 );

.
2523a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );

.
2514a

	    CS752_STACK_WRITE( 0 )

.
2513a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );

.
2508a
		  }
	    
.
2507a
		  {
		    CS752_CODE_WRITE( 0 );

.
2501a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );

.
2483a

	    CS752_STACK_READ( -1 )
	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );

.
2477a
		  }
	    
.
2476a
		  {
		    CS752_CODE_WRITE( 0 );

.
2475a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );

.
2466a
	    
	    CS752_STACK_WRITE( -1 )

.
2465a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );
	    CS752_STACK_READ( -1 )

.
2462c
 
.
2459a
		  }
	    
.
2458a
		  {
		    CS752_CODE_WRITE( 0 );

.
2457a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );

.
2441a

 /*
  * -- ADDED by plakal@skipper
  */
  {

    char cs752_class_name[128], *method_name, *method_signature;

    if (mb) {
        method_name = fieldname(&mb->fb);
	method_signature = fieldsig(&mb->fb);
    } else {
      method_name = method_signature = "**Missing method**";
    }
           
    fprintf( stderr, ">>>Invoking Method: " );
    if( mb == NULL )
      fprintf( stderr, "**Missing method**" );
    else
    { 
	      fprintf( stderr, "%s",
		      (fieldclass(&mb->fb) 
                       ? classname2string( classname( fieldclass(&mb->fb) ), 
					  cs752_class_name, 
					  sizeof( cs752_class_name ) )
		       : "**Missing class**" ) );
	      fprintf( stderr, "::%s( Sig %s", method_name, method_signature );
	      fprintf( stderr, ", from %s )",
		      (fieldclass(&mb->fb)
		       ? classsrcname( fieldclass(&mb->fb) )
		       : "**Missing class**" )
		      );
     }
    fprintf( stderr, "\n" );
  }  

 /*
  * -- END ADDITION by plakal@skipper
  */
.
2425a

	    CS752_STACK_READ( 0 )

.
2421a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );

.
2415a
	    
	    CS752_STACK_READ( 0 )

.
2411a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );

.
2406a

		CS752_CODE_WRITE( 4 );
		
.
2340a

	    CS752_STACK_READ( 0 )

.
2336a
		
.
2335a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );
	    CS752_CODE_READ( 3 );
	    CS752_CODE_READ( 4 );
.
2321a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );
	
.
2314a

	    CS752_STACK_READ( 0 )

.
2310a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );
	
.
2303a

	    CS752_STACK_READ( 0 )

.
2298a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );
	
.
2290a

	    CS752_STACK_READ( 0 )

.
2286a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );
	
.
2262a

		CS752_OBJ_READ( o, offset )
		CS752_STACK_WRITE( -1 )

.
2246a
		
		CS752_OBJ_READ( o, offset )
	        CS752_STACK_WRITE( -1 )
		CS752_OBJ_READ( o, offset+1 )
		CS752_STACK_WRITE( 0 )

.
2241a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );
	    CS752_STACK_READ( -1 )

.
2219a

	    CS752_HEAP_READ( location, stack_item )
	    CS752_STACK_WRITE( 0 )
	    CS752_HEAP_READ( location+1, stack_item )
	    CS752_STACK_WRITE( 1 )

.
2217a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );
	
.
2210a

		CS752_STACK_READ( -1 )
		CS752_OBJ_WRITE( o, offset )

.
2189a

		CS752_STACK_READ( -2 )

.
2186a

		CS752_STACK_READ( -2 )
		CS752_OBJ_WRITE( o, offset )
		CS752_STACK_READ( -1 )
		CS752_OBJ_WRITE( o, offset+1 )

.
2169a

		CS752_STACK_READ( -3 )

.
2167a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );
	
.
2146a

	    CS752_STACK_READ( -2 )
	    CS752_HEAP_WRITE( location, stack_item )
	    CS752_STACK_READ( -1 )
	    CS752_HEAP_WRITE( (location+1), stack_item )

.
2144a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );
	
.
2120a

	    CS752_STACK_WRITE( 0 )
	    CS752_HEAP_READ( d, OBJECT )

.
2119c
            OBJECT *d = (OBJECT *) normal_static_address(fb);

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );
		
.
2095a

	    CS752_STACK_READ( -1 )
	    CS752_HEAP_WRITE( d, OBJECT )
	
.
2094a

            CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );

.
2087a

	    CS752_STACK_READ( -1 )

	    CS752_CODE_READ( 1 );
	    CS752_OBJ_READ( o, pc[1] )
	    CS752_STACK_WRITE( -1 )

	    CS752_CODE_READ( 1 );
	    CS752_OBJ_WRITE( o, pc[1] + 1 )
	    CS752_STACK_WRITE( 0 )

.
2081a

.
2076a

	    CS752_STACK_READ( -3 )

	    CS752_STACK_READ( -2 )
	    CS752_CODE_READ( 1 );
	    CS752_OBJ_WRITE( o, pc[1] )

	    CS752_STACK_READ( -1 )
	    CS752_CODE_READ( 1 );
	    CS752_OBJ_WRITE( o, pc[1] + 1 )
	    

.
2070a

.
2063a

	    CS752_STACK_READ( -1 )
	    CS752_CODE_READ( 1 );
	    CS752_OBJ_READ( o, pc[1] )
	    CS752_STACK_WRITE( -1 )

.
2060a

.
2055a

            CS752_CODE_READ( 1 );
	    CS752_STACK_READ( -2 )
	    CS752_STACK_READ( -1 )
	    CS752_OBJ_WRITE( o, pc[1] )

.
2050a

.
2039a

                      CS752_CODE_WRITE( 0 );
		      CS752_CODE_WRITE( 1 );
		      CS752_CODE_WRITE( 2 );
		      CS752_CODE_WRITE( 4 );

.
2026a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );
	
.
2013a
			        
                                CS752_CODE_WRITE( 0 );
				CS752_CODE_WRITE( 1 );
				CS752_CODE_WRITE( 2 );

.
2004a

                        CS752_CODE_WRITE( 0 );

.
1999a

                            CS752_CODE_WRITE( 0 );

.
1992a

			      CS752_CODE_WRITE( 0 );
			      CS752_CODE_WRITE( 1 );
			      CS752_CODE_WRITE( 2 );

.
1971a
			    CS752_CODE_WRITE( 0 );
.
1949a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );
.
1937a

                        CS752_CODE_WRITE( 0 );

.
1914a
	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );
	
.
1900a

			    CS752_CODE_WRITE( 0 );

.
1895a

			      CS752_CODE_WRITE( 0 );
			      CS752_CODE_WRITE( 1 );

.
1868a
	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );
	
.
1865c

         	int field_index = GET_INDEX(pc+1);
.
1855a
 /*
  * -- ADDED by plakal@skipper
  */
 
	      fprintf( stderr, ">>>Jumping to Exception-Handler\n" );
 /*
  * -- END ADDITION by plakal@skipper
  */	
.
1847a

	    CS752_STACK_READ( -1 )

.
1836a
	            CS752_CODE_READ_LONG( lpc, 1 )
.
1835a
	        CS752_CODE_READ_LONG( lpc, 0 )
.
1832a

	    CS752_CODE_READ_LONG( lpc, 0 )
	    CS752_CODE_READ_LONG( lpc, 1 )

	    CS752_STACK_READ( -1 )

.
1823a
	    if( (unsigned) key > high - low )
	      CS752_CODE_READ_LONG( lpc, 0 )
	    else
	      CS752_CODE_READ_LONG( lpc, key+3 )
	    
.
1818a

	    CS752_CODE_READ_LONG( lpc, 1 )
	    CS752_CODE_READ_LONG( lpc, 2 )

	    CS752_STACK_READ( -1 )

.
1805a
	    
	    CS752_STACK_WRITE( -1 )
	    CS752_ARRAY_LENGTH_READ( arr ) 

.
1803a
	    
	    CS752_STACK_READ( -1 )

.
1795a

	    CS752_STACK_READ( -1 )
	    CS752_STACK_READ( -2 )
	    CS752_STACK_WRITE( -1 )
	    CS752_STACK_WRITE( -2 )

.
1784a
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( 1 )
	    CS752_STACK_READ( -2 )
	    CS752_STACK_WRITE( 0 )
	    CS752_STACK_READ( -3 )
	    CS752_STACK_WRITE( -1 )
	    CS752_STACK_READ( -4 )
	    CS752_STACK_WRITE( -2 )
	    CS752_STACK_READ( 1 )
	    CS752_STACK_WRITE( -3 )
	    CS752_STACK_READ( 0 )
	    CS752_STACK_WRITE( -4 )

.
1775a
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( 1 )
	    CS752_STACK_READ( -2 )
	    CS752_STACK_WRITE( 0 )
	    CS752_STACK_READ( -3 )
	    CS752_STACK_WRITE( -1 )
	    CS752_STACK_READ( 1 )
	    CS752_STACK_WRITE( -2 )
	    CS752_STACK_READ( 0 )
	    CS752_STACK_WRITE( -3 )

.
1767a
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( 0 )
	    CS752_STACK_READ( -2 )
	    CS752_STACK_WRITE( -1 )
	    CS752_STACK_READ( -3 )
	    CS752_STACK_WRITE( -2 )
	    CS752_STACK_READ( 0 )
	    CS752_STACK_WRITE( -3 )

.
1760a
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( 0 )
	    CS752_STACK_READ( -2 )
	    CS752_STACK_WRITE( -1 )
	    CS752_STACK_READ( 0 )
	    CS752_STACK_WRITE( -2 )

.
1754a
	    CS752_STACK_READ( -2 )
	    CS752_STACK_WRITE( 0 )
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( 1 )

.
1749a
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( 0 )

.
1721a
            CS752_STACK_READ( -1 )     \
	    if( S_POINTER(-1) comparison NULL)			          \
	    {								  \
             	    CS752_CODE_READ( 1 );                                 \
	            CS752_CODE_READ( 2 );                                 \
	    }                                                             \
.
1713a
            CS752_STACK_READ( -1 )      \
            CS752_STACK_READ( -2 )      \
	    if( S_POINTER(-2) comparison S_POINTER(-1))			  \
	    {								  \
             	    CS752_CODE_READ( 1 );                                 \
	            CS752_CODE_READ( 2 );                                 \
	    }                                                             \
.
1701a
	    CS752_STACK_READ( -1 )      \
	    if( S_INT(-1) comparison 0)				          \
	    {								  \
             	    CS752_CODE_READ( 1 );                                 \
	            CS752_CODE_READ( 2 );                                 \
	    }                                                             \
.
1693a
	    CS752_STACK_READ( -1 )     \
	    CS752_STACK_READ( -2 )     \
	    if( S_INT(-2) comparison S_INT(-1))				  \
	    {								  \
             	    CS752_CODE_READ( 1 );                                 \
	            CS752_CODE_READ( 2 );                                 \
	    }                                                             \
.
1684a

	    CS752_VARS_READ( pc[1] )

.
1683a

	    CS752_CODE_READ( 1 );

.
1677a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );

.
1676a

.
1671a
	    CS752_STACK_WRITE( 0 )

.
1666c

            int skip = pc2signedshort(pc);

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );

.
1660a
	    CS752_STACK_WRITE( 0 )

.
1653a
	    CS752_STACK_READ( -2 )
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( -2 )
	    CS752_STACK_WRITE( -1 )

.
1648a
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( -1 )

.
1643a
            CS752_STACK_READ( -4 )      
            CS752_STACK_READ( -3 )      
            CS752_STACK_READ( -2 )      
            CS752_STACK_READ( -1 )      
            CS752_STACK_WRITE( -4 )     
            CS752_STACK_WRITE( -3 )     
	
.
1638a
	    CS752_STACK_READ( -1 )      
            CS752_STACK_READ( -2 )      
	    CS752_STACK_WRITE( -2 )
     
.
1628a
            CS752_STACK_READ( -4 )      \
            CS752_STACK_READ( -3 )      \
            CS752_STACK_READ( -2 )      \
            CS752_STACK_READ( -1 )      \
            CS752_STACK_WRITE( -4 )     \
            CS752_STACK_WRITE( -3 )     \
.
1623a
            CS752_STACK_READ( -1 )      \
            CS752_STACK_READ( -2 )      \
	    CS752_STACK_WRITE( -2 )     \
.
1615a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );

	    CS752_VARS_WRITE( pc[1] )
	    
.
1609a
	    CS752_STACK_READ( -2 )
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( -2 )
	    CS752_STACK_WRITE( -1 )

.
1604a
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( -1 )

.
1598a
            CS752_STACK_READ( -3 )      
            CS752_STACK_READ( -2 )      
            CS752_STACK_READ( -1 )      
            CS752_STACK_WRITE( -3 )     
	
.
1597a

.
1594a
            CS752_STACK_READ( -1 )       
            CS752_STACK_READ( -2 )       
            CS752_STACK_WRITE( -2 )
	
.
1586a
            CS752_STACK_READ( -3 )      \
            CS752_STACK_READ( -2 )      \
            CS752_STACK_READ( -1 )      \
            CS752_STACK_WRITE( -3 )     \
.
1582a
            CS752_STACK_READ( -1 )       \
            CS752_STACK_READ( -2 )       \
            CS752_STACK_WRITE( -2 )      \
.
1566a
            CS752_STACK_READ( -4 )      \
            CS752_STACK_READ( -3 )      \
            CS752_STACK_READ( -2 )      \
            CS752_STACK_READ( -1 )      \
            CS752_STACK_WRITE( -4 )     \
            CS752_STACK_WRITE( -3 )     \
.
1560a
            CS752_STACK_READ( -1 )      \
            CS752_STACK_READ( -2 )      \
	    CS752_STACK_WRITE( -2 )     \
.
1552a
	    CS752_STACK_WRITE( 0 )
	    CS752_STACK_WRITE( 1 )

.
1547a
	    CS752_STACK_WRITE( 0 )
	    CS752_STACK_WRITE( 1 )

.
1542a
	    CS752_STACK_WRITE( 0 )
	    CS752_STACK_WRITE( 1 )

.
1537a
	    CS752_STACK_WRITE( 0 )
	    CS752_STACK_WRITE( 1 )

.
1519a
            CS752_STACK_WRITE( 0 )                                      \
.
1512a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );

	    CS752_STACK_WRITE( 0 )
	    CS752_STACK_WRITE( 1 )

.
1508a
		  }
	    
.
1507a
		  {
		    CS752_CODE_WRITE( 0 );
.
1503a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );

.
1498a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );

	    CS752_STACK_WRITE( 0 )

.
1494a
		  }
	    
.
1493a
		  {
		    CS752_CODE_WRITE( 0 );
.
1488a

.
1487a

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );									  
.
1482a

	    CS752_CODE_READ( 1 );

	    CS752_STACK_WRITE( 0 )

.
1478a
		  }
	    
.
1477a
		  {
		    CS752_CODE_WRITE( 0 );
.
1471a

	    CS752_CODE_READ( 1 );

.
1466c
	case opc_sipush:

	    CS752_CODE_READ( 1 );
	    CS752_CODE_READ( 2 );
	
	    CS752_STACK_WRITE( 0 )

.
1460c
	case opc_bipush:

	    CS752_CODE_READ( 1 );

	    CS752_STACK_WRITE( 0 )
	    
.
1453a
	    CS752_STACK_READ( -4 )
	    CS752_STACK_READ( -3 )
	    CS752_STACK_READ( -2 )
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( -4 )

.
1439a
	    
	    CS752_STACK_READ( -4 )
	    CS752_STACK_READ( -3 )
	    CS752_STACK_READ( -2 )
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( -4 )

.
1431a
	    CS752_STACK_READ( -2 )
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( -2 )

.
1418a
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( -1 )

.
1413a
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( -1 )

.
1408a
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( -1 )

.
1403a
	    CS752_STACK_READ( -2 )
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( -2 )
	    CS752_STACK_WRITE( -1 )

.
1397a
	    CS752_STACK_READ( -2 )
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( -2 )

.
1392a
	    CS752_STACK_READ( -2 )
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( -2 )

.
1386a
	    CS752_STACK_READ( -2 )
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( -2 )
	    CS752_STACK_WRITE( -1 )

.
1380a
	    CS752_STACK_READ( -2 )
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( -2 )

.
1375a
	    CS752_STACK_READ( -2 )
	    CS752_STACK_READ( -1 )
            CS752_STACK_WRITE( -2 )

.
1370a
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( -1 ) 
	    CS752_STACK_WRITE( 0 )

.
1365a
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( -1 ) 
	    CS752_STACK_WRITE( 0 )

.
1360a
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( -1 ) 

.
1355a
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( -1 ) 

.
1350a
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( -1 ) 

.
1345a
	    CS752_STACK_READ( -1 )
	    CS752_STACK_WRITE( -1 )

.
1333a

	    CS752_STACK_READ( -1 )
	    CS752_PREV_STACK_WRITE( 1 )

.
1332a
	    CS752_STACK_READ( -2 )
	    CS752_PREV_STACK_WRITE( 0 )

.
1323a
	    CS752_STACK_READ( -1 )
	    CS752_PREV_STACK_WRITE( 0 )
.
1306a
            CS752_STACK_READ( -1 )   \
            CS752_VARS_WRITE( num + 1 )    \
.
1305a
            CS752_STACK_READ( -2 )   \
            CS752_VARS_WRITE( num )        \
.
1295a
            CS752_STACK_READ( -1 )       \
            CS752_VARS_WRITE( num )            \
.
1285a

	    CS752_STACK_READ( -1 )
	    CS752_VARS_WRITE( reg + 1 )

.
1284a
	    CS752_CODE_READ( 1 );

	    CS752_STACK_READ( -2 )
	    CS752_VARS_WRITE( reg )

.
1283a

.
1275a

	    CS752_CODE_READ( 1 );

	    CS752_STACK_READ( -1 )
	    CS752_VARS_WRITE( pc[1] )

.
1257a
            CS752_VARS_READ( num )                                     \
            CS752_STACK_WRITE( 0 )                               \
            CS752_VARS_READ( num + 1 )                                 \
            CS752_STACK_WRITE( 1 )                               \
.
1247a
            CS752_VARS_READ( num )                                     \
            CS752_STACK_WRITE( 0 )                               \
.
1237a

	    CS752_VARS_READ( reg + 1 )
	    CS752_STACK_WRITE( 1 )
	    
.
1236a

	    CS752_CODE_READ( 1 );

	    CS752_VARS_READ( reg )
	    CS752_STACK_WRITE( 0 )
	    
.
1235a

.
1227a

	    CS752_CODE_READ( 1 );

	    CS752_VARS_READ( pc[1] )
	    CS752_STACK_WRITE( 0 )
	    
.
1213a

    /*
     * -- ADDED BY plakal@skipper
     */

#define CS752_CODE_READ( i ) fprintf( stderr, "code:read :0x%p:\n", pc + i )
#define CS752_CODE_READ_LONG( long_pc, i )   \
	{                                    \
	   fprintf( stderr, "code:read :0x%p:\n", long_pc + i );   \
	   fprintf( stderr, "code:read :0x%p:\n", (char *)(long_pc + i) + 1);   \
	   fprintf( stderr, "code:read :0x%p:\n", (char *)(long_pc + i) + 2);   \
	   fprintf( stderr, "code:read :0x%p:\n", (char *)(long_pc + i) + 3);   \
	}                                                                   \

#define CS752_CODE_WRITE( i ) fprintf( stderr, "code:write:0x%p:\n", pc + i )  


#define CS752_DATA_READ( ptr, sz, what )  { register int _i; for( _i = 0; _i < (sz+3)/4 ; _i += 4 ) fprintf( stderr, "data:read :0x%p:%s\n", (char *)ptr + _i, what ); } 
#define CS752_DATA_WRITE( ptr, sz, what ) { register int _i; for( _i = 0; _i < (sz+3)/4 ; _i += 4) fprintf( stderr, "data:write:0x%p:%s\n", (char *)ptr + _i, what ); } 

/*
#define CS752_DATA_READ( ptr, sz, what ) fprintf( stderr, "data:read :0x%p:%s\n", ptr, what );
#define CS752_DATA_WRITE( ptr, sz, what ) fprintf( stderr, "data:write:0x%p:%s\n", ptr, what );
*/

#define CS752_VARS_READ( i )  CS752_DATA_READ( &vars[i], sizeof(stack_item), "local var" )
#define CS752_VARS_WRITE( i ) CS752_DATA_WRITE( &vars[i], sizeof(stack_item), "local var" )

#define CS752_STACK_READ( i ) CS752_DATA_READ( &S_INFO( i ), sizeof(stack_item), "stack" )
#define CS752_STACK_WRITE( i ) CS752_DATA_WRITE( &S_INFO( i ), sizeof(stack_item), "stack" )
#define CS752_PREV_STACK_WRITE( i ) CS752_DATA_WRITE( &frame->prev->optop[i], sizeof( stack_item ), "stack:prev frame" )

#define CS752_ARRAY_LENGTH_READ( arr ) CS752_DATA_READ( &(arr->methods), sizeof( arr->methods ), "heap:array length" )
#define CS752_ARRAY_READ( arr, index ) CS752_DATA_READ( &(arr->body[index]), sizeof( arr->body[index] ), "heap:array" )
#define CS752_ARRAY_WRITE( arr, index ) CS752_DATA_WRITE( &(arr->body[index]), sizeof( arr->body[index] ), "heap:array" )

#define CS752_OBJ_READ( o, slot ) CS752_DATA_READ( &(obj_getslot(o,slot)), sizeof( obj_getslot(o,slot) ), "heap:object" )
#define CS752_OBJ_WRITE( o, slot ) CS752_DATA_WRITE( &(obj_getslot(o,slot)), sizeof( obj_getslot(o,slot) ), "heap:object" )

#define CS752_HEAP_READ( p, type ) CS752_DATA_READ( p, sizeof( type ), "heap" )
#define CS752_HEAP_WRITE( p, type ) CS752_DATA_WRITE( p, sizeof( type ), "heap" )
  
#ifdef TRACING
	fprintf( stderr, "code:read :0x%p:%s\n", pc, opnames[opcode] );
#else
	fprintf( stderr, "code:read :0x%p\n", pc );
#endif

   /*
    * -- END ADDITION by plakal@skipper
    */

.
1212a

.
845c
bool_t 
array_is_instance_of_array_type(JHandle * h, ClassClass *cb, ExecEnv *ee)
.
402a

 
  * -- END ADDITION
  */

.
401a
   
    

 /*
  * -- ADDED by plakal@skipper
  

    fprintf( stderr, ">>>Method: " );
    if( mb == NULL )
      fprintf( stderr, "**Missing method**" );
    else
    { 
	      fprintf( stderr, "%s",
		      (fieldclass(&mb->fb) 
                       ? classname2string( classname( fieldclass(&mb->fb) ), 
					  cs752_class_name, 
					  sizeof( cs752_class_name ) )
		       : "**Missing class**" ) );
	      fprintf( stderr, "::%s( Sig %s", method_name, method_signature );
	      fprintf( stderr, ", from %s )",
		      (fieldclass(&mb->fb)
		       ? classsrcname( fieldclass(&mb->fb) )
		       : "**Missing class**" )
		      );
     }
    fprintf( stderr, "\n" );
.
387a
 
.
386a
 /*
  * -- ADDED by plakal@skipper
  */ 
    char cs752_class_name[128];
    
 /*
  * -- END ADDITION
  */
.
1,$p
