test/runtime/6626217/many_loader1.java.foo

Wed, 21 Jan 2015 12:38:11 +0100

author
goetz
date
Wed, 21 Jan 2015 12:38:11 +0100
changeset 7574
a51071796915
parent 0
f90c822e73f8
permissions
-rw-r--r--

8068013: [TESTBUG] Aix support in hotspot jtreg tests
Reviewed-by: ctornqvi, fzhinkin, farvidsson

     1 // A simple class to extend an abstract class and get loaded with different
     2 // loaders.  This class is loaded via LOADER1.  A similar named class will
     3 // be loaded via LOADER2.
     4 public class many_loader extends bug_21227 {
     5   public You_Have_Been_P0wned _p0wnee;
     7   // I need to compile (hence call in a loop) a function which returns a value
     8   // loaded from classloader other than the system one.  The point of this
     9   // call is to give me an abstract 'hook' into a function loaded with a
    10   // foreign loader.
    12   // The original 'make(boolean)' returns a bug_21227.  The VM will inject a
    13   // synthetic method to up-cast the returned 'from_loader1' into a
    14   // 'bug_21227'.
    15   public many_loader[] make( IFace iface ) { 
    16     // This function needs to return a value known to be loaded from LOADER2.
    17     // Since I need to use a yet different loader, I need to make an unknown
    18     // foreign call.  In this case I'll be using an interface to make the
    19     // unknown call, with but a single implementor so the compiler can do the
    20     // upcast statically.
    21     return iface==null ? null : iface.gen(); 
    22   }
    23 }

mercurial