hotspot/src/share/vm/oops/method.cpp
changeset 27247 99db666dbe8e
parent 26799 0c349e16bbe8
child 27450 603dbcf4f547
child 27461 90e9e0f9c0c5
equal deleted inserted replaced
27155:9059987242ca 27247:99db666dbe8e
  1860 };
  1860 };
  1861 
  1861 
  1862 void Method::set_on_stack(const bool value) {
  1862 void Method::set_on_stack(const bool value) {
  1863   // Set both the method itself and its constant pool.  The constant pool
  1863   // Set both the method itself and its constant pool.  The constant pool
  1864   // on stack means some method referring to it is also on the stack.
  1864   // on stack means some method referring to it is also on the stack.
  1865   _access_flags.set_on_stack(value);
       
  1866   constants()->set_on_stack(value);
  1865   constants()->set_on_stack(value);
  1867   if (value) MetadataOnStackMark::record(this);
  1866 
       
  1867   bool succeeded = _access_flags.set_on_stack(value);
       
  1868   if (value && succeeded) {
       
  1869     MetadataOnStackMark::record(this, Thread::current());
       
  1870   }
  1868 }
  1871 }
  1869 
  1872 
  1870 // Called when the class loader is unloaded to make all methods weak.
  1873 // Called when the class loader is unloaded to make all methods weak.
  1871 void Method::clear_jmethod_ids(ClassLoaderData* loader_data) {
  1874 void Method::clear_jmethod_ids(ClassLoaderData* loader_data) {
  1872   loader_data->jmethod_ids()->clear_all_methods();
  1875   loader_data->jmethod_ids()->clear_all_methods();