view visualizer/build.xml @ 11825:463f51256c86

AMD64HotSpot: emit jump to IC miss handler directly instead of emitting it inside verfied_entry for empty methods we emitted something like this if a inline cache is needed: prefix: 00: < IC check > ... 0b: jne <ic_miss_call> 11: nop ... verified_entry: 20: ret ic_miss_call: 21: jmp <entry of runtime function> when a method is deoptimized, HotSpot patches the verified_entry (0x20) with a jump to a stub that handles call-sites that has been made non-entrant. since this jump is 5 bytes long, it will overwrite ic_miss_call and blow up every caller that calls this method via the unverified entry (prefix). the fix is to emit the jump to the runtime function inside the unverfied entry: prefix: 00: < IC check > ... 0b: je <verified_entry> 11: jeq <entry of runtime function> 16: nop ... verified_entry: 20: ret
author Bernhard Urban <bernhard.urban@jku.at>
date Mon, 30 Sep 2013 09:32:18 +0200
parents ab4a47b6a187
children
line wrap: on
line source

<?xml version="1.0" encoding="UTF-8"?>
<!-- You may freely edit this file. See harness/README in the NetBeans platform -->
<!-- for some information on what you could do (e.g. targets to override). -->
<!-- If you delete this file and reopen the project it will be recreated. -->
<project name="Graal Visualizer" basedir=".">
    <description>Builds the module suite Graal Visualizer.</description>
    <import file="nbproject/build-impl.xml"/>
    
    <target name="build-launchers" depends="suite.build-launchers">
        <!-- Drop memory presets (-Xms, -Xmx) from default_options of packaged builds and let the executing VM choose reasonable defaults -->
        <replaceregexp file="${build.launcher.dir}/etc/${app.name}.conf" byline="true" match="^default_options=.*" replace='default_options="--branding graalvisualizer"' />
    </target>
    
    <!-- Local (environment-specific) extensions/modifications to the build -->
    <import file="build-local.xml" optional="true" />
</project>