8149743: JVM crash after debugger hotswap with lambdas
Reviewed-by: sspitsyn, coleenp, dcubed
This commit is contained in:
parent
ad6d8685e4
commit
35a916a2a1
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2016, 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
|
||||
@ -3940,6 +3940,10 @@ void VM_RedefineClasses::redefine_single_class(jclass the_jclass,
|
||||
scratch_class->set_methods(_old_methods); // To prevent potential GCing of the old methods,
|
||||
// and to be able to undo operation easily.
|
||||
|
||||
Array<int>* old_ordering = the_class->method_ordering();
|
||||
the_class->set_method_ordering(scratch_class->method_ordering());
|
||||
scratch_class->set_method_ordering(old_ordering);
|
||||
|
||||
ConstantPool* old_constants = the_class->constants();
|
||||
the_class->set_constants(scratch_class->constants());
|
||||
scratch_class->set_constants(old_constants); // See the previous comment.
|
||||
|
Loading…
x
Reference in New Issue
Block a user