8234541: C1 emits an empty message when it inlines successfully
Summary: Use "inline" as the message when successfull
Reviewed-by: thartmann, mdoerr
Contributed-by: navy.xliu@gmail.com
Copyright (c) 2008, 2019, Oracle and/or its affiliates. All rights reserved.DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.The Universal Permissive License (UPL), Version 1.0Subject to the condition set forth below, permission is hereby granted toany person obtaining a copy of this software, associated documentationand/or data (collectively the "Software"), free of charge and under anyand all copyright rights in the Software, and any and all patent rightsowned or freely licensable by each licensor hereunder covering either (i)the unmodified Software as contributed to or provided by such licensor,or (ii) the Larger Works (as defined below), to deal in both(a) the Software, and(b) any piece of software and/or hardware listed in the lrgrwrks.txt fileif one is included with the Software (each a "Larger Work" to which theSoftware is contributed by such licensors),without restriction, including without limitation the rights to copy,create derivative works of, display, perform, and distribute the Softwareand make, use, sell, offer for sale, import, export, have made, and havesold the Software and the Larger Work(s), and to sublicense the foregoingrights on either these or other terms.This license is subject to the following condition:The above copyright notice and either this complete permission notice orat a minimum a reference to the UPL must be included in all copies orsubstantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESSOR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OFMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. INNO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OROTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THEUSE OR OTHER DEALINGS IN THE SOFTWARE.Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USAor visit www.oracle.com if you need additional information or have anyquestions.________________________________________________________________________'hsdis': A HotSpot plugin for disassembling dynamically generated code.The files in this directory (Makefile, hsdis.[ch], hsdis-demo.c)are built independently of the HotSpot JVM.To use the plugin with a JVM, you need a new version that can load it.If the product mode of your JVM does not accept -XX:+PrintAssembly,you do not have a version that is new enough.* BuildingTo build this project you need a copy of GNU binutils to build against.It is known to work with binutils 2.29.1, 2.30, and 2.31.1. Buildingagainst versions older than 2.29 is no longer supported. Download acopy of the software from http://directory.fsf.org/project/binutils orone of its mirrors. Builds targetting windows currently require theuse of a cross compiler.Binutils should be configured with the '--disable-nls' flag to disableNative Language Support, otherwise you might get an "undefinedreference to `libintl_gettext'" if you try to load hsdis.so on systemswhich don't have NLS by default. It also avoids build problems onother configurations that don't include the full NLS support.The makefile looks for the sources in build/binutils or you canspecify it's location to the makefile using BINUTILS=path. It willconfigure binutils and build it first and then build and link thedisasembly adapter. Make all will build the default target for yourplatform. If you platform support both 32 and 64 simultaneously then"make both" will build them both at once. "make all64" willexplicitly build the 64 bit version. By default this will build thedisassembler library only. If you build demo it will build a demoprogram that attempts to exercise the library.With recent version of binutils (i.e. binutils-2.23.2) you may get thefollowing build error:WARNING: `makeinfo' is missing on your system. You should only need it if you modified a `.texi' or `.texinfo' file, or any other file ...This is because of "Bug 15345 - binutils-2.23.2 tarball doesn't buildwithout makeinfo" [2]. The easiest way to work around this problem isby doing a "touch $BINUTILS/bfd/doc/bfd.info".WindowsIn theory this should be buildable on Windows but getting a workingGNU build environment on Windows has proven difficult. MINGW shouldbe able to do it but at the time of this writing I was unable to getthis working. Instead you can use the mingw cross compiler on linuxto produce the windows binaries. For 32-bit windows you can installmingw32 using your package manager and it will be added to your pathautomatically. For 64-bit you need to download the 64 bit mingw fromhttp://sourceforge.net/projects/mingw-w64. Grab a copy of thecomplete toolchain and unpack it somewhere. Put the bin directory ofthe toolchain in your path. The mingw installs contain cross compileversions of gcc that are named with a prefix to indicate what they aretargetting and you must tell the Makefile which one to use. Thisshould either be i586-mingw32msvc or x86_64-pc-mingw32 depending onwhich on you are targetting and there should be a version of gcc inyour path named i586-mingw32msvc-gcc or x86_64-pc-mingw32-gcc. Tellthe makefile what prefix to use to find the mingw tools by usingMINGW=. For example:make MINGW=i586-mingw32msvc BINUTILS=build/binutils-2.31.1will build the Win32 cross compiled version of hsdis based on 2.31.1.* InstallingProducts are named like build/$OS-$LIBARCH/hsdis-$LIBARCH.so. You caninstall them next to your libjvm.so inside your JRE/JDK or alternativelyput it anywhere on your LD_LIBRARY_PATH. The search path in the JVM is:1. <home>/lib/<vm>/libhsdis-<arch>.so2. <home>/lib/<vm>/hsdis-<arch>.so3. <home>/lib/hsdis-<arch>.so4. hsdis-<arch>.so (using LD_LIBRARY_PATH)Now test: export LD_LIBRARY_PATH .../hsdis/build/$OS-$LIBARCH:$LD_LIBRARY_PATH dargs='-XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly' dargs=$dargs' -XX:PrintAssemblyOptions=hsdis-print-bytes' java $dargs -Xbatch CompileCommand=print,*String.hashCode HelloWorldIf the product mode of the JVM does not accept -XX:+PrintAssembly,you do not have a version new enough to use the hsdis plugin.* WikiMore information can be found in the OpenJDK HotSpot Wiki [1].Resources:[1] https://wiki.openjdk.java.net/display/HotSpot/PrintAssembly[2] http://sourceware.org/bugzilla/show_bug.cgi?id=15345