Print this page
rev 1079 : 6829192: JSR 292 needs to support 64-bit x86
Summary: changes for method handles and invokedynamic
Reviewed-by: ?, ?
rev 1083 : [mq]: indy.compiler.inline.patch

Split Close
Expand all
Collapse all
          --- old/src/share/vm/classfile/classFileParser.cpp
          +++ new/src/share/vm/classfile/classFileParser.cpp
↓ open down ↓ 1710 lines elided ↑ open up ↑
1711 1711    /**
1712 1712     * The exception_table field is the flag used to indicate
1713 1713     * that the methodOop and it's associated constMethodOop are partially
1714 1714     * initialized and thus are exempt from pre/post GC verification.  Once
1715 1715     * the field is set, the oops are considered fully initialized so make
1716 1716     * sure that the oops can pass verification when this field is set.
1717 1717     */
1718 1718    m->set_exception_table(exception_handlers());
1719 1719  
1720 1720    // Copy byte codes
1721      -  if (code_length > 0) {
1722      -    memcpy(m->code_base(), code_start, code_length);
1723      -  }
     1721 +  m->set_code(code_start);
1724 1722  
1725 1723    // Copy line number table
1726 1724    if (linenumber_table != NULL) {
1727 1725      memcpy(m->compressed_linenumber_table(),
1728 1726             linenumber_table->buffer(), linenumber_table_length);
1729 1727    }
1730 1728  
1731 1729    // Copy checked exceptions
1732 1730    if (checked_exceptions_length > 0) {
1733 1731      int size = checked_exceptions_length * sizeof(CheckedExceptionElement) / sizeof(u2);
↓ open down ↓ 2559 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX