56 |
56 |
57 Symbol* sym; |
57 Symbol* sym; |
58 |
58 |
59 if (DumpSharedSpaces) { |
59 if (DumpSharedSpaces) { |
60 // Allocate all symbols to CLD shared metaspace |
60 // Allocate all symbols to CLD shared metaspace |
61 sym = new (len, ClassLoaderData::the_null_class_loader_data(), THREAD) Symbol(name, len, -1); |
61 sym = new (len, ClassLoaderData::the_null_class_loader_data(), THREAD) Symbol(name, len, PERM_REFCOUNT); |
62 } else if (c_heap) { |
62 } else if (c_heap) { |
63 // refcount starts as 1 |
63 // refcount starts as 1 |
64 sym = new (len, THREAD) Symbol(name, len, 1); |
64 sym = new (len, THREAD) Symbol(name, len, 1); |
65 assert(sym != NULL, "new should call vm_exit_out_of_memory if C_HEAP is exhausted"); |
65 assert(sym != NULL, "new should call vm_exit_out_of_memory if C_HEAP is exhausted"); |
66 } else { |
66 } else { |
67 // Allocate to global arena |
67 // Allocate to global arena |
68 sym = new (len, arena(), THREAD) Symbol(name, len, -1); |
68 sym = new (len, arena(), THREAD) Symbol(name, len, PERM_REFCOUNT); |
69 } |
69 } |
70 return sym; |
70 return sym; |
71 } |
71 } |
72 |
72 |
73 void SymbolTable::initialize_symbols(int arena_alloc_size) { |
73 void SymbolTable::initialize_symbols(int arena_alloc_size) { |