提交 626e7c23 编写于 作者: A aeriksso

8149743: JVM crash after debugger hotswap with lambdas

Reviewed-by: sspitsyn, coleenp, dcubed
上级 e724cb7d
/* /*
* 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. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
...@@ -3926,6 +3926,10 @@ void VM_RedefineClasses::redefine_single_class(jclass the_jclass, ...@@ -3926,6 +3926,10 @@ void VM_RedefineClasses::redefine_single_class(jclass the_jclass,
scratch_class->set_methods(_old_methods); // To prevent potential GCing of the old methods, scratch_class->set_methods(_old_methods); // To prevent potential GCing of the old methods,
// and to be able to undo operation easily. // 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(); ConstantPool* old_constants = the_class->constants();
the_class->set_constants(scratch_class->constants()); the_class->set_constants(scratch_class->constants());
scratch_class->set_constants(old_constants); // See the previous comment. scratch_class->set_constants(old_constants); // See the previous comment.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册