Enable lazy loading for i386.
authortwisti <none@none>
Fri, 22 Apr 2005 13:26:36 +0000 (13:26 +0000)
committertwisti <none@none>
Fri, 22 Apr 2005 13:26:36 +0000 (13:26 +0000)
src/vm/jit/parse.c
src/vm/jit/reg.inc
src/vm/jit/stack.c

index e2161f1c619933a5881f04867bb72fd337bf1264..be96dffab18437285045dc9a75d61dc81a50d377 100644 (file)
@@ -31,7 +31,7 @@
             Joseph Wenninger
             Christian Thalinger
 
-   $Id: parse.c 2324 2005-04-21 22:35:27Z twisti $
+   $Id: parse.c 2333 2005-04-22 13:26:36Z twisti $
 
 */
 
@@ -665,7 +665,7 @@ SHOWOPCODE(DEBUG4)
                                constant_classref *cr;
                                classinfo         *c;
 
-#if defined(__X86_64__)
+#if defined(__X86_64__) || defined(__I386__)
                                compr = (constant_classref *) class_getconstant(inline_env->method->class, i, CONSTANT_Class);
 
                                if (!(cr = class_get_classref_multiarray_of(1, compr)))
@@ -711,7 +711,7 @@ SHOWOPCODE(DEBUG4)
                                vftbl_t *arrayvftbl;
                                s4 v = code_get_u1(p + 3, inline_env->method);
 
-#if defined(__X86_64__)
+#if defined(__X86_64__) || defined(__I386__)
                                cr = (constant_classref *) class_getconstant(inline_env->method->class, i, CONSTANT_Class);
 
                                if (!resolve_classref(inline_env->method, cr, resolveLazy, true, &c))
@@ -992,7 +992,7 @@ SHOWOPCODE(DEBUG4)
 
                case JAVA_GETSTATIC:
                case JAVA_PUTSTATIC:
-#if defined(__X86_64__)
+#if defined(__X86_64__) || defined(__I386__)
                case JAVA_GETFIELD:
                case JAVA_PUTFIELD:
 #endif
@@ -1004,7 +1004,7 @@ SHOWOPCODE(DEBUG4)
                                classinfo        *c;
 
                                fr = class_getconstant(inline_env->method->class, i, CONSTANT_Fieldref);
-#if defined(__X86_64__)
+#if defined(__X86_64__) || defined(__I386__)
                                OP2A_NOINC(opcode, fr->parseddesc.fd->type, fr, currentline);
 
                                if (!(uf = create_unresolved_field(inline_env->method->class,
@@ -1050,7 +1050,7 @@ SHOWOPCODE(DEBUG4)
                        }
                        break;
 
-#if !defined(__X86_64__)
+#if !defined(__X86_64__) && !defined(__I386__)
                case JAVA_PUTFIELD:
                case JAVA_GETFIELD:
                        i = code_get_u2(p + 1,inline_env->method);
@@ -1091,7 +1091,7 @@ SHOWOPCODE(DEBUG4)
                                inline_env->method->isleafmethod = false;
 
                                mr = class_getconstant(inline_env->method->class, i, CONSTANT_Methodref);
-#if defined(__X86_64__)
+#if defined(__X86_64__) || defined(__I386__)
                                OP2A_NOINC(opcode, mr->parseddesc.md->paramcount, mr, currentline);
 
                                um = create_unresolved_method(inline_env->method->class,
@@ -1157,7 +1157,7 @@ if (DEBUG4==true) {
                                inline_env->method->isleafmethod = false;
 
                                mr = class_getconstant(inline_env->method->class, i, CONSTANT_Methodref);
-#if defined(__X86_64__)
+#if defined(__X86_64__) || defined(__I386__)
                                OP2A_NOINC(opcode, mr->parseddesc.md->paramcount + 1, mr, currentline);
 
                                um = create_unresolved_method(inline_env->method->class,
@@ -1222,7 +1222,7 @@ if (DEBUG4==true) {
                                inline_env->method->isleafmethod = false;
 
                                mr = class_getconstant(inline_env->method->class, i, CONSTANT_InterfaceMethodref);
-#if defined(__X86_64__)
+#if defined(__X86_64__) || defined(__I386__)
                                OP2A_NOINC(opcode, mr->parseddesc.md->paramcount + 1, mr, currentline);
 
                                um = create_unresolved_method(inline_env->method->class,
@@ -1323,7 +1323,7 @@ if (DEBUG4==true) {
                                
                                cr = (constant_classref *) class_getconstant(inline_env->method->class, i, CONSTANT_Class);
 
-#if defined(__X86_64__)
+#if defined(__X86_64__) || defined(__I386__)
                                if (!resolve_classref(inline_env->method, cr, resolveLazy, true, &cls))
                                        return NULL;
 
@@ -1374,7 +1374,7 @@ if (DEBUG4==true) {
                                
                                cr = (constant_classref *) class_getconstant(inline_env->method->class, i, CONSTANT_Class);
 
-#if defined(__X86_64__)
+#if defined(__X86_64__) || defined(__I386__)
                                if (!resolve_classref(inline_env->method, cr, resolveLazy, true, &cls))
                                        return NULL;
 
index 11c2f5bd6a8889dc8b70d388072c6e16d466bac1..09e7f54b55359ac5383c4ee4302a3a957f6f734a 100644 (file)
@@ -29,7 +29,7 @@
    Changes: Stefan Ring
             Christian Thalinger
 
-   $Id: reg.inc 2298 2005-04-13 15:32:01Z christian $
+   $Id: reg.inc 2333 2005-04-22 13:26:36Z twisti $
 
 */
 
@@ -1527,7 +1527,7 @@ static void allocate_scratch_registers(methodinfo *m, registerdata *rd)
                                                reg_free_temp(rd, src);
                                                src = src->prev;
                                        }
-#if defined(__X86_64__)         
+#if defined(__X86_64__) || defined(__I386__)
                                        if (((unresolved_method *) iptr->target)->methodref->parseddesc.md->returntype.type != TYPE_VOID)        
 #else
                                        if (((methodinfo *) iptr->val.a)->returntype != TYPE_VOID)
index 85e3587f2a17ffd95bc4557ad5379a5c4cac68a3..231d4ff1b96e967153f6d88b6ede760dfdf3905f 100644 (file)
@@ -29,7 +29,7 @@
    Changes: Edwin Steiner
             Christian Thalinger
 
-   $Id: stack.c 2298 2005-04-13 15:32:01Z christian $
+   $Id: stack.c 2333 2005-04-22 13:26:36Z twisti $
 
 */
 
@@ -1879,7 +1879,7 @@ methodinfo *analyse_stack(methodinfo *m, codegendata *cd, registerdata *rd)
                                        case ICMD_INVOKESTATIC:
                                                COUNT(count_pcmd_met);
                                                {
-#if defined(__X86_64__)         
+#if defined(__X86_64__) || defined(__I386__)
                                                        unresolved_method *um = iptr->target;    
 /*                          if (lm->flags & ACC_STATIC) */
 /*                              {COUNT(count_check_null);} */   
@@ -2574,17 +2574,25 @@ void show_icmd(instruction *iptr, bool deadcode)
 
        case ICMD_GETFIELD:
        case ICMD_PUTFIELD:
-#if defined(__X86_64__)         
+#if defined(__X86_64__) || defined(__I386__)
                if (iptr->val.a)         
                        printf(" %d,", ((fieldinfo *) iptr->val.a)->offset);
                else     
                        printf(" NOT RESOLVED,");        
 #else   
                printf(" %d,", ((fieldinfo *) iptr->val.a)->offset);     
+               printf(" ");
+               utf_display_classname(((fieldinfo *) iptr->val.a)->class->name);
+               printf(".");
+               utf_display(((fieldinfo *) iptr->val.a)->name);
+               printf(" (type ");
+               utf_display(((fieldinfo *) iptr->val.a)->descriptor);
+               printf(")");
+               break;
 #endif          
        case ICMD_PUTSTATIC:
        case ICMD_GETSTATIC:
-#if defined(__X86_64__)
+#if defined(__X86_64__) || defined(__I386__)
                printf(" ");     
                utf_display_classname(((unresolved_field *) iptr->target)->fieldref->classref->name);    
                printf(".");     
@@ -2593,7 +2601,6 @@ void show_icmd(instruction *iptr, bool deadcode)
                utf_display(((unresolved_field *) iptr->target)->fieldref->descriptor);          
                printf(")");     
 #else   
                printf(" ");
                utf_display_classname(((fieldinfo *) iptr->val.a)->class->name);
                printf(".");
@@ -2627,7 +2634,7 @@ void show_icmd(instruction *iptr, bool deadcode)
                        printf(" %g,", iptr->val.d);
                        break;
                }
-#if defined(__X86_64__)         
+#if defined(__X86_64__)
                if (iptr->opc == ICMD_PUTFIELDCONST)     
                        printf(" NOT RESOLVED,");        
                printf(" ");     
@@ -2744,7 +2751,7 @@ void show_icmd(instruction *iptr, bool deadcode)
 
        case ICMD_CHECKCAST:
        case ICMD_INSTANCEOF:
-#if defined(__X86_64__)         
+#if defined(__X86_64__) || defined(__I386__)
                if (iptr->op1) {         
                        classinfo *c = iptr->val.a;      
                        if (c) {         
@@ -2785,7 +2792,7 @@ void show_icmd(instruction *iptr, bool deadcode)
        case ICMD_INVOKESPECIAL:
        case ICMD_INVOKESTATIC:
        case ICMD_INVOKEINTERFACE:
-#if defined(__X86_64__)
+#if defined(__X86_64__) || defined(__I386__)
                printf(" ");
                utf_display_classname(((unresolved_method *) iptr->target)->methodref->classref->name);
                printf(".");