User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/530.5 (KHTML, like Gecko) Chrome/18.104.22.168 Safari/530.5 Build Identifier: Any build Currently VM checks the variable "interrupted" periodically, while executing the actionscript, to see if the script was stuck for a long time. We set this variable through a timer which runs in a separate thread. This works fine for a preemptive multitasking OS like Windows/Windows Mobile. But for a non-preemptive system like BREW, the only way it can set this variable is if the current thread voluntarily relinquishes the control. Hence I suggest that we have a virtual function in the AvmCore which will be called periodically. This can be enclosed with in feature macro so that performance on other OS is not affected. The class deriving from AvmCore can provide appropriate implementation to check the time stamps and interrupt if required. It will be nice if the deriving class can also control the frequency of getting these calls in terms of the number of instructions. Reproducible: Always Steps to Reproduce: 1. Writing an infinite while loop in Action Script. Actual Results: The BREW phone will reset itself as it works on the co-operative multithreading. Expected Results: A virtual method on the AvmCore is called periodically so that a derived class can provide the necessary code to set the interrupt variable in case of non-preemptive OSes.
Do you require JIT support on this device or interpreter only?
Currently it is only running interpreter due to some limitations on the device.
Is this feature being considered?
It's not high priority for us. If you have a specific patch to propose we'd be happy to discuss it.