Mercurial > hg > graal-compiler
diff src/share/vm/oops/typeArrayKlass.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 | d4fca0a6abde |
children | e5383553fd4e |
line wrap: on
line diff
--- a/src/share/vm/oops/typeArrayKlass.cpp Thu Jan 27 13:42:28 2011 -0800 +++ b/src/share/vm/oops/typeArrayKlass.cpp Thu Jan 27 16:11:27 2011 -0800 @@ -53,16 +53,15 @@ const char* name_str, TRAPS) { typeArrayKlass o; - symbolHandle sym(symbolOop(NULL)); - // bootstrapping: don't create sym if symbolKlass not created yet - if (Universe::symbolKlassObj() != NULL && name_str != NULL) { - sym = oopFactory::new_symbol_handle(name_str, CHECK_NULL); + Symbol* sym = NULL; + if (name_str != NULL) { + sym = SymbolTable::new_symbol(name_str, CHECK_NULL); } KlassHandle klassklass (THREAD, Universe::typeArrayKlassKlassObj()); arrayKlassHandle k = base_create_array_klass(o.vtbl_value(), header_size(), klassklass, CHECK_NULL); typeArrayKlass* ak = typeArrayKlass::cast(k()); - ak->set_name(sym()); + ak->set_name(sym); ak->set_layout_helper(array_layout_helper(type)); assert(scale == (1 << ak->log2_element_size()), "scale must check out"); assert(ak->oop_is_javaArray(), "sanity");