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 {