1212typedef struct {
1313 size_t size ;
1414 size_t * index ;
15- } Object ;
15+ } InternalObject ;
1616
17- typedef void (* func_ptr )(Object , Object );
17+ typedef void (* func_ptr )(InternalObject , size_t );
1818
1919struct Pair {
2020 char * first ;
@@ -543,7 +543,7 @@ void* Get4Parament(void* ptr, size_t* first, size_t* second, size_t* third,
543543 return ptr ;
544544}
545545
546- int INVOKE (size_t * func , Object return_value , Object args );
546+ int INVOKE (size_t * func , size_t return_value , InternalObject args );
547547
548548void * GetUnknownCountParamentAndINVOKE (void * ptr , size_t * return_value ,
549549 size_t * arg_count ) {
@@ -570,8 +570,6 @@ void* GetUnknownCountParamentAndINVOKE(void* ptr, size_t* return_value,
570570 ++ size ;
571571 }
572572
573- Object return_obj = {1 , return_value };
574-
575573 state = 0 ;
576574 size = 0 ;
577575 while (state == 0 ) {
@@ -583,7 +581,7 @@ void* GetUnknownCountParamentAndINVOKE(void* ptr, size_t* return_value,
583581 ++ size ;
584582 }
585583
586- Object args_obj = {* arg_count , NULL };
584+ InternalObject args_obj = {* arg_count , NULL };
587585
588586 size_t * args = malloc (* arg_count * sizeof (size_t ));
589587
@@ -604,7 +602,7 @@ void* GetUnknownCountParamentAndINVOKE(void* ptr, size_t* return_value,
604602
605603 args_obj .index = args ;
606604
607- INVOKE (& func , return_obj , args_obj );
605+ INVOKE (& func , * return_value , args_obj );
608606
609607 free (args );
610608
@@ -1983,7 +1981,7 @@ int CMP(size_t result, size_t opcode, size_t operand1, size_t operand2) {
19831981 }
19841982 return 0 ;
19851983}
1986- int INVOKE (size_t * func , Object return_value , Object args ) {
1984+ int INVOKE (size_t * func , size_t return_value , InternalObject args ) {
19871985 func_ptr invoke_func = GetFunction ((char * )GetPtrData (* func ));
19881986 invoke_func (args , return_value );
19891987 return 0 ;
@@ -1995,8 +1993,8 @@ void* GOTO(void* ptr, size_t offset) {
19951993int THROW () { return 0 ; }
19961994int WIDE () { return 0 ; }
19971995
1998- void print (Object args , Object return_value ) {
1999- SetIntData (* return_value . index , printf ((char * )GetPtrData (* args .index )));
1996+ void print (InternalObject args , size_t return_value ) {
1997+ SetIntData (return_value , printf ((char * )GetPtrData (* args .index )));
20001998}
20011999
20022000unsigned int hash (const char * str ) {
@@ -2256,4 +2254,4 @@ int main(int argc, char* argv[]) {
22562254 printf("Elapsed time: %f seconds\n", elapsedTime);*/
22572255
22582256 return 0 ;
2259- }
2257+ }
0 commit comments