[prev in list] [next in list] [prev in thread] [next in thread] 

List:       bcel-dev
Subject:    DO NOT REPLY [Bug 35405]  New:  -
From:       bugzilla () apache ! org
Date:       2005-06-17 23:30:37
Message-ID: 20050617233037.04DEA414 () ajax ! apache ! org
[Download RAW message or body]

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=35405>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=35405

           Summary: Branch target offset too large for short
           Product: BCEL
           Version: 5.1
          Platform: Other
        OS/Version: Windows 2000
            Status: NEW
          Severity: blocker
          Priority: P1
         Component: Main
        AssignedTo: bcel-dev@jakarta.apache.org
        ReportedBy: v_ssk@fareastone.com.tw


We are using bcel library for code generation. And for some particualr scenarios
our method size is exceeding the method size limit defined by java (65535 bytes)
and we get the following error,

org.apache.bcel.generic.ClassGenException: Branch target offset too large for short
	at org.apache.bcel.generic.BranchInstruction.dump(BranchInstruction.java:100)
	at org.apache.bcel.generic.InstructionList.getByteCode(InstructionList.java:980)
	at org.apache.bcel.generic.MethodGen.getMethod(MethodGen.java:616)
When the method size limit is defined in java as 65535, why does the BCEL gives
an error for 32767, in
org.apache.bcel.generic.BranchInstruction.dump(DataOutputStream out) the check
is for,

if(Math.abs(index) >= 32767) // too large for short
      throw new ClassGenException("Branch target offset too large for short");

why not instead have the if(Math.abs(index) >= 65535)

I tried this and then my application works fine, I want to be sure if thats the
right approach.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: bcel-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: bcel-dev-help@jakarta.apache.org

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic