IonBuilder::traverseBytecode() should probably have an operation
callback check.

-David

On 04/15/2013 03:49 PM, Nicolas B. Pierron wrote:
> On 04/14/2013 11:41 PM, Nicholas Nethercote wrote:
>> Hi,
>>
>> For https://bugzilla.mozilla.org/show_bug.cgi?id=842800 I'm interested
>> in adding more checks of SpiderMonkey's operation callback in
>> potentially long-running operations.  For example, when running the
>> asm.js Unreal demo, parsing takes several seconds, so in my patch I
>> added a check after the parsing of each statement.
>>
>> I'm also seeing that IonMonkey compilation can take a while on the
>> demo.  Is there a loop or loops in IonMonkey that are good candidates
>> for adding operation callback checks?
> 
> IonMonkey compilation is currently sequential for the IonBuilder phase
> and the CodeGenerator::link phase.  All the rest might run in a separate
> thread (or not in case of mono core architectures).
> 
> Before the compilation we allocate a lifo-alloc which got extend if
> needed by the compilation.  As far as I know, everything which goes into
> the lifo-alloc is considered as dark-matter from the about:memory point
> of view.
> 
> I am not sure what you are trying to look at but what might be
> interesting would be to look at the usage of the lifo alloc.  It would
> be safe to do it at the creation of each basic block, and in
> MIRGenerator::shouldCancel (called at each loop iteration on basic
> blocks) if it is safe to report such status from another thread.
> 

_______________________________________________
dev-tech-js-engine-internals mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

Reply via email to