Mercurial > hg > truffle
comparison src/share/vm/oops/method.cpp @ 20619:b12a2a9b05ca
8056240: Investigate increased GC remark time after class unloading changes in CRM Fuse
Reviewed-by: mgerdin, coleenp, bdelsart
author | stefank |
---|---|
date | Thu, 02 Oct 2014 10:55:36 +0200 |
parents | 966205f0e717 |
children | 600c44255e5f |
comparison
equal
deleted
inserted
replaced
20618:7024b693c8f9 | 20619:b12a2a9b05ca |
---|---|
1861 }; | 1861 }; |
1862 | 1862 |
1863 void Method::set_on_stack(const bool value) { | 1863 void Method::set_on_stack(const bool value) { |
1864 // Set both the method itself and its constant pool. The constant pool | 1864 // Set both the method itself and its constant pool. The constant pool |
1865 // on stack means some method referring to it is also on the stack. | 1865 // on stack means some method referring to it is also on the stack. |
1866 _access_flags.set_on_stack(value); | |
1867 constants()->set_on_stack(value); | 1866 constants()->set_on_stack(value); |
1868 if (value) MetadataOnStackMark::record(this); | 1867 |
1868 bool succeeded = _access_flags.set_on_stack(value); | |
1869 if (value && succeeded) { | |
1870 MetadataOnStackMark::record(this, Thread::current()); | |
1871 } | |
1869 } | 1872 } |
1870 | 1873 |
1871 // Called when the class loader is unloaded to make all methods weak. | 1874 // Called when the class loader is unloaded to make all methods weak. |
1872 void Method::clear_jmethod_ids(ClassLoaderData* loader_data) { | 1875 void Method::clear_jmethod_ids(ClassLoaderData* loader_data) { |
1873 loader_data->jmethod_ids()->clear_all_methods(); | 1876 loader_data->jmethod_ids()->clear_all_methods(); |