Closed Bug 422671 Opened 17 years ago Closed 16 years ago

TC: Using the expression a[i++] = i in for loop generating verify erroe

Categories

(Tamarin Graveyard :: Virtual Machine, defect)

x86
Windows 95
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED INVALID

People

(Reporter: brbaker, Assigned: jodyer)

Details

Attachments

(1 file)

147 bytes, application/octet-stream
Details
Steps to reproduce: 1.Compile and Execute the following code using release_debugger var arr:Array = []; for (var i:int = 0; i < 10 ; arr[i++] = i); // this does not work Actual Results: VerifyError: Error #1068: int and * cannot be reconciled. at global$init() Expected Results: No error Workaround (if any): Dont use the expression a[i++] = i in the for loop. Use arr.push(i++) or a[i] = i, i++ in the for loop. Transferred Comments: Brent Baker - Mon Jan 28 09:38:46 CST 2008 Code: var arr:Array = []; for (var i:int = 0; i < 10 ; arr[i++] = i); // this does not work Error: verify global$init() stack: scope: locals: global * * 0:getlocal0 stack: global scope: locals: global * * 1:pushscope stack: scope: global locals: global * * 2:newarray 0 stack: Array scope: global locals: global * * 4:getglobalscope stack: Array global scope: global locals: global * * 5:swap stack: global Array scope: global locals: global * * 6:setslot 1 stack: scope: global locals: global * * 8:pushbyte 0 stack: int scope: global locals: global * * 10:getglobalscope stack: int global scope: global locals: global * * 11:swap stack: global int scope: global locals: global * * 12:setslot 2 stack: scope: global locals: global * * 14:jump 42 B0: stack: scope: global locals: global? * * 18:label stack: scope: global locals: global? * * 19:getglobalscope stack: global scope: global locals: global? * * 20:getslot 1 stack: Array? scope: global locals: global? * * 22:getglobalscope stack: Array? global scope: global locals: global? * * 23:getslot 2 stack: Array? int scope: global locals: global? * * 25:dup stack: Array? int int scope: global locals: global? * * 26:increment_i stack: Array? int int scope: global locals: global? * * 27:setlocal2 stack: Array? int scope: global locals: global? * int 28:getlocal2 stack: Array? int int scope: global locals: global? * int 29:getglobalscope stack: Array? int int global scope: global locals: global? * int 30:swap stack: Array? int global int scope: global locals: global? * int 31:setslot 2 stack: Array? int scope: global locals: global? * int 33:kill 2 stack: Array? int scope: global locals: global? * * 35:setlocal1 stack: Array? scope: global locals: global? int * 36:getlocal1 stack: Array? int scope: global locals: global? int * 37:getglobalscope stack: Array? int global scope: global locals: global? int * 38:getslot 2 stack: Array? int int scope: global locals: global? int * 40:setproperty {public,BugTestAS.as$1}::[] VerifyError: Error #1068: int and * cannot be reconciled. at global$init() Dan Schaffer - Thu Jan 31 09:24:47 CST 2008 this is a bug in the vm. reproduced in tamarin-central. it works in tamarin-tracing. will transfer to vm bugzilla. will mark to fix for flash player 10.
Attached file Testcase
Assignee: nobody → jodyer
reconfirmed issue using TC #703, still producing noted VerifyError.
Flags: in-testsuite?
Flags: flashplayer-triage+
Flags: flashplayer-qrb+
Priority: -- → P2
Target Milestone: --- → flash10.1
The fact that it works in TT is not really an indication of anything, since TT had a less picky verifier (better data representation). Back to Jeff for triage - ASC bug?
Priority: P2 → --
Target Milestone: flash10.1 → ---
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → WONTFIX
Resolution: WONTFIX → INVALID
Status: RESOLVED → VERIFIED
Flags: in-testsuite?
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: