Closed Bug 708642 Opened 13 years ago Closed 13 years ago

Update Wordcode intepreter to handle float/float4

Categories

(Tamarin Graveyard :: Interpreter, defect, P4)

defect

Tracking

(Not tracked)

VERIFIED FIXED
Q2 12 - Cyril

People

(Reporter: virgilp, Assigned: lhansen)

References

Details

Attachments

(2 files)

Wordcode interpreter needs to be updated to handle the new Float/Float4 opcodes and coercions
Blocks: float/float4
I think the opcodes are supported as of some weeks ago.  It is specifically the two assertions that were added with the call analyzer this week that I was concerned about.
Priority: -- → P3
Target Milestone: --- → Q2 12 - Cyril
Priority: P3 → P4
Specifically WordcodeEmitter::writeCoerceToNumeric in WordcodeEmitter.cpp.
Assignee: nobody → lhansen
I think there's more going on here.  The implementation of writeNip seems inappropriate for the wordcode interpreter, for one thing.  It looks like the wordcode interpreter has been forced into a JIT framework (down the path toward LIR_ffff2f4) and that is probably wrong.  I'm going to attach a patch that has some work in progres for a WOP_float4 opcode to fit into the current framework, but I suspect this is a dead end and that the fix is really at a higher level.
Resolves all test suite failures but one.  The whole emitCallpropertySlot() / writeNip() thing is evil and out of tune with how the interpreter works, but it looks like we can shoehorn things together OK.  There needs to be a better implementation of writeNip() for wordcode, too - the sequence of swap/pop emitted is seriously suboptimal for float4().
changeset:   7086:4ea6fbb7ce77
tag:         tip
user:        Lars T Hansen <lhansen@adobe.com>
date:        Wed Dec 14 20:59:59 2011 +0100
summary:     Fix 708642 - Update Wordcode intepreter to handle float/float4
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: