OpenJDK / portola / portola
changeset 36353:28b633a6919d
8149743: JVM crash after debugger hotswap with lambdas
Reviewed-by: sspitsyn, coleenp, dcubed
author | aeriksso |
---|---|
date | Thu, 18 Feb 2016 16:15:28 +0100 |
parents | 1c9f2970da66 |
children | 28bbe66a0498 dd339cbafd31 |
files | hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp |
diffstat | 1 files changed, 5 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp Tue Feb 23 19:10:01 2016 -0500 +++ b/hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp Thu Feb 18 16:15:28 2016 +0100 @@ -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 @@ 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.