[ http://issues.apache.org/jira/browse/DERBY-921?page=all ]

Daniel John Debrunner updated DERBY-921:
----------------------------------------

    Description: 
Conditionals in generated code (MethodBuilder.conditionalIf and 
conditionalIfNull) generate code that only supports 16 bit jump offsets for the 
branch opcode (e.g. IFNONNULL)  or the GOTO opcode. Earlier code now detects 
the offset being larger than 32767.

The JVM supports a 32bit jump offset instruction, GOTO_W, this can be used to 
support jump offsets that are bigger than 16bits (32767) for both the branch 
opcode
and the GOTO instruction.

This allow increasing the number of logical operators as seen in the query in 
the largeCodeGen test.

  was:
Conditionals in generated code (MethodBuilder.conditionalIf and 
conditionalIfNull) generate code that only supports 16 bit jump offsets for the 
branch opcode (e.g. IFNONNULL)  or the GOTO opcode. Earlier code now detects 
the offset being larger than 32767.

The JVM supports a 32bit jump offset instruction, GOTO_W, this can be used to 
support jump offsets that are bigger than 16bits (32767) for both the branch 
opcode
and the GOTO instruction.

This allow increasing the number of IN list values as seen in the query in the 
largeCodeGen test.


Spaced out on which query this was helping in large code gen.

> Support 32bit branch offsets for conditional logic in generated code.
> ---------------------------------------------------------------------
>
>          Key: DERBY-921
>          URL: http://issues.apache.org/jira/browse/DERBY-921
>      Project: Derby
>         Type: Sub-task
>   Components: Services, SQL
>     Reporter: Daniel John Debrunner
>     Assignee: Daniel John Debrunner
>     Priority: Minor
>      Fix For: 10.2.0.0

>
> Conditionals in generated code (MethodBuilder.conditionalIf and 
> conditionalIfNull) generate code that only supports 16 bit jump offsets for 
> the branch opcode (e.g. IFNONNULL)  or the GOTO opcode. Earlier code now 
> detects the offset being larger than 32767.
> The JVM supports a 32bit jump offset instruction, GOTO_W, this can be used to 
> support jump offsets that are bigger than 16bits (32767) for both the branch 
> opcode
> and the GOTO instruction.
> This allow increasing the number of logical operators as seen in the query in 
> the largeCodeGen test.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to