Closed Bug 533311 Opened 16 years ago Closed 7 years ago

const slots are not actually const

Categories

(Tamarin Graveyard :: Virtual Machine, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX
Future

People

(Reporter: chrisb, Unassigned)

Details

(Whiteboard: PACMAN, Language bug)

Attachments

(1 file)

initproperty instructions can be used to update slots in a constructor, including slots on instances that have already be constructed. Arguably initproperty should only be able to update an instance that is being constructed. If we want to fix I think the right way to fix this is to cause the verifier to disallow writes of local0 ( which has the this pointer ) and then change the initproperty instruction to always use local0 as the base instead of popping the base off the stack. initproperty should only be able to use fully static names that refer to const slots. initproperty should not be allowed to initialize non-const slots ( that's what setproperty is for ). With these new constraints the verifier should be able to do all the validation that is needed to safely execute initproperty instructions.
Target Milestone: --- → Future
Whiteboard: PACMAN, Language bug
Flags: flashplayer-qrb+
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: