You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Alexey Varlamov (JIRA)" <ji...@apache.org> on 2007/05/22 09:21:16 UTC

[jira] Commented: (HARMONY-3845) [drlvm][exception] Class unloading support in lazy stack creation.

    [ https://issues.apache.org/jira/browse/HARMONY-3845?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12497739 ] 

Alexey Varlamov commented on HARMONY-3845:
------------------------------------------

Pavel, 
Sorry for the delayed reply. 
Regarding the 1st alternative, I'm reading in j.l.Throwable.getStackTrace() javadoc:
"Some virtual machines may, under some circumstances, omit one or more stack frames from the stack trace. In the extreme case, a virtual machine that has no stack trace information concerning this throwable is permitted to return a zero-length array from this method. Generally speaking, the array returned by this method will contain one element for every frame that would be printed by printStackTrace. "
So probably yes, formally we should omit a frame rather than keep it with "???".

In the second alternative, I meant saving pointers to C-structs named "String" (defined in String_Pool.h) which are readily available during stack creation. Looking deeper, Method_Handle is still needed for mapping IP to bc; so I was wrong saying "instead", but "in addition"...

I don't think we should refuse lazy stacks creation, obtaining line numbers is quite costly and should be avoided until really needed.

> [drlvm][exception] Class unloading support in lazy stack creation.
> ------------------------------------------------------------------
>
>                 Key: HARMONY-3845
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3845
>             Project: Harmony
>          Issue Type: New Feature
>          Components: DRLVM
>            Reporter: Pavel Afremov
>         Attachments: 0001-First-version-of-class-unloading-support-implementat.patch, 0002-Tune-class-unloading-support-in-lazy-stack-creation.patch, ExceptionsBenchmark.java
>
>
> Class unloading support in lazy stack creation.
> When classes are unloaded, stack traces for all exception should be created, because required information can be unreachable late. Static method "Throwable.createAllStackTraces() "should be called for it.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.