comparison src/share/vm/classfile/classFileParser.cpp @ 1138:dd57230ba8fe

6893268: additional dynamic language related optimizations in C2 Summary: C2 needs some additional optimizations to be able to handle MethodHandle invokes and invokedynamic instructions at the best performance. Reviewed-by: kvn, never
author twisti
date Tue, 05 Jan 2010 15:21:25 +0100
parents 85f13cdfbc1d
children 4ce7240d622c
comparison
equal deleted inserted replaced
1137:97125851f396 1138:dd57230ba8fe
641 break; 641 break;
642 case T_BYTE: case T_CHAR: case T_SHORT: case T_BOOLEAN: case T_INT: 642 case T_BYTE: case T_CHAR: case T_SHORT: case T_BOOLEAN: case T_INT:
643 guarantee_property(value_type.is_int(), "Inconsistent constant value type in class file %s", CHECK); 643 guarantee_property(value_type.is_int(), "Inconsistent constant value type in class file %s", CHECK);
644 break; 644 break;
645 case T_OBJECT: 645 case T_OBJECT:
646 guarantee_property((cp->symbol_at(signature_index)->equals("Ljava/lang/String;", 18) 646 guarantee_property((cp->symbol_at(signature_index)->equals("Ljava/lang/String;")
647 && (value_type.is_string() || value_type.is_unresolved_string())), 647 && (value_type.is_string() || value_type.is_unresolved_string())),
648 "Bad string initial value in class file %s", CHECK); 648 "Bad string initial value in class file %s", CHECK);
649 break; 649 break;
650 default: 650 default:
651 classfile_parse_error( 651 classfile_parse_error(
1716 * sure that the oops can pass verification when this field is set. 1716 * sure that the oops can pass verification when this field is set.
1717 */ 1717 */
1718 m->set_exception_table(exception_handlers()); 1718 m->set_exception_table(exception_handlers());
1719 1719
1720 // Copy byte codes 1720 // Copy byte codes
1721 if (code_length > 0) { 1721 m->set_code(code_start);
1722 memcpy(m->code_base(), code_start, code_length);
1723 }
1724 1722
1725 // Copy line number table 1723 // Copy line number table
1726 if (linenumber_table != NULL) { 1724 if (linenumber_table != NULL) {
1727 memcpy(m->compressed_linenumber_table(), 1725 memcpy(m->compressed_linenumber_table(),
1728 linenumber_table->buffer(), linenumber_table_length); 1726 linenumber_table->buffer(), linenumber_table_length);