On the 0x23C day of Apache Harmony Alexey Varlamov wrote: > 11 Dec 2006 21:20:23 +0600, Egor Pasko <[EMAIL PROTECTED]>: > > On the 0x23A day of Apache Harmony Alexey Varlamov wrote: > > > I've looked through "Known issues" page and dropped few items, which > > > were resolved already: > > > - Java assertions support > > > - StackOverflowError support for JIT mode > > > > why? > > we do not have SOE 100% safe yet, JIT algorithms can be caught with > > SOE on large bytecodes. We should estimate how much stack we can take > > before each graph traversal activity. Not done yet and leads to a crash. > > > The difference is, a technical imperfection vs missing feature (which > was originally listed) - so feel free to add a detailed TODO record > instead.
fine, I made a JIT task from that under the new chapter "JIT Stability": 4. Avoiding stack overflow in JIT C++ code Problem: If compiled method's size is large or in case of aggressive inlining parameters are set in Jitrino.OPT the latter can crash with stack overflow while recursively traversing the CFG (=Control Flow Graph). Task: To avoid stack overflows, estimate the amount of space allocated by each optimization stage, check that it does not exceed the available free space on the stack. VM provides necessary functionality to check that via VM helper function get_available_stack_size(). In dangerous situations stop inlining or return JIT_FAILURE so that other JITs (for example, Jitrino.JET) can pick the compilation task. http://wiki.apache.org/harmony/JIT_Development_Tasks if there is a JIRA issue for that, feel free to add a reference. -- Egor Pasko