> Sorry to ask such a naive question, but why is it the responsibility > of the bytecode emitter to mark a call as "tail" ? > It seems fairly easy for HotSpot to decide whether a call is tail or not. > > Does this mean that some language implementers would like to have > their calls unoptimized even when they could be ? The only reason I > can think of is to have full stack trace. However, in this case, I would > expect to just have a "-XX" flag to disable tailcall optimization when > one wishes to have full stack traces.
see http://blogs.sun.com/jrose/entry/tail_calls_in_the_vm, "hard" versus "soft" tail calls. -- You received this message because you are subscribed to the Google Groups "JVM Languages" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/jvm-languages?hl=en.
