equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
485 |
485 |
486 // Modifiable test must be shared between IsModifiableClass query |
486 // Modifiable test must be shared between IsModifiableClass query |
487 // and redefine implementation |
487 // and redefine implementation |
488 static bool is_modifiable_class(oop klass_mirror); |
488 static bool is_modifiable_class(oop klass_mirror); |
489 }; |
489 }; |
490 |
|
491 |
|
492 // Helper class to mark and unmark metadata used on the stack as either handles |
|
493 // or executing methods, so that it can't be deleted during class redefinition |
|
494 // and class unloading. |
|
495 class MetadataOnStackMark : public StackObj { |
|
496 NOT_PRODUCT(static bool _is_active;) |
|
497 public: |
|
498 MetadataOnStackMark() NOT_JVMTI_RETURN; |
|
499 ~MetadataOnStackMark() NOT_JVMTI_RETURN; |
|
500 static void record(Metadata* m) NOT_JVMTI_RETURN; |
|
501 }; |
|
502 |
|
503 #endif // SHARE_VM_PRIMS_JVMTIREDEFINECLASSES_HPP |
490 #endif // SHARE_VM_PRIMS_JVMTIREDEFINECLASSES_HPP |