src/share/vm/prims/jvmtiRedefineClasses.hpp
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2003, 2014, 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.
--- 1,7 ----
/*
! * 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,507 ****
--- 498,519 ----
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 {