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

[jira] Created: (HARMONY-3126) [drlvm] VMMagic: migration to new interfaces

[drlvm] VMMagic: migration to new interfaces
--------------------------------------------

                 Key: HARMONY-3126
                 URL: https://issues.apache.org/jira/browse/HARMONY-3126
             Project: Harmony
          Issue Type: Improvement
          Components: DRLVM
            Reporter: Mikhail Fursov
         Attachments: vmmagic_1.zip

This patch contains:
1) all VMmagics methods updated to use annotations-like pragmas instead of obsolete exception-like
2) vmmagic.jar location is updated to point to the new version. Run 'build update' before building drlvm
3) method_has_annotation was added to VM interfaces
4) magic types were removed from VM/GC enumeration
5) some refactoting was done to simplefy EM64T port (I hope it were all VM/GC changes needed)
6) minor bugfixes and improvements

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


[jira] Resolved: (HARMONY-3126) [drlvm] VMMagic: migration to new interfaces

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-3126?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexey Varlamov resolved HARMONY-3126.
--------------------------------------

    Resolution: Fixed

> [drlvm] VMMagic: migration to new interfaces
> --------------------------------------------
>
>                 Key: HARMONY-3126
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3126
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: vmmagic_1.zip, vmmagic_2.zip, vmmagic_3.diff, wrn.diff
>
>
> This patch contains:
> 1) all VMmagics methods updated to use annotations-like pragmas instead of obsolete exception-like
> 2) vmmagic.jar location is updated to point to the new version. Run 'build update' before building drlvm
> 3) method_has_annotation was added to VM interfaces
> 4) magic types were removed from VM/GC enumeration
> 5) some refactoting was done to simplefy EM64T port (I hope it were all VM/GC changes needed)
> 6) minor bugfixes and improvements

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


[jira] Commented: (HARMONY-3126) [drlvm] VMMagic: migration to new interfaces

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-3126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12473086 ] 

Alexey Varlamov commented on HARMONY-3126:
------------------------------------------

But how Ia32GCMap.cpp mods relate to this issue? And what's wrong with those assertions?

> [drlvm] VMMagic: migration to new interfaces
> --------------------------------------------
>
>                 Key: HARMONY-3126
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3126
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: vmmagic_1.zip, vmmagic_2.zip, vmmagic_3.diff, wrn.diff
>
>
> This patch contains:
> 1) all VMmagics methods updated to use annotations-like pragmas instead of obsolete exception-like
> 2) vmmagic.jar location is updated to point to the new version. Run 'build update' before building drlvm
> 3) method_has_annotation was added to VM interfaces
> 4) magic types were removed from VM/GC enumeration
> 5) some refactoting was done to simplefy EM64T port (I hope it were all VM/GC changes needed)
> 6) minor bugfixes and improvements

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


[jira] Assigned: (HARMONY-3126) [drlvm] VMMagic: migration to new interfaces

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-3126?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexey Varlamov reassigned HARMONY-3126:
----------------------------------------

    Assignee: Alexey Varlamov

> [drlvm] VMMagic: migration to new interfaces
> --------------------------------------------
>
>                 Key: HARMONY-3126
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3126
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: vmmagic_1.zip
>
>
> This patch contains:
> 1) all VMmagics methods updated to use annotations-like pragmas instead of obsolete exception-like
> 2) vmmagic.jar location is updated to point to the new version. Run 'build update' before building drlvm
> 3) method_has_annotation was added to VM interfaces
> 4) magic types were removed from VM/GC enumeration
> 5) some refactoting was done to simplefy EM64T port (I hope it were all VM/GC changes needed)
> 6) minor bugfixes and improvements

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


[jira] Updated: (HARMONY-3126) [drlvm] VMMagic: migration to new interfaces

Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-3126?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mikhail Fursov updated HARMONY-3126:
------------------------------------

    Attachment: vmmagic_1.zip

the patch

> [drlvm] VMMagic: migration to new interfaces
> --------------------------------------------
>
>                 Key: HARMONY-3126
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3126
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Attachments: vmmagic_1.zip
>
>
> This patch contains:
> 1) all VMmagics methods updated to use annotations-like pragmas instead of obsolete exception-like
> 2) vmmagic.jar location is updated to point to the new version. Run 'build update' before building drlvm
> 3) method_has_annotation was added to VM interfaces
> 4) magic types were removed from VM/GC enumeration
> 5) some refactoting was done to simplefy EM64T port (I hope it were all VM/GC changes needed)
> 6) minor bugfixes and improvements

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


[jira] Reopened: (HARMONY-3126) [drlvm] VMMagic: migration to new interfaces

Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-3126?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mikhail Fursov reopened HARMONY-3126:
-------------------------------------


I have found that my patch contains one issue that must be fixed: caching types in Jitrino between 2 compilations is not safe, because of all types in Jitrino are created using compilation-level memory manager.


> [drlvm] VMMagic: migration to new interfaces
> --------------------------------------------
>
>                 Key: HARMONY-3126
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3126
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: vmmagic_1.zip, vmmagic_2.zip, wrn.diff
>
>
> This patch contains:
> 1) all VMmagics methods updated to use annotations-like pragmas instead of obsolete exception-like
> 2) vmmagic.jar location is updated to point to the new version. Run 'build update' before building drlvm
> 3) method_has_annotation was added to VM interfaces
> 4) magic types were removed from VM/GC enumeration
> 5) some refactoting was done to simplefy EM64T port (I hope it were all VM/GC changes needed)
> 6) minor bugfixes and improvements

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


[jira] Commented: (HARMONY-3126) [drlvm] VMMagic: migration to new interfaces

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-3126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12473411 ] 

Alexey Varlamov commented on HARMONY-3126:
------------------------------------------

Applied at r507980

> [drlvm] VMMagic: migration to new interfaces
> --------------------------------------------
>
>                 Key: HARMONY-3126
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3126
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: vmmagic_1.zip, vmmagic_2.zip, vmmagic_3.diff, wrn.diff
>
>
> This patch contains:
> 1) all VMmagics methods updated to use annotations-like pragmas instead of obsolete exception-like
> 2) vmmagic.jar location is updated to point to the new version. Run 'build update' before building drlvm
> 3) method_has_annotation was added to VM interfaces
> 4) magic types were removed from VM/GC enumeration
> 5) some refactoting was done to simplefy EM64T port (I hope it were all VM/GC changes needed)
> 6) minor bugfixes and improvements

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


[jira] Commented: (HARMONY-3126) [drlvm] VMMagic: migration to new interfaces

Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-3126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12471325 ] 

Pavel Pervov commented on HARMONY-3126:
---------------------------------------

1) VTable comression and reference compression are orthogonal. So, please, review your code carefully to reflect this.
2) Field_Handle and Field* are autoconvertable inside VM Core code. So, no need to explicitly convert.
3) Is it enough to compare annotations by name? Main concern here is that upon call to method_has_annotation, all annotations for that method will be loaded.
4) Still if loading annotations is required it is better to use ClassLoader::LoadVerifyAndPrepareClass instead of Type_Desc manipulation interfaces.
5) In is_magic_type_name please consider using memcmp where possible. Note, that you know lengths of all strings participating in these operations. This will certainly increase performance.
6) Generally, set_magic_type() is excessive as you perform this operation from inside Field method (namely, parse). If you prefer keeping this method, it should not be public.
7) I think, there exists only one PRAGMA_INLINE class. So, this field should be made static.
8) In case of some misconfiguration (absence of PRAGMA_INLINE class) OPT will just assert (or die with SIGSEGV in release mode) instead of bringing out some useful diagnostics.
9) In md->hasAnnotation(inlinePragma) block please consider splitting logging into several lines (Log, print, Log).
10) Optimization for Type::Boolean is not exactly related to magics, isn't it? There are also several more changes/optimizations which are not related to magics. Would it be more correct and clean to file them as separate JIRA?
11) Many string comparisons were introduced with magics support.
12) Changes in LHH: as both ifs return PROB_HEURISTIC_FAIL is it worth merging these ifs into one?

Phew!.. :)

> [drlvm] VMMagic: migration to new interfaces
> --------------------------------------------
>
>                 Key: HARMONY-3126
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3126
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: vmmagic_1.zip, wrn.diff
>
>
> This patch contains:
> 1) all VMmagics methods updated to use annotations-like pragmas instead of obsolete exception-like
> 2) vmmagic.jar location is updated to point to the new version. Run 'build update' before building drlvm
> 3) method_has_annotation was added to VM interfaces
> 4) magic types were removed from VM/GC enumeration
> 5) some refactoting was done to simplefy EM64T port (I hope it were all VM/GC changes needed)
> 6) minor bugfixes and improvements

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


[jira] Updated: (HARMONY-3126) [drlvm] VMMagic: migration to new interfaces

Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-3126?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mikhail Fursov updated HARMONY-3126:
------------------------------------

    Attachment: vmmagic_3.diff

the patch

> [drlvm] VMMagic: migration to new interfaces
> --------------------------------------------
>
>                 Key: HARMONY-3126
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3126
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: vmmagic_1.zip, vmmagic_2.zip, vmmagic_3.diff, wrn.diff
>
>
> This patch contains:
> 1) all VMmagics methods updated to use annotations-like pragmas instead of obsolete exception-like
> 2) vmmagic.jar location is updated to point to the new version. Run 'build update' before building drlvm
> 3) method_has_annotation was added to VM interfaces
> 4) magic types were removed from VM/GC enumeration
> 5) some refactoting was done to simplefy EM64T port (I hope it were all VM/GC changes needed)
> 6) minor bugfixes and improvements

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


[jira] Commented: (HARMONY-3126) [drlvm] VMMagic: migration to new interfaces

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-3126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12471253 ] 

Alexey Varlamov commented on HARMONY-3126:
------------------------------------------

After thinking a bit on 1), semantically is_reference and is_magic_type are mutually exclusive characteristics, so let's change field_is_reference() behaviour and do not export field_is_magic_type_reference() until really needed.

> [drlvm] VMMagic: migration to new interfaces
> --------------------------------------------
>
>                 Key: HARMONY-3126
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3126
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: vmmagic_1.zip, wrn.diff
>
>
> This patch contains:
> 1) all VMmagics methods updated to use annotations-like pragmas instead of obsolete exception-like
> 2) vmmagic.jar location is updated to point to the new version. Run 'build update' before building drlvm
> 3) method_has_annotation was added to VM interfaces
> 4) magic types were removed from VM/GC enumeration
> 5) some refactoting was done to simplefy EM64T port (I hope it were all VM/GC changes needed)
> 6) minor bugfixes and improvements

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


[jira] Commented: (HARMONY-3126) [drlvm] VMMagic: migration to new interfaces

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-3126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12471676 ] 

Alexey Varlamov commented on HARMONY-3126:
------------------------------------------

Pavel, thanks for such a thorough review! 
Few observations below:
Re 3) : In method_has_annotation() I see annotations are compared by class, and this is the only correct way in general case. Therefore loading annotation classes is inavoidable, but in practice this has no overhead since only helper methods are explored.
Re 4) : ClassFileFormat dictates this, as annotations are named as descriptors and Type_Desc is just more convenient.
Re 5) : Yet better way is to compare String instances, i.e. preload magic types to Strings and compare by '==' with incoming class name.
Re 11) : With the above optimizations, no extra comparisons in VM? As for the JIT, probably no easy alternative... Maybe export VM's StringPool?

> [drlvm] VMMagic: migration to new interfaces
> --------------------------------------------
>
>                 Key: HARMONY-3126
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3126
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: vmmagic_1.zip, wrn.diff
>
>
> This patch contains:
> 1) all VMmagics methods updated to use annotations-like pragmas instead of obsolete exception-like
> 2) vmmagic.jar location is updated to point to the new version. Run 'build update' before building drlvm
> 3) method_has_annotation was added to VM interfaces
> 4) magic types were removed from VM/GC enumeration
> 5) some refactoting was done to simplefy EM64T port (I hope it were all VM/GC changes needed)
> 6) minor bugfixes and improvements

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


[jira] Commented: (HARMONY-3126) [drlvm] VMMagic: migration to new interfaces

Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-3126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12472233 ] 

Pavel Pervov commented on HARMONY-3126:
---------------------------------------

1) In vm.h: misprint: 'must' instead of 'is must'
2) In JavaByteCodeTranslator.cpp: misprint: 'must' instead of 'is must'

Otherwise, patch is good.

> [drlvm] VMMagic: migration to new interfaces
> --------------------------------------------
>
>                 Key: HARMONY-3126
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3126
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: vmmagic_1.zip, vmmagic_2.zip, wrn.diff
>
>
> This patch contains:
> 1) all VMmagics methods updated to use annotations-like pragmas instead of obsolete exception-like
> 2) vmmagic.jar location is updated to point to the new version. Run 'build update' before building drlvm
> 3) method_has_annotation was added to VM interfaces
> 4) magic types were removed from VM/GC enumeration
> 5) some refactoting was done to simplefy EM64T port (I hope it were all VM/GC changes needed)
> 6) minor bugfixes and improvements

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


[jira] Commented: (HARMONY-3126) [drlvm] VMMagic: migration to new interfaces

Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-3126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12473334 ] 

Mikhail Fursov commented on HARMONY-3126:
-----------------------------------------

The patch allows storing magic types to fields, so  unmanaged pointers can live through safe-points and old assertion becomes obsolete.

> [drlvm] VMMagic: migration to new interfaces
> --------------------------------------------
>
>                 Key: HARMONY-3126
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3126
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: vmmagic_1.zip, vmmagic_2.zip, vmmagic_3.diff, wrn.diff
>
>
> This patch contains:
> 1) all VMmagics methods updated to use annotations-like pragmas instead of obsolete exception-like
> 2) vmmagic.jar location is updated to point to the new version. Run 'build update' before building drlvm
> 3) method_has_annotation was added to VM interfaces
> 4) magic types were removed from VM/GC enumeration
> 5) some refactoting was done to simplefy EM64T port (I hope it were all VM/GC changes needed)
> 6) minor bugfixes and improvements

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


[jira] Commented: (HARMONY-3126) [drlvm] VMMagic: migration to new interfaces

Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-3126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12471680 ] 

Pavel Pervov commented on HARMONY-3126:
---------------------------------------

Re 3,4: agree.
Re Re 5: yes, this will help more.
In is_magic_type_name should condition (name->len >= MAGIC_TYPE_PACKAGE) be reversed (name->len <= MAGIC_TYPE_PACKAGE) to correctly identify names, which are not magics? Also, length of longest of magic types can be introduced to cut out names which are longer, than any available magic class, and thus is not magic.

Something like,

if(name->len <= MAGIC_TYPE_PACKAGE || name->len > longest_magic_name)
    return false;

Re 11: should more of VM magics support be moved to VM (Class Support probably)?

> [drlvm] VMMagic: migration to new interfaces
> --------------------------------------------
>
>                 Key: HARMONY-3126
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3126
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: vmmagic_1.zip, wrn.diff
>
>
> This patch contains:
> 1) all VMmagics methods updated to use annotations-like pragmas instead of obsolete exception-like
> 2) vmmagic.jar location is updated to point to the new version. Run 'build update' before building drlvm
> 3) method_has_annotation was added to VM interfaces
> 4) magic types were removed from VM/GC enumeration
> 5) some refactoting was done to simplefy EM64T port (I hope it were all VM/GC changes needed)
> 6) minor bugfixes and improvements

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


[jira] Resolved: (HARMONY-3126) [drlvm] VMMagic: migration to new interfaces

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-3126?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexey Varlamov resolved HARMONY-3126.
--------------------------------------

    Resolution: Fixed

Applied the 2nd patch at r506971.

> [drlvm] VMMagic: migration to new interfaces
> --------------------------------------------
>
>                 Key: HARMONY-3126
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3126
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: vmmagic_1.zip, vmmagic_2.zip, wrn.diff
>
>
> This patch contains:
> 1) all VMmagics methods updated to use annotations-like pragmas instead of obsolete exception-like
> 2) vmmagic.jar location is updated to point to the new version. Run 'build update' before building drlvm
> 3) method_has_annotation was added to VM interfaces
> 4) magic types were removed from VM/GC enumeration
> 5) some refactoting was done to simplefy EM64T port (I hope it were all VM/GC changes needed)
> 6) minor bugfixes and improvements

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


[jira] Commented: (HARMONY-3126) [drlvm] VMMagic: migration to new interfaces

Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-3126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12471316 ] 

Mikhail Fursov commented on HARMONY-3126:
-----------------------------------------

Alexey,
I do not agree that we need to change field_is_reference() for magic types to return false.
Reasons:
1) All magic types and methods a Java methods so any magic-incompatible JIT will compile them without any modification. In this case you will see an exception a valid message like "Not implemented"
2) We have to change a lot of places in JIT translator to add special handling for magic types in the way you proposed (when a reference is not a reference..)


> [drlvm] VMMagic: migration to new interfaces
> --------------------------------------------
>
>                 Key: HARMONY-3126
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3126
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: vmmagic_1.zip, wrn.diff
>
>
> This patch contains:
> 1) all VMmagics methods updated to use annotations-like pragmas instead of obsolete exception-like
> 2) vmmagic.jar location is updated to point to the new version. Run 'build update' before building drlvm
> 3) method_has_annotation was added to VM interfaces
> 4) magic types were removed from VM/GC enumeration
> 5) some refactoting was done to simplefy EM64T port (I hope it were all VM/GC changes needed)
> 6) minor bugfixes and improvements

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


[jira] Commented: (HARMONY-3126) [drlvm] VMMagic: migration to new interfaces

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-3126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12471321 ] 

Alexey Varlamov commented on HARMONY-3126:
------------------------------------------

field_is_reference() is never used in JIT, it is targeted to GC I believe. In this sense field_is_enumerable() is better name.

> [drlvm] VMMagic: migration to new interfaces
> --------------------------------------------
>
>                 Key: HARMONY-3126
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3126
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: vmmagic_1.zip, wrn.diff
>
>
> This patch contains:
> 1) all VMmagics methods updated to use annotations-like pragmas instead of obsolete exception-like
> 2) vmmagic.jar location is updated to point to the new version. Run 'build update' before building drlvm
> 3) method_has_annotation was added to VM interfaces
> 4) magic types were removed from VM/GC enumeration
> 5) some refactoting was done to simplefy EM64T port (I hope it were all VM/GC changes needed)
> 6) minor bugfixes and improvements

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


[jira] Updated: (HARMONY-3126) [drlvm] VMMagic: migration to new interfaces

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-3126?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexey Varlamov updated HARMONY-3126:
-------------------------------------

    Attachment: wrn.diff

Seems that warning is caused by the fact that there is no abs(_int64) function, the attached fix should work.

> [drlvm] VMMagic: migration to new interfaces
> --------------------------------------------
>
>                 Key: HARMONY-3126
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3126
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: vmmagic_1.zip, wrn.diff
>
>
> This patch contains:
> 1) all VMmagics methods updated to use annotations-like pragmas instead of obsolete exception-like
> 2) vmmagic.jar location is updated to point to the new version. Run 'build update' before building drlvm
> 3) method_has_annotation was added to VM interfaces
> 4) magic types were removed from VM/GC enumeration
> 5) some refactoting was done to simplefy EM64T port (I hope it were all VM/GC changes needed)
> 6) minor bugfixes and improvements

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


[jira] Commented: (HARMONY-3126) [drlvm] VMMagic: migration to new interfaces

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-3126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12471221 ] 

Alexey Varlamov commented on HARMONY-3126:
------------------------------------------

Mikhail, I noticed the following issues:
1) Seems that newly exported function "field_is_magic_type_reference()" has no direct use. The only current usecase is (and I could not invent any other): 
-            if (field_is_reference(fh)) {
+            if (field_is_reference(fh) && !field_is_magic_type_reference(fh)) {
I believe we should just replace  field_is_reference() with field_is_enumerable(), like this:
-            if (field_is_reference(fh)) {
+            if (field_is_enumerable(fh)) {
Or simply change the semantics of field_is_reference() - though this might be confusing in regards to internal Field API.
2) An assert is commented out in Ia32Inst.cpp due to warning - let's just fix this.

> [drlvm] VMMagic: migration to new interfaces
> --------------------------------------------
>
>                 Key: HARMONY-3126
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3126
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: vmmagic_1.zip
>
>
> This patch contains:
> 1) all VMmagics methods updated to use annotations-like pragmas instead of obsolete exception-like
> 2) vmmagic.jar location is updated to point to the new version. Run 'build update' before building drlvm
> 3) method_has_annotation was added to VM interfaces
> 4) magic types were removed from VM/GC enumeration
> 5) some refactoting was done to simplefy EM64T port (I hope it were all VM/GC changes needed)
> 6) minor bugfixes and improvements

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


[jira] Updated: (HARMONY-3126) [drlvm] VMMagic: migration to new interfaces

Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-3126?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mikhail Fursov updated HARMONY-3126:
------------------------------------

    Attachment: vmmagic_2.zip

Pavel, thank you for review.
Here is an updated diff

> [drlvm] VMMagic: migration to new interfaces
> --------------------------------------------
>
>                 Key: HARMONY-3126
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3126
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: vmmagic_1.zip, vmmagic_2.zip, wrn.diff
>
>
> This patch contains:
> 1) all VMmagics methods updated to use annotations-like pragmas instead of obsolete exception-like
> 2) vmmagic.jar location is updated to point to the new version. Run 'build update' before building drlvm
> 3) method_has_annotation was added to VM interfaces
> 4) magic types were removed from VM/GC enumeration
> 5) some refactoting was done to simplefy EM64T port (I hope it were all VM/GC changes needed)
> 6) minor bugfixes and improvements

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