src/share/vm/memory/dump.cpp

changeset 3686
749b1464aa81
parent 3670
f7c4174b33ba
parent 3682
fc9d8850ab8b
child 3760
8f972594effc
equal deleted inserted replaced
3680:e02867d10860 3686:749b1464aa81
1 /* 1 /*
2 * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
1486 StringTable::intern("I", THREAD); // Needed for StringBuffer persistence? 1486 StringTable::intern("I", THREAD); // Needed for StringBuffer persistence?
1487 StringTable::intern("Z", THREAD); // Needed for StringBuffer persistence? 1487 StringTable::intern("Z", THREAD); // Needed for StringBuffer persistence?
1488 1488
1489 // sun.io.Converters 1489 // sun.io.Converters
1490 static const char obj_array_sig[] = "[[Ljava/lang/Object;"; 1490 static const char obj_array_sig[] = "[[Ljava/lang/Object;";
1491 SymbolTable::lookup(obj_array_sig, (int)strlen(obj_array_sig), THREAD); 1491 (void)SymbolTable::new_permanent_symbol(obj_array_sig, THREAD);
1492 1492
1493 // java.util.HashMap 1493 // java.util.HashMap
1494 static const char map_entry_array_sig[] = "[Ljava/util/Map$Entry;"; 1494 static const char map_entry_array_sig[] = "[Ljava/util/Map$Entry;";
1495 SymbolTable::lookup(map_entry_array_sig, (int)strlen(map_entry_array_sig), 1495 (void)SymbolTable::new_permanent_symbol(map_entry_array_sig, THREAD);
1496 THREAD);
1497 1496
1498 tty->print("Loading classes to share ... "); 1497 tty->print("Loading classes to share ... ");
1499 while ((fgets(class_name, sizeof class_name, file)) != NULL) { 1498 while ((fgets(class_name, sizeof class_name, file)) != NULL) {
1500 if (*class_name == '#') { 1499 if (*class_name == '#') {
1501 jint fsh, fsl; 1500 jint fsh, fsl;
1510 class_name[name_len-1] = '\0'; 1509 class_name[name_len-1] = '\0';
1511 1510
1512 computed_jsum = jsum(computed_jsum, class_name, (const int)name_len - 1); 1511 computed_jsum = jsum(computed_jsum, class_name, (const int)name_len - 1);
1513 1512
1514 // Got a class name - load it. 1513 // Got a class name - load it.
1515 TempNewSymbol class_name_symbol = SymbolTable::new_symbol(class_name, THREAD); 1514 Symbol* class_name_symbol = SymbolTable::new_permanent_symbol(class_name, THREAD);
1516 guarantee(!HAS_PENDING_EXCEPTION, "Exception creating a symbol."); 1515 guarantee(!HAS_PENDING_EXCEPTION, "Exception creating a symbol.");
1517 klassOop klass = SystemDictionary::resolve_or_null(class_name_symbol, 1516 klassOop klass = SystemDictionary::resolve_or_null(class_name_symbol,
1518 THREAD); 1517 THREAD);
1519 guarantee(!HAS_PENDING_EXCEPTION, "Exception resolving a class."); 1518 guarantee(!HAS_PENDING_EXCEPTION, "Exception resolving a class.");
1520 if (klass != NULL) { 1519 if (klass != NULL) {

mercurial