harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mikhail Fursov (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-3626) [drlvm][jit][opt][em64t] Managed<->Unmanaged data conversion check fails on double->int convertion helper
Date Wed, 11 Apr 2007 14:26:32 GMT
[drlvm][jit][opt][em64t] Managed<->Unmanaged data conversion check fails on double->int
convertion helper

                 Key: HARMONY-3626
                 URL: https://issues.apache.org/jira/browse/HARMONY-3626
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
            Reporter: Mikhail Fursov

GCMap in Jitirno.OPT uses special algorithm to check that managed object does not cross suspension
point (call site) as unmanaged opnd.
Algorithm description: if some value is represented as unmanaged pointer and crosses suspension
point  it must never be assigned to/from managed pointer.

The problem:
Jitrino.OPT doesn't know if  vm-helper is a suspension point or not. HLO optimizations can
move some ops that are treated as vm-helper-calls in CG and put vm-helper call into managed<->unmanaged
conversion sensitive area (example: allocation helper which is inlined in server mode).
Actually these helper calls are not suspension points and HLO does nothing wrong, but CG does
not know which vm-helper is suspension point and which is not.

Today I've got 'jess' benchmark crashed in server mode because of d2i conversion helper moved
by 'gcm' into the middle of the inlined object allocation helper.

Proposal: add JIT<->VM interface to request if vmhelper is gcpoint or not.

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

View raw message