Mikhail,

yes, we surely need support for such methods. In the current codebase we
will have only problems with not-successfully-resolved references from the
code. After lazy resolution is implemented - we'll also have problems with
long running methods.

There is no problem from the POV of JVMTI. If a method redefined is being
executed, it is allowed to run until finished, it is assigned a new
methodID, and old methodID is assigned for new version of this method.

Regards,
    Pavel.
On 5/2/07, Mikhail Fursov <[EMAIL PROTECTED]> wrote:

On 5/2/07, George Timoshenko <[EMAIL PROTECTED]> wrote:
>
> Hello Pavel, Egor, community.
>
> I understand what Egor has wrote.
> But the idea of constant pool usage in a method is not clear for me.
>
> Managed code does not work with constant pool at runtime, right?
> All cp indexes were processed when the method was compiled.


This is not true in Lazy Resolution mode. All lazy resolution helpers have
at least 2 arg: enclosing class handle + cp-index.

If we are talking about objects (and their fields) creating the merged
> pool of fields should not be affected by indexes and their 16-bit limit.
> The patching is needed here (Egor wrote about it) to substitute old
> links with new "redefined" fields/methods addresses.
>
>
> Pavel, could you please clarify how the merged constant pool is supposed
> to be used.
>
>
> George.
>

Pavel, I need some clarification too.
Do you want support to redefine methods that are never exit ?
Example:
while(true) {
      doSomething()
}





--
Mikhail Fursov




--
Pavel Pervov,
Intel Enterprise Solutions Software Division

Reply via email to