src/share/vm/interpreter/rewriter.cpp
Print this page
@@ -24,10 +24,11 @@
#include "precompiled.hpp"
#include "interpreter/bytecodes.hpp"
#include "interpreter/interpreter.hpp"
#include "interpreter/rewriter.hpp"
+#include "memory/metaspaceShared.hpp"
#include "memory/gcLocker.hpp"
#include "memory/resourceArea.hpp"
#include "oops/generateOopMap.hpp"
#include "prims/methodHandles.hpp"
@@ -498,16 +499,18 @@
// entries had to be added.
patch_invokedynamic_bytecodes();
}
void Rewriter::rewrite(instanceKlassHandle klass, TRAPS) {
+ if (!DumpSharedSpaces) {
+ assert(!MetaspaceShared::is_in_shared_space(klass()), "archive methods must not be rewritten at run time");
+ }
ResourceMark rm(THREAD);
Rewriter rw(klass, klass->constants(), klass->methods(), CHECK);
// (That's all, folks.)
}
-
Rewriter::Rewriter(instanceKlassHandle klass, constantPoolHandle cpool, Array<Method*>* methods, TRAPS)
: _klass(klass),
_pool(cpool),
_methods(methods)
{