Le 28/01/2010 11:34, Christian Thalinger a écrit :
On Wed, 2010-01-27 at 17:59 +0100, Rémi Forax wrote:
Nice, it works well on some my small test suites (MethodHandle and indy).
Thanks for testing.

About perf, dynamic calls are a little less efficient than their static
couterparts,
it seems that neither c1 nor c2 inline a method handle call or an
invokedynamic.
Should I have set these inline flags that are now in product VM ?
It's correct that C1 does not do inlining for MH call sites, but C2
should.  Could you try to run with -XX:+PrintCompilation -XX:
+PrintInlining to see why the methods are not inlined?

With the test in attachment
java -server -XX:+UnlockExperimentalVMOptions -XX:+EnableInvokeDynamic Test2
(-server is jdk7b80 hs17)

Clearly the method handle aren't inlined,
PrintInlining give me some cryptic values (encoding problem I think),
I've also testes with LogCompilation, I get:

<bc code='182' bci='44'/>
<type id='572' name='int'/>
<method id='938' holder='691' name='invoke' return='572' arguments='572' flags='4369' bytes='0' iicount='1'/>
<call method='938' count='11264' prof_factor='1' inline='1'/>
<inline_depth_discount caller='905' callee='938'/>
<direct_call bci='44'/>
<uncommon_trap bci='44' reason='null_check' action='maybe_recompile'/>

(and from javap)
44: invokevirtual #21 // Method java/dyn/MethodHandle.invoke:(I)I

The whole log is is attachment, with the test.

-- Christian

Rémi
import java.dyn.MethodHandle;
import java.dyn.MethodHandles;
import java.dyn.MethodType;

public class Test2 {

    private static int N = 100000;

    public static void runDirect() {
        long begin = System.nanoTime();
        int value = 0;
        for (int i = 0; i < N; i++) {
            value = increment(value);
        }
        long end = System.nanoTime();
        System.out.println("Direct (" + value + "): " + (end - begin) / N);
    }

    public static int increment(int value) {
        return value + 1;
    }

    public static void runHandle() {
        long begin = System.nanoTime();
        final MethodType type = MethodType.methodType(int.class, int.class);
        MethodHandle increment = 
MethodHandles.publicLookup().findStatic(Test2.class, "increment", type);
        int value = 0;
        for (int i = 0; i < N; i++) {
            value = increment.<int>invoke(value);
        }
        long end = System.nanoTime();
        System.out.println("Handle (" + value + "): " + (end - begin) / N);
    }

    public static void main(String[] args) {
        for(int i=0; i<100; i++) {
          runDirect();
          runHandle();
        }
    }
}

<?xml version='1.0' encoding='UTF-8'?>
<hotspot_log version='160 1' process='4290' time_ms='1264676814285'>
<vm_version>
<name>
Java HotSpot(TM) Server VM
</name>
<release>
17.0-b07
</release>
<info>
Java HotSpot(TM) Server VM (17.0-b07) for linux-x86 JRE (1.7.0-ea-b80), built on Jan 21 2010 03:18:52 by &quot;java_re&quot; with gcc 4.3.0 20080428 (Red Hat 4.3.0-8)
</info>
</vm_version>
<vm_arguments>
<args>
-XX:+UnlockExperimentalVMOptions -XX:+EnableInvokeDynamic -XX:+UnlockDiagnosticVMOptions -XX:+LogCompilation 
</args>
<command>
Test2
</command>
<launcher>
SUN_STANDARD
</launcher>
<properties>
java.vm.specification.version=1.0
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.vendor=Sun Microsystems Inc.
java.vm.version=17.0-b07
java.vm.name=Java HotSpot(TM) Server VM
java.vm.vendor=Sun Microsystems Inc.
java.vm.info=mixed mode, sharing
java.ext.dirs=/usr/jdk/jdk1.7.0/jre/lib/ext:/usr/java/packages/lib/ext
java.endorsed.dirs=/usr/jdk/jdk1.7.0/jre/lib/endorsed
sun.boot.library.path=/usr/jdk/jdk1.7.0/jre/lib/i386
java.library.path=/usr/java/packages/lib/i386:/lib:/usr/lib
java.home=/usr/jdk/jdk1.7.0/jre
java.class.path=.
sun.boot.class.path=/usr/jdk/jdk1.7.0/jre/lib/resources.jar:/usr/jdk/jdk1.7.0/jre/lib/rt.jar:/usr/jdk/jdk1.7.0/jre/lib/sunrsasign.jar:/usr/jdk/jdk1.7.0/jre/lib/jsse.jar:/usr/jdk/jdk1.7.0/jre/lib/jce.jar:/usr/jdk/jdk1.7.0/jre/lib/charsets.jar:/usr/jdk/jdk1.7.0/jre/classes
sun.java.launcher=SUN_STANDARD
</properties>
</vm_arguments>
<tty>
<writer thread='6728560'/>
<thread_logfile thread='6728560' filename='/tmp/hs_c6728560_pid4290.log'/>
<writer thread='7879536'/>
<thread_logfile thread='7879536' filename='/tmp/hs_c7879536_pid4290.log'/>
<writer thread='1444720'/>
<task_queued compile_id='1' method='Test2 increment (I)I' bytes='4' count='5000' backedge_count='1' iicount='10000' stamp='0.057' comment='count' hot_count='10000'/>
<writer thread='7879536'/>
<nmethod compile_id='1' compiler='C2' level='2' entry='0xb46553a0' size='304' address='0xb46552c8' relocation_offset='188' code_offset='216' stub_offset='248' consts_offset='263' scopes_data_offset='264' scopes_pcs_offset='268' dependencies_offset='300' method='Test2 increment (I)I' bytes='4' count='5000' backedge_count='1' iicount='10000' stamp='0.061'/>
<writer thread='1444720'/>
<task_queued compile_id='1' compile_kind='osr' method='Test2 runDirect ()V' bytes='72' count='1' backedge_count='14563' iicount='1' osr_bci='8' stamp='0.061' comment='backedge_count' hot_count='14563'/>
<writer thread='7879536'/>
<nmethod compile_id='1' compile_kind='osr' compiler='C2' level='2' entry='0xb4655500' size='540' address='0xb4655408' relocation_offset='188' code_offset='248' stub_offset='408' consts_offset='423' scopes_data_offset='424' scopes_pcs_offset='468' dependencies_offset='532' oops_offset='536' method='Test2 runDirect ()V' bytes='72' count='1' backedge_count='14563' iicount='1' stamp='0.062'/>
<writer thread='1444720'/>
<uncommon_trap thread='1444720' reason='null_assert' action='make_not_entrant' compile_id='1' compile_kind='osr' compiler='C2' level='2' stamp='0.062'>
<jvms bci='33' method='Test2 runDirect ()V' bytes='72' count='1' backedge_count='14563' iicount='1'/>
</uncommon_trap>
<make_not_entrant thread='1444720' compile_id='1' compile_kind='osr' compiler='C2' level='2' stamp='0.062'/>
<task_queued compile_id='2' compile_kind='osr' method='Test2 runHandle ()V' bytes='104' count='1' backedge_count='14563' iicount='1' osr_bci='33' stamp='0.066' comment='backedge_count' hot_count='14563'/>
<writer thread='7879536'/>
<nmethod compile_id='2' compile_kind='osr' compiler='C2' level='2' entry='0xb4657c80' size='2188' address='0xb4657b08' relocation_offset='188' code_offset='376' stub_offset='1080' consts_offset='1175' scopes_data_offset='1176' scopes_pcs_offset='1644' dependencies_offset='1948' handler_table_offset='1956' oops_offset='2172' method='Test2 runHandle ()V' bytes='104' count='1' backedge_count='14563' iicount='1' stamp='0.069'/>
<writer thread='1444720'/>
<task_queued compile_id='2' method='Test2 runDirect ()V' bytes='72' count='2' backedge_count='5000' iicount='2' decompiles='1' null_assert_traps='1' stamp='0.070' comment='count' hot_count='2'/>
<writer thread='7879536'/>
<nmethod compile_id='2' compiler='C2' level='2' entry='0xb4658520' size='1780' address='0xb46583c8' relocation_offset='188' code_offset='344' stub_offset='888' consts_offset='973' scopes_data_offset='976' scopes_pcs_offset='1308' dependencies_offset='1564' handler_table_offset='1572' oops_offset='1764' method='Test2 runDirect ()V' bytes='72' count='2' backedge_count='5000' iicount='2' decompiles='1' null_assert_traps='1' stamp='0.072'/>
<writer thread='1444720'/>
<task_queued compile_id='3' compile_kind='osr' method='Test2 runDirect ()V' bytes='72' count='2' backedge_count='6024' iicount='2' decompiles='1' null_assert_traps='1' osr_bci='8' stamp='0.073' comment='backedge_count' hot_count='6024'/>
<writer thread='7879536'/>
<nmethod compile_id='3' compile_kind='osr' compiler='C2' level='2' entry='0xb4658c40' size='1844' address='0xb4658ac8' relocation_offset='188' code_offset='376' stub_offset='952' consts_offset='1037' scopes_data_offset='1040' scopes_pcs_offset='1372' dependencies_offset='1628' handler_table_offset='1636' oops_offset='1828' method='Test2 runDirect ()V' bytes='72' count='2' backedge_count='6024' iicount='2' decompiles='1' null_assert_traps='1' stamp='0.075'/>
<writer thread='1444720'/>
<task_queued compile_id='3' method='Test2 runHandle ()V' bytes='104' count='2' backedge_count='5000' iicount='2' stamp='0.075' comment='count' hot_count='2'/>
<writer thread='7879536'/>
<nmethod compile_id='3' compiler='C2' level='2' entry='0xb46593a0' size='2288' address='0xb4659208' relocation_offset='188' code_offset='408' stub_offset='1080' consts_offset='1195' scopes_data_offset='1196' scopes_pcs_offset='1680' dependencies_offset='2000' handler_table_offset='2008' oops_offset='2272' method='Test2 runHandle ()V' bytes='104' count='2' backedge_count='5000' iicount='2' stamp='0.078'/>
<writer thread='3599216'/>
<destroy_vm stamp='0.201'/>
<tty_done stamp='0.201'/>
</tty>
<compilation_log thread='7879536'>
<start_compile_thread thread='7879536' process='4290' stamp='0.051'/>
<task compile_id='1' method='Test2 increment (I)I' bytes='4' count='5000' backedge_count='1' iicount='10000' stamp='0.057'>
<phase name='matcher' nodes='45' stamp='0.057'>
<phase_done nodes='32' stamp='0.057'/>
</phase>
<phase name='regalloc' nodes='37' stamp='0.057'>
<regalloc attempts='0' success='1'/>
<phase_done nodes='46' stamp='0.058'/>
</phase>
<phase name='output' nodes='46' stamp='0.058'>
<phase_done nodes='54' stamp='0.058'/>
</phase>
<phase name='matcher' nodes='46' stamp='0.058'>
<phase_done nodes='33' stamp='0.058'/>
</phase>
<phase name='regalloc' nodes='38' stamp='0.058'>
<regalloc attempts='0' success='1'/>
<phase_done nodes='49' stamp='0.058'/>
</phase>
<phase name='output' nodes='49' stamp='0.058'>
<phase_done nodes='57' stamp='0.058'/>
</phase>
<phase name='matcher' nodes='47' stamp='0.058'>
<phase_done nodes='34' stamp='0.058'/>
</phase>
<phase name='regalloc' nodes='39' stamp='0.058'>
<regalloc attempts='0' success='1'/>
<phase_done nodes='52' stamp='0.058'/>
</phase>
<phase name='output' nodes='52' stamp='0.058'>
<phase_done nodes='60' stamp='0.058'/>
</phase>
<phase name='matcher' nodes='48' stamp='0.058'>
<phase_done nodes='35' stamp='0.058'/>
</phase>
<phase name='regalloc' nodes='40' stamp='0.058'>
<regalloc attempts='0' success='1'/>
<phase_done nodes='55' stamp='0.058'/>
</phase>
<phase name='output' nodes='55' stamp='0.058'>
<phase_done nodes='63' stamp='0.058'/>
</phase>
<phase name='matcher' nodes='49' stamp='0.058'>
<phase_done nodes='36' stamp='0.059'/>
</phase>
<phase name='regalloc' nodes='41' stamp='0.059'>
<regalloc attempts='0' success='1'/>
<phase_done nodes='58' stamp='0.059'/>
</phase>
<phase name='output' nodes='58' stamp='0.059'>
<phase_done nodes='66' stamp='0.059'/>
</phase>
<phase name='matcher' nodes='50' stamp='0.059'>
<phase_done nodes='37' stamp='0.059'/>
</phase>
<phase name='regalloc' nodes='42' stamp='0.059'>
<regalloc attempts='0' success='1'/>
<phase_done nodes='61' stamp='0.059'/>
</phase>
<phase name='output' nodes='61' stamp='0.059'>
<phase_done nodes='69' stamp='0.059'/>
</phase>
<phase name='matcher' nodes='41' stamp='0.059'>
<phase_done nodes='31' stamp='0.059'/>
</phase>
<phase name='regalloc' nodes='36' stamp='0.059'>
<regalloc attempts='0' success='1'/>
<phase_done nodes='45' stamp='0.059'/>
</phase>
<phase name='output' nodes='45' stamp='0.059'>
<phase_done nodes='53' stamp='0.059'/>
</phase>
<phase name='matcher' nodes='41' stamp='0.059'>
<phase_done nodes='31' stamp='0.059'/>
</phase>
<phase name='regalloc' nodes='36' stamp='0.059'>
<regalloc attempts='0' success='1'/>
<phase_done nodes='45' stamp='0.059'/>
</phase>
<phase name='output' nodes='45' stamp='0.059'>
<phase_done nodes='53' stamp='0.059'/>
</phase>
<phase name='matcher' nodes='41' stamp='0.059'>
<phase_done nodes='31' stamp='0.060'/>
</phase>
<phase name='regalloc' nodes='36' stamp='0.060'>
<regalloc attempts='0' success='1'/>
<phase_done nodes='45' stamp='0.060'/>
</phase>
<phase name='output' nodes='45' stamp='0.060'>
<phase_done nodes='53' stamp='0.060'/>
</phase>
<phase name='matcher' nodes='45' stamp='0.060'>
<phase_done nodes='33' stamp='0.060'/>
</phase>
<phase name='regalloc' nodes='38' stamp='0.060'>
<regalloc attempts='0' success='1'/>
<phase_done nodes='52' stamp='0.060'/>
</phase>
<phase name='output' nodes='52' stamp='0.060'>
<phase_done nodes='60' stamp='0.060'/>
</phase>
<phase name='matcher' nodes='44' stamp='0.060'>
<phase_done nodes='34' stamp='0.060'/>
</phase>
<phase name='regalloc' nodes='39' stamp='0.060'>
<regalloc attempts='0' success='1'/>
<phase_done nodes='54' stamp='0.060'/>
</phase>
<phase name='output' nodes='54' stamp='0.060'>
<phase_done nodes='62' stamp='0.060'/>
</phase>
<phase name='matcher' nodes='40' stamp='0.060'>
<phase_done nodes='30' stamp='0.060'/>
</phase>
<phase name='regalloc' nodes='35' stamp='0.060'>
<regalloc attempts='0' success='1'/>
<phase_done nodes='42' stamp='0.060'/>
</phase>
<phase name='output' nodes='42' stamp='0.060'>
<phase_done nodes='50' stamp='0.060'/>
</phase>
<phase name='parse' nodes='3' stamp='0.060'>
<type id='572' name='int'/>
<klass id='904' name='Test2' flags='1'/>
<method id='905' holder='904' name='increment' return='572' arguments='572' flags='9' bytes='4' iicount='10000'/>
<parse method='905' uses='10000' stamp='0.061'>
<parse_done nodes='24' memory='11092' stamp='0.061'/>
</parse>
<phase_done nodes='25' stamp='0.061'/>
</phase>
<phase name='optimizer' nodes='25' stamp='0.061'>
<phase name='ccp' nodes='25' stamp='0.061'>
<phase_done nodes='25' stamp='0.061'/>
</phase>
<phase name='idealLoop' nodes='25' stamp='0.061'>
<phase_done nodes='25' stamp='0.061'/>
</phase>
<phase_done nodes='25' stamp='0.061'/>
</phase>
<phase name='matcher' nodes='25' stamp='0.061'>
<phase_done nodes='13' stamp='0.061'/>
</phase>
<phase name='regalloc' nodes='15' stamp='0.061'>
<regalloc attempts='0' success='1'/>
<phase_done nodes='16' stamp='0.061'/>
</phase>
<phase name='output' nodes='16' stamp='0.061'>
<phase_done nodes='22' stamp='0.061'/>
</phase>
<task_done success='1' nmsize='48' count='5000' backedge_count='1' stamp='0.061'/>
</task>
<task compile_id='1' compile_kind='osr' method='Test2 runDirect ()V' bytes='72' count='1' backedge_count='14563' iicount='1' osr_bci='8' stamp='0.061'>
<phase name='parse' nodes='3' stamp='0.061'>
<type id='574' name='void'/>
<klass id='904' name='Test2' flags='1'/>
<method id='905' holder='904' name='runDirect' return='574' flags='9' bytes='72' iicount='1'/>
<klass id='913' name='java/lang/StringBuilder' unloaded='1'/>
<uncommon_trap method='905' bci='33' reason='unloaded' action='reinterpret' index='6' klass='913'/>
<parse method='905' uses='1' osr_bci='8' stamp='0.061'>
<uncommon_trap method='905' bci='33' reason='unloaded' action='reinterpret' index='6' klass='913'/>
<bc code='162' bci='12'/>
<branch target_bci='26' taken='0' not_taken='11264' cnt='11264' prob='never'/>
<bc code='184' bci='16'/>
<type id='572' name='int'/>
<method id='915' holder='904' name='increment' return='572' arguments='572' flags='9' bytes='4' compile_id='1' compiler='C2' level='2' iicount='10000'/>
<call method='915' count='11264' prof_factor='1' inline='1'/>
<parse method='915' uses='11264' stamp='0.061'>
<parse_done nodes='78' memory='16576' stamp='0.061'/>
</parse>
<bc code='162' bci='12'/>
<branch target_bci='26' taken='0' not_taken='11264' cnt='11264' prob='never'/>
<bc code='184' bci='26'/>
<type id='573' name='long'/>
<klass id='603' name='java/lang/System' flags='17'/>
<method id='907' holder='603' name='nanoTime' return='573' flags='265' bytes='0' iicount='14'/>
<call method='907' count='0' prof_factor='1' inline='1'/>
<intrinsic id='_nanoTime' nodes='4'/>
<bc code='178' bci='30'/>
<klass id='912' name='java/io/PrintStream' unloaded='1'/>
<assert_null reason='field' klass='912'/>
<uncommon_trap bci='33' reason='null_assert' action='make_not_entrant' comment='assert_null'/>
<bc code='187' bci='33'/>
<uncommon_trap bci='33' reason='unloaded' action='reinterpret' index='6'/>
<parse_done nodes='122' memory='20532' stamp='0.061'/>
</parse>
<phase_done nodes='122' stamp='0.061'/>
</phase>
<phase name='optimizer' nodes='122' stamp='0.061'>
<phase name='idealLoop' nodes='126' stamp='0.061'>
<loop_tree>
<loop idx='140' >
</loop>
</loop_tree>
<phase_done nodes='148' stamp='0.062'/>
</phase>
<phase name='idealLoop' nodes='148' stamp='0.062'>
<phase_done nodes='148' stamp='0.062'/>
</phase>
<phase name='ccp' nodes='148' stamp='0.062'>
<phase_done nodes='148' stamp='0.062'/>
</phase>
<phase_done nodes='148' stamp='0.062'/>
</phase>
<phase name='matcher' nodes='148' stamp='0.062'>
<phase_done nodes='53' stamp='0.062'/>
</phase>
<phase name='regalloc' nodes='65' stamp='0.062'>
<regalloc attempts='0' success='1'/>
<phase_done nodes='76' stamp='0.062'/>
</phase>
<phase name='output' nodes='76' stamp='0.062'>
<phase_done nodes='87' stamp='0.062'/>
</phase>
<task_done success='1' nmsize='176' count='1' backedge_count='14563' inlined_bytes='4' stamp='0.062'/>
</task>
<task compile_id='2' compile_kind='osr' method='Test2 runHandle ()V' bytes='104' count='1' backedge_count='14563' iicount='1' osr_bci='33' stamp='0.066'>
<phase name='parse' nodes='3' stamp='0.066'>
<type id='574' name='void'/>
<klass id='904' name='Test2' flags='1'/>
<method id='905' holder='904' name='runHandle' return='574' flags='9' bytes='104' iicount='1'/>
<parse method='905' uses='1' osr_bci='33' stamp='0.066'>
<uncommon_trap bci='33' reason='unreached' action='reinterpret'/>
<bc code='162' bci='38'/>
<branch target_bci='55' taken='0' not_taken='11264' cnt='11264' prob='never'/>
<bc code='182' bci='44'/>
<type id='572' name='int'/>
<klass id='691' name='java/dyn/MethodHandle' flags='1025'/>
<method id='938' holder='691' name='invoke' return='572' arguments='572' flags='4369' bytes='0' iicount='1'/>
<call method='938' count='11264' prof_factor='1' inline='1'/>
<inline_depth_discount caller='905' callee='938'/>
<direct_call bci='44'/>
<uncommon_trap bci='44' reason='null_check' action='maybe_recompile'/>
<bc code='162' bci='38'/>
<branch target_bci='55' taken='0' not_taken='11264' cnt='11264' prob='never'/>
<bc code='184' bci='55'/>
<type id='573' name='long'/>
<klass id='603' name='java/lang/System' flags='17'/>
<method id='907' holder='603' name='nanoTime' return='573' flags='265' bytes='0' iicount='29'/>
<call method='907' count='0' prof_factor='1' inline='1'/>
<intrinsic id='_nanoTime' nodes='4'/>
<bc code='187' bci='63'/>
<klass id='634' name='java/lang/OutOfMemoryError' flags='1'/>
<dependency type='leaf_type' ctxk='634'/>
<bc code='183' bci='67'/>
<klass id='724' name='java/lang/StringBuilder' flags='17'/>
<method id='929' holder='724' name='&lt;init&gt;' return='574' flags='1' bytes='7' iicount='64'/>
<call method='929' count='0' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='67'/>
<bc code='182' bci='72'/>
<klass id='593' name='java/lang/String' flags='17'/>
<method id='931' holder='724' name='append' return='724' arguments='593' flags='1' bytes='8' iicount='126'/>
<call method='931' count='0' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='72'/>
<bc code='182' bci='77'/>
<method id='932' holder='724' name='append' return='724' arguments='572' flags='1' bytes='8' iicount='1'/>
<call method='932' count='0' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='77'/>
<uncommon_trap bci='77' reason='null_check' action='maybe_recompile'/>
<bc code='182' bci='82'/>
<call method='931' count='0' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='82'/>
<uncommon_trap bci='82' reason='null_check' action='maybe_recompile'/>
<bc code='109' bci='93'/>
<uncommon_trap bci='93' reason='div0_check' action='maybe_recompile'/>
<bc code='182' bci='94'/>
<method id='935' holder='724' name='append' return='724' arguments='573' flags='1' bytes='8' iicount='1'/>
<call method='935' count='0' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='94'/>
<uncommon_trap bci='94' reason='null_check' action='maybe_recompile'/>
<bc code='182' bci='97'/>
<method id='936' holder='724' name='toString' return='593' flags='1' bytes='17' iicount='63'/>
<call method='936' count='0' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='97'/>
<uncommon_trap bci='97' reason='null_check' action='maybe_recompile'/>
<bc code='182' bci='100'/>
<klass id='928' name='java/io/PrintStream' flags='1'/>
<method id='937' holder='928' name='println' return='574' arguments='593' flags='1' bytes='24' iicount='1'/>
<dependency type='unique_concrete_method' ctxk='928' x='937'/>
<call method='937' count='0' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='100'/>
<uncommon_trap bci='100' reason='null_check' action='maybe_recompile'/>
<parse_done nodes='368' memory='48064' stamp='0.066'/>
</parse>
<phase_done nodes='375' stamp='0.067'/>
</phase>
<phase name='optimizer' nodes='375' stamp='0.067'>
<phase name='idealLoop' nodes='380' stamp='0.067'>
<loop_tree>
<loop idx='380' inner_loop='1' >
</loop>
</loop_tree>
<phase_done nodes='385' stamp='0.067'/>
</phase>
<phase name='idealLoop' nodes='385' stamp='0.067'>
<loop_tree>
<loop idx='380' inner_loop='1' >
</loop>
</loop_tree>
<phase_done nodes='385' stamp='0.067'/>
</phase>
<phase name='idealLoop' nodes='385' stamp='0.067'>
<loop_tree>
<loop idx='380' inner_loop='1' >
</loop>
</loop_tree>
<phase_done nodes='385' stamp='0.067'/>
</phase>
<phase name='ccp' nodes='385' stamp='0.067'>
<phase_done nodes='385' stamp='0.067'/>
</phase>
<phase name='idealLoop' nodes='386' stamp='0.067'>
<loop_tree>
<loop idx='380' inner_loop='1' >
</loop>
</loop_tree>
<phase_done nodes='389' stamp='0.067'/>
</phase>
<phase_done nodes='439' stamp='0.067'/>
</phase>
<phase name='matcher' nodes='439' stamp='0.067'>
<phase_done nodes='279' stamp='0.068'/>
</phase>
<phase name='regalloc' nodes='359' stamp='0.068'>
<regalloc attempts='1' success='1'/>
<phase_done nodes='438' stamp='0.069'/>
</phase>
<phase name='output' nodes='440' stamp='0.069'>
<phase_done nodes='475' stamp='0.069'/>
</phase>
<dependency type='leaf_type' ctxk='634'/>
<dependency type='unique_concrete_method' ctxk='928' x='937'/>
<task_done success='1' nmsize='800' count='1' backedge_count='14563' stamp='0.069'/>
</task>
<task compile_id='2' method='Test2 runDirect ()V' bytes='72' count='2' backedge_count='5000' iicount='2' decompiles='1' null_assert_traps='1' stamp='0.070'>
<phase name='parse' nodes='3' stamp='0.070'>
<type id='574' name='void'/>
<klass id='904' name='Test2' flags='1'/>
<method id='905' holder='904' name='runDirect' return='574' flags='9' bytes='72' iicount='2'/>
<parse method='905' uses='2' stamp='0.070'>
<observe trap='null_assert' count='1' total='1'/>
<bc code='184' bci='0'/>
<type id='573' name='long'/>
<klass id='603' name='java/lang/System' flags='17'/>
<method id='909' holder='603' name='nanoTime' return='573' flags='265' bytes='0' iicount='29'/>
<call method='909' count='0' prof_factor='1' inline='1'/>
<intrinsic id='_nanoTime' nodes='4'/>
<bc code='162' bci='12'/>
<branch target_bci='26' taken='0' not_taken='11264' cnt='11264' prob='never'/>
<bc code='184' bci='16'/>
<type id='572' name='int'/>
<method id='923' holder='904' name='increment' return='572' arguments='572' flags='9' bytes='4' compile_id='1' compiler='C2' level='2' iicount='10000'/>
<call method='923' count='11264' prof_factor='1' inline='1'/>
<parse method='923' uses='11264' stamp='0.071'>
<parse_done nodes='60' memory='14516' stamp='0.071'/>
</parse>
<bc code='162' bci='12'/>
<branch target_bci='26' taken='0' not_taken='11264' cnt='11264' prob='never'/>
<bc code='184' bci='26'/>
<call method='909' count='0' prof_factor='1' inline='1'/>
<intrinsic id='_nanoTime' nodes='4'/>
<bc code='187' bci='33'/>
<klass id='634' name='java/lang/OutOfMemoryError' flags='1'/>
<dependency type='leaf_type' ctxk='634'/>
<bc code='183' bci='37'/>
<klass id='724' name='java/lang/StringBuilder' flags='17'/>
<method id='913' holder='724' name='&lt;init&gt;' return='574' flags='1' bytes='7' iicount='65'/>
<call method='913' count='1' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='37'/>
<bc code='182' bci='42'/>
<klass id='593' name='java/lang/String' flags='17'/>
<method id='915' holder='724' name='append' return='724' arguments='593' flags='1' bytes='8' iicount='128'/>
<call method='915' count='1' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='42'/>
<bc code='182' bci='46'/>
<method id='916' holder='724' name='append' return='724' arguments='572' flags='1' bytes='8' iicount='2'/>
<call method='916' count='1' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='46'/>
<uncommon_trap bci='46' reason='null_check' action='maybe_recompile'/>
<bc code='182' bci='51'/>
<call method='915' count='1' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='51'/>
<uncommon_trap bci='51' reason='null_check' action='maybe_recompile'/>
<bc code='109' bci='61'/>
<uncommon_trap bci='61' reason='div0_check' action='maybe_recompile'/>
<bc code='182' bci='62'/>
<method id='919' holder='724' name='append' return='724' arguments='573' flags='1' bytes='8' iicount='2'/>
<call method='919' count='1' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='62'/>
<uncommon_trap bci='62' reason='null_check' action='maybe_recompile'/>
<bc code='182' bci='65'/>
<method id='920' holder='724' name='toString' return='593' flags='1' bytes='17' iicount='64'/>
<call method='920' count='1' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='65'/>
<uncommon_trap bci='65' reason='null_check' action='maybe_recompile'/>
<bc code='182' bci='68'/>
<klass id='908' name='java/io/PrintStream' flags='1'/>
<method id='921' holder='908' name='println' return='574' arguments='593' flags='1' bytes='24' iicount='2'/>
<dependency type='unique_concrete_method' ctxk='908' x='921'/>
<call method='921' count='1' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='68'/>
<uncommon_trap bci='68' reason='null_check' action='maybe_recompile'/>
<parse_done nodes='301' memory='41284' stamp='0.071'/>
</parse>
<phase_done nodes='304' stamp='0.071'/>
</phase>
<phase name='optimizer' nodes='304' stamp='0.071'>
<phase name='idealLoop' nodes='304' stamp='0.071'>
<loop_tree>
<loop idx='318' >
</loop>
</loop_tree>
<phase_done nodes='327' stamp='0.071'/>
</phase>
<phase name='idealLoop' nodes='327' stamp='0.071'>
<phase_done nodes='327' stamp='0.071'/>
</phase>
<phase name='ccp' nodes='327' stamp='0.071'>
<phase_done nodes='327' stamp='0.071'/>
</phase>
<phase_done nodes='377' stamp='0.071'/>
</phase>
<phase name='matcher' nodes='377' stamp='0.071'>
<phase_done nodes='216' stamp='0.071'/>
</phase>
<phase name='regalloc' nodes='278' stamp='0.072'>
<regalloc attempts='0' success='1'/>
<phase_done nodes='329' stamp='0.072'/>
</phase>
<phase name='output' nodes='331' stamp='0.072'>
<phase_done nodes='358' stamp='0.072'/>
</phase>
<dependency type='leaf_type' ctxk='634'/>
<dependency type='unique_concrete_method' ctxk='908' x='921'/>
<task_done success='1' nmsize='632' count='2' backedge_count='5000' inlined_bytes='4' stamp='0.072'/>
</task>
<task compile_id='3' compile_kind='osr' method='Test2 runDirect ()V' bytes='72' count='2' backedge_count='6024' iicount='2' decompiles='1' null_assert_traps='1' osr_bci='8' stamp='0.073'>
<phase name='parse' nodes='3' stamp='0.073'>
<type id='574' name='void'/>
<klass id='904' name='Test2' flags='1'/>
<method id='905' holder='904' name='runDirect' return='574' flags='9' bytes='72' compile_id='2' compiler='C2' level='2' iicount='2'/>
<parse method='905' uses='2' osr_bci='8' stamp='0.073'>
<observe trap='null_assert' count='1' total='1'/>
<bc code='162' bci='12'/>
<branch target_bci='26' taken='0' not_taken='12288' cnt='12288' prob='never'/>
<bc code='184' bci='16'/>
<type id='572' name='int'/>
<method id='923' holder='904' name='increment' return='572' arguments='572' flags='9' bytes='4' compile_id='1' compiler='C2' level='2' iicount='10000'/>
<call method='923' count='12288' prof_factor='1' inline='1'/>
<parse method='923' uses='12288' stamp='0.073'>
<parse_done nodes='78' memory='16576' stamp='0.073'/>
</parse>
<bc code='162' bci='12'/>
<branch target_bci='26' taken='0' not_taken='12288' cnt='12288' prob='never'/>
<bc code='184' bci='26'/>
<type id='573' name='long'/>
<klass id='603' name='java/lang/System' flags='17'/>
<method id='909' holder='603' name='nanoTime' return='573' flags='265' bytes='0' iicount='30'/>
<call method='909' count='0' prof_factor='1' inline='1'/>
<intrinsic id='_nanoTime' nodes='4'/>
<bc code='187' bci='33'/>
<klass id='634' name='java/lang/OutOfMemoryError' flags='1'/>
<dependency type='leaf_type' ctxk='634'/>
<bc code='183' bci='37'/>
<klass id='724' name='java/lang/StringBuilder' flags='17'/>
<method id='913' holder='724' name='&lt;init&gt;' return='574' flags='1' bytes='7' iicount='65'/>
<call method='913' count='1' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='37'/>
<bc code='182' bci='42'/>
<klass id='593' name='java/lang/String' flags='17'/>
<method id='915' holder='724' name='append' return='724' arguments='593' flags='1' bytes='8' iicount='128'/>
<call method='915' count='1' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='42'/>
<bc code='182' bci='46'/>
<method id='916' holder='724' name='append' return='724' arguments='572' flags='1' bytes='8' iicount='2'/>
<call method='916' count='1' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='46'/>
<uncommon_trap bci='46' reason='null_check' action='maybe_recompile'/>
<bc code='182' bci='51'/>
<call method='915' count='1' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='51'/>
<uncommon_trap bci='51' reason='null_check' action='maybe_recompile'/>
<bc code='109' bci='61'/>
<uncommon_trap bci='61' reason='div0_check' action='maybe_recompile'/>
<bc code='182' bci='62'/>
<method id='919' holder='724' name='append' return='724' arguments='573' flags='1' bytes='8' iicount='2'/>
<call method='919' count='1' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='62'/>
<uncommon_trap bci='62' reason='null_check' action='maybe_recompile'/>
<bc code='182' bci='65'/>
<method id='920' holder='724' name='toString' return='593' flags='1' bytes='17' iicount='64'/>
<call method='920' count='1' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='65'/>
<uncommon_trap bci='65' reason='null_check' action='maybe_recompile'/>
<bc code='182' bci='68'/>
<klass id='908' name='java/io/PrintStream' flags='1'/>
<method id='921' holder='908' name='println' return='574' arguments='593' flags='1' bytes='24' iicount='2'/>
<dependency type='unique_concrete_method' ctxk='908' x='921'/>
<call method='921' count='1' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='68'/>
<uncommon_trap bci='68' reason='null_check' action='maybe_recompile'/>
<parse_done nodes='319' memory='43040' stamp='0.073'/>
</parse>
<phase_done nodes='322' stamp='0.073'/>
</phase>
<phase name='optimizer' nodes='322' stamp='0.073'>
<phase name='idealLoop' nodes='322' stamp='0.073'>
<loop_tree>
<loop idx='335' >
</loop>
</loop_tree>
<phase_done nodes='343' stamp='0.073'/>
</phase>
<phase name='idealLoop' nodes='343' stamp='0.073'>
<phase_done nodes='343' stamp='0.073'/>
</phase>
<phase name='ccp' nodes='343' stamp='0.073'>
<phase_done nodes='343' stamp='0.074'/>
</phase>
<phase_done nodes='391' stamp='0.074'/>
</phase>
<phase name='matcher' nodes='391' stamp='0.074'>
<phase_done nodes='224' stamp='0.074'/>
</phase>
<phase name='regalloc' nodes='286' stamp='0.074'>
<regalloc attempts='1' success='1'/>
<phase_done nodes='339' stamp='0.075'/>
</phase>
<phase name='output' nodes='341' stamp='0.075'>
<phase_done nodes='368' stamp='0.075'/>
</phase>
<dependency type='leaf_type' ctxk='634'/>
<dependency type='unique_concrete_method' ctxk='908' x='921'/>
<task_done success='1' nmsize='664' count='2' backedge_count='6024' inlined_bytes='4' stamp='0.075'/>
</task>
<task compile_id='3' method='Test2 runHandle ()V' bytes='104' count='2' backedge_count='5000' iicount='2' stamp='0.075'>
<phase name='parse' nodes='3' stamp='0.075'>
<type id='574' name='void'/>
<klass id='904' name='Test2' flags='1'/>
<method id='905' holder='904' name='runHandle' return='574' flags='9' bytes='104' iicount='2'/>
<parse method='905' uses='2' stamp='0.075'>
<bc code='184' bci='0'/>
<type id='573' name='long'/>
<klass id='603' name='java/lang/System' flags='17'/>
<method id='907' holder='603' name='nanoTime' return='573' flags='265' bytes='0' iicount='30'/>
<call method='907' count='0' prof_factor='1' inline='1'/>
<intrinsic id='_nanoTime' nodes='4'/>
<bc code='184' bci='10'/>
<klass id='701' name='java/dyn/MethodType' flags='17'/>
<klass id='595' name='java/lang/Class' flags='17'/>
<method id='912' holder='701' name='methodType' return='701' arguments='595 595' flags='9' bytes='14' iicount='2'/>
<call method='912' count='0' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='10'/>
<bc code='184' bci='14'/>
<klass id='918' name='java/dyn/MethodHandles$Lookup' flags='25'/>
<klass id='914' name='java/dyn/MethodHandles' flags='1'/>
<method id='919' holder='914' name='publicLookup' return='918' flags='9' bytes='4' iicount='2'/>
<call method='919' count='0' prof_factor='1' inline='1'/>
<parse method='919' uses='0' stamp='0.075'>
<parse_done nodes='56' memory='14572' stamp='0.075'/>
</parse>
<bc code='182' bci='23'/>
<klass id='691' name='java/dyn/MethodHandle' flags='1025'/>
<klass id='593' name='java/lang/String' flags='17'/>
<method id='923' holder='918' name='findStatic' return='691' arguments='595 593 701' flags='1' bytes='52' iicount='2'/>
<call method='923' count='0' prof_factor='1' inline='1'/>
<inline_fail reason='too big'/>
<direct_call bci='23'/>
<bc code='162' bci='38'/>
<branch target_bci='55' taken='0' not_taken='11264' cnt='11264' prob='never'/>
<bc code='182' bci='44'/>
<type id='572' name='int'/>
<method id='938' holder='691' name='invoke' return='572' arguments='572' flags='4369' bytes='0' iicount='1'/>
<call method='938' count='11264' prof_factor='1' inline='1'/>
<inline_depth_discount caller='905' callee='938'/>
<direct_call bci='44'/>
<uncommon_trap bci='44' reason='null_check' action='maybe_recompile'/>
<bc code='162' bci='38'/>
<branch target_bci='55' taken='0' not_taken='11264' cnt='11264' prob='never'/>
<bc code='184' bci='55'/>
<call method='907' count='0' prof_factor='1' inline='1'/>
<intrinsic id='_nanoTime' nodes='4'/>
<bc code='187' bci='63'/>
<klass id='634' name='java/lang/OutOfMemoryError' flags='1'/>
<dependency type='leaf_type' ctxk='634'/>
<bc code='183' bci='67'/>
<klass id='724' name='java/lang/StringBuilder' flags='17'/>
<method id='929' holder='724' name='&lt;init&gt;' return='574' flags='1' bytes='7' iicount='66'/>
<call method='929' count='0' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='67'/>
<bc code='182' bci='72'/>
<method id='931' holder='724' name='append' return='724' arguments='593' flags='1' bytes='8' iicount='130'/>
<call method='931' count='0' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='72'/>
<bc code='182' bci='77'/>
<method id='932' holder='724' name='append' return='724' arguments='572' flags='1' bytes='8' iicount='3'/>
<call method='932' count='0' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='77'/>
<uncommon_trap bci='77' reason='null_check' action='maybe_recompile'/>
<bc code='182' bci='82'/>
<call method='931' count='0' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='82'/>
<uncommon_trap bci='82' reason='null_check' action='maybe_recompile'/>
<bc code='109' bci='93'/>
<uncommon_trap bci='93' reason='div0_check' action='maybe_recompile'/>
<bc code='182' bci='94'/>
<method id='935' holder='724' name='append' return='724' arguments='573' flags='1' bytes='8' iicount='3'/>
<call method='935' count='0' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='94'/>
<uncommon_trap bci='94' reason='null_check' action='maybe_recompile'/>
<bc code='182' bci='97'/>
<method id='936' holder='724' name='toString' return='593' flags='1' bytes='17' iicount='65'/>
<call method='936' count='0' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='97'/>
<uncommon_trap bci='97' reason='null_check' action='maybe_recompile'/>
<bc code='182' bci='100'/>
<klass id='928' name='java/io/PrintStream' flags='1'/>
<method id='937' holder='928' name='println' return='574' arguments='593' flags='1' bytes='24' iicount='3'/>
<dependency type='unique_concrete_method' ctxk='928' x='937'/>
<call method='937' count='0' prof_factor='1' inline='1'/>
<inline_fail reason='executed &lt; MinInliningThreshold times'/>
<direct_call bci='100'/>
<uncommon_trap bci='100' reason='null_check' action='maybe_recompile'/>
<parse_done nodes='362' memory='48284' stamp='0.076'/>
</parse>
<phase_done nodes='369' stamp='0.076'/>
</phase>
<phase name='optimizer' nodes='369' stamp='0.076'>
<phase name='idealLoop' nodes='369' stamp='0.076'>
<loop_tree>
<loop idx='369' inner_loop='1' >
</loop>
</loop_tree>
<phase_done nodes='373' stamp='0.076'/>
</phase>
<phase name='idealLoop' nodes='373' stamp='0.076'>
<loop_tree>
<loop idx='369' inner_loop='1' >
</loop>
</loop_tree>
<phase_done nodes='373' stamp='0.076'/>
</phase>
<phase name='idealLoop' nodes='373' stamp='0.076'>
<loop_tree>
<loop idx='369' inner_loop='1' >
</loop>
</loop_tree>
<phase_done nodes='373' stamp='0.076'/>
</phase>
<phase name='ccp' nodes='373' stamp='0.076'>
<phase_done nodes='373' stamp='0.076'/>
</phase>
<phase name='idealLoop' nodes='373' stamp='0.077'>
<loop_tree>
<loop idx='369' inner_loop='1' >
</loop>
</loop_tree>
<phase_done nodes='376' stamp='0.077'/>
</phase>
<phase_done nodes='428' stamp='0.077'/>
</phase>
<phase name='matcher' nodes='428' stamp='0.077'>
<phase_done nodes='274' stamp='0.077'/>
</phase>
<phase name='regalloc' nodes='355' stamp='0.077'>
<regalloc attempts='0' success='1'/>
<phase_done nodes='436' stamp='0.078'/>
</phase>
<phase name='output' nodes='438' stamp='0.078'>
<phase_done nodes='475' stamp='0.078'/>
</phase>
<dependency type='leaf_type' ctxk='634'/>
<dependency type='unique_concrete_method' ctxk='928' x='937'/>
<task_done success='1' nmsize='788' count='2' backedge_count='5000' inlined_bytes='4' stamp='0.078'/>
</task>
</compilation_log>
<compilation_log thread='6728560'>
<fragment>
<![CDATA[
<start_compile_thread thread='6728560' process='4290' stamp='0.050'/>
]]>
</fragment>
</compilation_log>
<hotspot_log_done stamp='0.201'/>
</hotspot_log>
Inlining intrinsic _nanoTime at bci:26 in Test2::runDirect (72 bytes)
Direct (100000): 46
discounting inlining depth from (ìX°   ƒy(ìX° ƒy(ìXˆ ƒyHíX  ƒy to 
Inlining intrinsic _nanoTime at bci:55 in Test2::runHandle (104 bytes)
Handle (100000): 74
Inlining intrinsic _nanoTime at bci:0 in Test2::runDirect (72 bytes)
Inlining intrinsic _nanoTime at bci:26 in Test2::runDirect (72 bytes)
Inlining intrinsic _nanoTime at bci:26 in Test2::runDirect (72 bytes)
Direct (100000): 22
Inlining intrinsic _nanoTime at bci:0 in Test2::runHandle (104 bytes)
discounting inlining depth from (ìXè„y(ìXè„y to (ìX$
ƒy(ìX$
ƒy(ìX$
�...@Žƒy”ƒy—ƒyd—ƒy
Inlining intrinsic _nanoTime at bci:55 in Test2::runHandle (104 bytes)
Handle (100000): 10
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 12
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 10
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
Direct (100000): 0
Handle (100000): 9
_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to