view test/runtime/6626217/many_loader2.java.foo @ 4787:2ace1c4ee8da

6888336: G1: avoid explicitly marking and pushing objects in survivor spaces Summary: This change simplifies the interaction between GC and concurrent marking. By disabling survivor spaces during the initial-mark pause we don't need to propagate marks of objects we copy during each GC (since we never need to copy an explicitly marked object). Reviewed-by: johnc, brutisso
author tonyp
date Tue, 10 Jan 2012 18:58:13 -0500
parents 495caa35b1b5
children
line wrap: on
line source

// A simple class to extend an abstract class and get loaded with different
// loaders.  This class is loaded via LOADER2.  A similar named class will
// be loaded via LOADER1.
public class many_loader extends bug_21227 {
  final Object _ref_to_be_p0wned;

  many_loader() {
    _ref_to_be_p0wned = bug_21227._p0wnee;
    System.out.println("Gonna hack this thing: " + _ref_to_be_p0wned.toString() );
  }

  // I need to compile (hence call in a loop) a function which returns a value
  // loaded from classloader other than the system one.  The point of this
  // call is to give me an abstract 'hook' into a function loaded with a
  // foreign loader.
  public many_loader[] make( IFace iface ) { 
    throw new Error("do not call me");
  }
}