History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: LPP-2366
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: -- --
Assignee: Unassigned
Reporter: P T Withington
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
OpenLaszlo

Fix SWF compiler forward branch bug that keeps appearing

Created: 20/Jul/06 12:08 PM   Updated: 15/Feb/07 04:42 PM
Component/s: Compiler - JavaScript
Affects Version/s: Legals PR2
Fix Version/s: 4.0.0

Time Tracking:
Not Specified

Severity: Minor
Fixed in Change#: 3,749
Runtime: N/A
Fix in hand: False


 Description  « Hide
If you sync to 1358, non-debug swf is broken. This is due to a forward branch being incorrectly output. We should use this opportunity to track this down and fix it.

 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
P T Withington - 08/Feb/07 10:29 AM
r3749 | ptw | 2007-02-08 13:27:07 -0500 (Thu, 08 Feb 2007) | 29 lines
Changed paths:
   M /openlaszlo/branches/legals/WEB-INF/lps/server/src/org/openlaszlo/sc/Actions.java
   M /openlaszlo/branches/legals/WEB-INF/lps/server/src/org/openlaszlo/sc/Assembler.java
   M /openlaszlo/branches/legals/WEB-INF/lps/server/src/org/openlaszlo/sc/CodeGenerator.java
   M /openlaszlo/branches/legals/WEB-INF/lps/server/src/org/openlaszlo/sc/Instructions.java

Change 20070208-ptw-F by ptw@dueling-banjos.local on 2007-02-08 11:49:55 EST
    in /Users/ptw/OpenLaszlo/legals-2

Summary: Fix 2 swf byte-code generator errors

Bugs Fixed:
LPP-2366: 'Fix SWF compiler forward branch bug that keeps appearing'
LPP-NaN: 'Unknown getURL2 flag: 0x11'
LPP-NaN: 'FSCommand2. This is a new opcode in FL2 (Flash Lite 2) that is used for all mobile-specific functionality.'

Technical Reviewer: henry (over shoulder)
QA Reviewer: strk@keybit.net, jgrandy (pending)
Doc Reviewer: n/a

Details:
    Actions: GetURL2 _does_ have args

    Instructions: Output flag arg of GetURL2

    Assembler: When growing the output buffer, set its byte order!
    (Also removed lots of gratuitous `this.`, added assertions about
    buffer byte order.)

    CodeGenerator: Pass flag arg to GetURL2 instruction.

Tests:
    flasm of swf LFC no longer complains about unknown flags and wild branches.
    smokecheck
    ant test

P T Withington - 08/Feb/07 10:32 AM
For verification.

Not sure how to tell you to verify this. We would intermittently see flasm complain about 'wild branches' when decompiling the swf version of the LFC, and it always complained about invalid flags for GetURL2. It no longer does that.

I had a repeatable test case for the wild-branch scenario that I could demonstrate by changing the CodeGenerator's buffer size, but I don't think this is necessary (and as the LFC changes, the repeatable case goes away). Henry and I are quite sure that the byte-order setting and assertions prove that it is correctly operating now.

Mamye Kratt - 15/Feb/07 03:22 PM
Closed