equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2018, 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. |
43 |
43 |
44 if (nm->is_unloading()) { |
44 if (nm->is_unloading()) { |
45 // We don't need to take the lock when unlinking nmethods from |
45 // We don't need to take the lock when unlinking nmethods from |
46 // the Method, because it is only concurrently unlinked by |
46 // the Method, because it is only concurrently unlinked by |
47 // the entry barrier, which acquires the per nmethod lock. |
47 // the entry barrier, which acquires the per nmethod lock. |
48 nm->unlink_from_method(); |
48 nm->unlink_from_method(false /* acquire_lock */); |
49 |
49 |
50 // We can end up calling nmethods that are unloading |
50 // We can end up calling nmethods that are unloading |
51 // since we clear compiled ICs lazily. Returning false |
51 // since we clear compiled ICs lazily. Returning false |
52 // will re-resovle the call and update the compiled IC. |
52 // will re-resovle the call and update the compiled IC. |
53 return false; |
53 return false; |