Closed Bug 617250 Opened 15 years ago Closed 15 years ago

Static Mops/Alchemy storage

Categories

(Tamarin Graveyard :: Virtual Machine, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

VERIFIED WONTFIX

People

(Reporter: alexmac, Unassigned)

References

Details

Attachments

(1 file, 2 obsolete files)

User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; en-us) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4 Build Identifier: In current shipping flavours of the VM the alchemy/mops opcodes have access to one dynamically allocated growable buffer per domain env. This patch adds support for a using a global fixed size buffer shared across domains. We don't expect to use this in any shipping configuration of the player/AIR, with one exception. We want to offer this as an opt-in feature for native applications compiled for iOS. Since the apps produced for iOS are standalone apps with a captive runtime which the user can already inject arbitrary native code into there is no additional risk introduced by exposing this functionality. Reproducible: Always
Attached patch Static Mops (obsolete) — Splinter Review
Attachment #495757 - Flags: review?(stejohns)
Comment on attachment 495757 [details] [diff] [review] Static Mops style nit: prevsailing style in Tamarin is for constants to begin with "k" or be all-caps so globalMemoryIsStatic -> kGlobalMemoryIsStatic or GLOBAL_MEMORY_IS_STATIC; ditto globalMemoryNeedsRangeCheck. style nit: "if()" -> "if ()" globalMemoryBase() and globalMemorySize() will generated unused-argument warnings on some compilers, this should be fixed. globalMemoryNeedsRangeCheck is entirely unused and should therefore be removed.
Attachment #495757 - Flags: review?(stejohns) → review+
Comment on attachment 495757 [details] [diff] [review] Static Mops Actually, one more nit that must be fixed: VMCFG_ macros are expected to use the existing avmfeatures.as setup, but this patch doesn't include any modifications to those. Please follow that protocol as it makes managing suites of features easier to track in the long run.
Attached patch Static Mops (obsolete) — Splinter Review
Fixed the stylistic bugs + added the avmfeatures changes
Attachment #495757 - Attachment is obsolete: true
Attachment #495887 - Flags: review?(stejohns)
Attached patch Static mopsSplinter Review
here's the correct patch
Attachment #495887 - Attachment is obsolete: true
Attachment #495890 - Flags: review?(stejohns)
Attachment #495887 - Flags: review?(stejohns)
Comment on attachment 495890 [details] [diff] [review] Static mops Looks good; adding Edwin as he's expressed a question about this...
Attachment #495890 - Flags: superreview?(edwsmith)
Attachment #495890 - Flags: review?(stejohns)
Attachment #495890 - Flags: review+
Blocks: 616780
Comment on attachment 495890 [details] [diff] [review] Static mops Over email, I've been convinced that the patch is safe from bad aliasing -- when used in an AOT context there will only be 1 DomainEnv and thus code can't tell if its really in the Domain or DomainEnv. SR- for these reasons: * needs comments, in avmfeatures.as, DomainMgr, or both, that fully explain the topology of domains in AOT, and where mops memory lives. Or, a document in the docs directory that spells it all out. * If there are other AOT-specific restrictions (is the size of the mops memory also fixed) then they need to be commented & explained. * needs test cases that probe the failure modes (fixed-sized mops memory, single domains, etc).
Attachment #495890 - Flags: superreview?(edwsmith) → superreview-
I didn't have the time to address the feedback for this release so I'm marking this bug as won't fix for now. Maybe next release we can do this.
Status: UNCONFIRMED → RESOLVED
Closed: 15 years ago
Resolution: --- → WONTFIX
bulk verifying resolved !fixed issues
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: