harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexey Varlamov (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-3845) [drlvm][exception] Class unloading support in lazy stack creation.
Date Tue, 22 May 2007 12:35:17 GMT

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

Alexey Varlamov commented on HARMONY-3845:

Pavel, I'm afraid you got me a bit wrong.

1) ClassLoader handle can be looked in the static table ClassLoader::m_table, if it not there
- it is unloaded. (Not 100% accurate I must admit...)
2) I meant not C-strings but VM-Strings, which provide unique storage for Class & Method
names and are never deallocated. No any extra allocation or free needed, just copy of handle.
Still there must be a way to detect if class is unloaded to be able to skip native2bc search.

I agree that all approaches have some pros and cons, no ideal solution yet. 

BTW, does RI really unloads classes in such cases? We could just prevent unloading of classes
for unresolved stack traces - like keeping an array of j.l.Class refs for frames alongside
with unresolved state:
class Throwable {
	private StackTraceElement[] stackTrace; //resolved stack
	private transient Object state;    //unresolved stack state
	private transient Class[] frames;	//just anchors for Classes in stack, should be nullified
after resolving stack state

> [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.

View raw message