comparison src/share/vm/oops/methodKlass.cpp @ 2177:3582bf76420e

6990754: Use native memory and reference counting to implement SymbolTable Summary: move symbols from permgen into C heap and reference count them Reviewed-by: never, acorn, jmasa, stefank
author coleenp
date Thu, 27 Jan 2011 16:11:27 -0800
parents f95d63e2154a
children e5383553fd4e
comparison
equal deleted inserted replaced
2176:27e4ea99855d 2177:3582bf76420e
34 #include "oops/klassOop.hpp" 34 #include "oops/klassOop.hpp"
35 #include "oops/methodDataOop.hpp" 35 #include "oops/methodDataOop.hpp"
36 #include "oops/methodKlass.hpp" 36 #include "oops/methodKlass.hpp"
37 #include "oops/oop.inline.hpp" 37 #include "oops/oop.inline.hpp"
38 #include "oops/oop.inline2.hpp" 38 #include "oops/oop.inline2.hpp"
39 #include "oops/symbolOop.hpp" 39 #include "oops/symbol.hpp"
40 #include "runtime/handles.inline.hpp" 40 #include "runtime/handles.inline.hpp"
41 41
42 klassOop methodKlass::create_klass(TRAPS) { 42 klassOop methodKlass::create_klass(TRAPS) {
43 methodKlass o; 43 methodKlass o;
44 KlassHandle h_this_klass(THREAD, Universe::klassKlassObj()); 44 KlassHandle h_this_klass(THREAD, Universe::klassKlassObj());
351 Klass::oop_verify_on(obj, st); 351 Klass::oop_verify_on(obj, st);
352 guarantee(obj->is_method(), "object must be method"); 352 guarantee(obj->is_method(), "object must be method");
353 if (!obj->partially_loaded()) { 353 if (!obj->partially_loaded()) {
354 methodOop m = methodOop(obj); 354 methodOop m = methodOop(obj);
355 guarantee(m->is_perm(), "should be in permspace"); 355 guarantee(m->is_perm(), "should be in permspace");
356 guarantee(m->name()->is_perm(), "should be in permspace");
357 guarantee(m->name()->is_symbol(), "should be symbol");
358 guarantee(m->signature()->is_perm(), "should be in permspace");
359 guarantee(m->signature()->is_symbol(), "should be symbol");
360 guarantee(m->constants()->is_perm(), "should be in permspace"); 356 guarantee(m->constants()->is_perm(), "should be in permspace");
361 guarantee(m->constants()->is_constantPool(), "should be constant pool"); 357 guarantee(m->constants()->is_constantPool(), "should be constant pool");
362 guarantee(m->constMethod()->is_constMethod(), "should be constMethodOop"); 358 guarantee(m->constMethod()->is_constMethod(), "should be constMethodOop");
363 guarantee(m->constMethod()->is_perm(), "should be in permspace"); 359 guarantee(m->constMethod()->is_perm(), "should be in permspace");
364 methodDataOop method_data = m->method_data(); 360 methodDataOop method_data = m->method_data();