https://issues.apache.org/bugzilla/show_bug.cgi?id=56955

            Bug ID: 56955
           Summary: Skip some useless information in the class when
                    parsing
           Product: Tomcat 7
           Version: trunk
          Hardware: PC
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: Catalina
          Assignee: dev@tomcat.apache.org
          Reporter: hzha...@ebay.com
        Depends on: 56953

Created attachment 31996
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=31996&action=edit
patch

“org.apache.tomcat.util.bcel.classfile.ClassParser” parse ".class" file to an
Object.
Actually, many information in the ".class" is useless. Including: version,
fields, methods.

Skip these information can speed up the startup of tomcat. Add a switch named
"isSkip", and modify the parse as following.

 /****************** Read headers ********************************/
      // Check magic tag of class file
      readID();
      // Get compiler version
      if(!isSkip) readVersion();
      else skipVersion();
      /****************** Read constant pool and related **************/
      // Read constant pool entries
      readConstantPool();
      // Get class information
      readClassInfo();
      // Get interface information, i.e., implemented interfaces
      readInterfaces();
      /****************** Read class fields and methods ***************/
      // Read class fields, i.e., the variables of the class
      if(!isSkip) readFields();
      else skipFields();
      // Read class methods, i.e., the functions in the class
      if(!isSkip) readMethods();
      else skipMethods();
      // Read class attributes
      readAttributes();

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to