src/share/vm/prims/jvmtiRedefineClasses.hpp

Print this page

        

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.

@@ -498,10 +498,22 @@
    public:
     CheckClass(Thread* t) : _thread(t) {}
     void do_klass(Klass* k);
   };
 
+  // Update old Unsafe.throwIllegalAccessError() itable entries
+  class UpdateITableThrowIllegalAccessErrorEntries : public KlassClosure {
+   public:
+    UpdateITableThrowIllegalAccessErrorEntries() {}
+
+    void do_klass(Klass* k) {
+      if (k->oop_is_instance()) {
+        InstanceKlass::cast(k)->itable()->update_throw_illegal_access_entries();
+      }
+    }
+ };
+
   // Unevolving classes may point to methods of the_class directly
   // from their constant pool caches, itables, and/or vtables. We
   // use the ClassLoaderDataGraph::classes_do() facility and this helper
   // to fix up these pointers.
   class AdjustCpoolCacheAndVtable : public KlassClosure {