On Tue, Jul 28, 2009 at 01:52:39PM +0300, Pekka Enberg wrote:
> Tomek Grabiec wrote:
>> When method is a JNI method, then we add a pointer to JNI environemnt
>> as the first argument. If method is also static, we put class's object
>> refrence as second argument. All those arguments must be treated same
>> as any other arguments, so they should receive indices 0 and 1
>> respectively.
>> Signed-off-by: Tomek Grabiec <tgrab...@gmail.com>
>
> Eduard, does this look OK to you?
>

Yes, it looks good although I'm unaware of JNI details. FWIW...

Acked-by: Eduard - Gabriel Munteanu <eduard.munte...@linux360.ro>

>> ---
>>  jit/args.c |    9 +++++----
>>  1 files changed, 5 insertions(+), 4 deletions(-)
>> diff --git a/jit/args.c b/jit/args.c
>> index 5c6ddaa..a6cc721 100644
>> --- a/jit/args.c
>> +++ b/jit/args.c
>> @@ -84,6 +84,7 @@ struct expression *convert_args(struct stack 
>> *mimic_stack,
>>                              struct vm_method *method)
>>  {
>>      struct expression *args_list = NULL;
>> +    unsigned long nr_args_total;
>>      unsigned long i;
>>      if (nr_args == 0) {
>> @@ -91,6 +92,8 @@ struct expression *convert_args(struct stack 
>> *mimic_stack,
>>              goto out;
>>      }
>>  +   nr_args_total = nr_args;
>> +
>>      if (vm_method_is_jni(method)) {
>>              if (vm_method_is_static(method))
>>                      --nr_args;
>> @@ -105,7 +108,7 @@ struct expression *convert_args(struct stack 
>> *mimic_stack,
>>      for (i = 0; i < nr_args; i++) {
>>              struct expression *expr = stack_pop(mimic_stack);
>>              args_list = insert_arg(args_list, expr,
>> -                                   method, nr_args - i - 1);
>> +                                   method, nr_args_total - i - 1);
>>      }
>>      if (vm_method_is_jni(method)) {
>> @@ -122,9 +125,8 @@ struct expression *convert_args(struct stack 
>> *mimic_stack,
>>                              return NULL;
>>                      }
>>  -                   /* FIXME: Set index correctly */
>>                      args_list = insert_arg(args_list, class_expr,
>> -                                           method, 0);
>> +                                           method, 1);
>>              }
>>              jni_env_expr = value_expr(J_REFERENCE,
>> @@ -134,7 +136,6 @@ struct expression *convert_args(struct stack 
>> *mimic_stack,
>>                      return NULL;
>>              }
>>  -           /* FIXME: Set index correctly */
>>              args_list = insert_arg(args_list, jni_env_expr, method, 0);
>>      }
>>  

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Jatovm-devel mailing list
Jatovm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Reply via email to