Review Request: 6896043: Zero fixes

Gary Benson gbenson at redhat.com
Wed Nov 25 02:28:30 PST 2009


That's an IcedTea patch.  On Fedora, everything is built -g -O2, and
the debuginfo is stripped out and stored into a separate package.  The
header files, etc, are likewise separated into another package, and
the end result is, for example, zlib, zlib-devel, and zlib-debuginfo.
If you just want to use zlib then all you install is zlib.  If you
want to build an application against it then you need to install
zlib-devel, and if you want to debug an application that uses zlib
then you install zlib-debuginfo.

Cheers,
Gary

Vladimir Kozlov wrote:
> Your options have -g debug option but you build -DPRODUCT.
>
> Vladimir
>
> Gary Benson wrote:
> > Andrew Haley wrote:
> > > If you really want these functions to be inline, you have to
> > > specify it.  Having said that, if you define a member function
> > > within a class definition, then it is inline.
> >
> > I never thought to check that the inline statement was actually
> > doing anything, but apparently it isn't:
> >
> >   ...
> >   #31 CppInterpreter::main_loop (recurse=<value optimized out>, __the_thread__=0x617d80) at hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:110
> >   #32 0x00007ffff70d4aff in ZeroEntry::invoke () at hotspot/src/cpu/zero/vm/entry_zero.hpp:54
> >   #33 Interpreter::invoke_method () at hotspot/src/cpu/zero/vm/interpreter_zero.hpp:28
> >   #34 CppInterpreter::main_loop (recurse=<value optimized out>, __the_thread__=0x617d80) at hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:110
> >   #35 0x00007ffff72d3173 in ZeroEntry::invoke () at hotspot/src/cpu/zero/vm/entry_zero.hpp:54
> >   #36 Interpreter::invoke_method () at hotspot/src/cpu/zero/vm/interpreter_zero.hpp:28
> >   #37 StubGenerator::call_stub (call_wrapper=<value optimized out>, result=0x7ffff6d30f78, result_type=T_INT, method=0x7ffff02f8e98, entry_point=0x7ffff41371a0,
> >     parameters=<value optimized out>, parameter_words=1, __the_thread__=0x617d80) at hotspot/src/cpu/zero/vm/stubGenerator_zero.cpp:67
> >   ...
> >
> > First things first: I'll remove the addition of the inline statements
> > from the webrev.  Secondly, Andrew, do you have any idea why these
> > functions aren't being inlined?  I'd expect the backtrace to look like
> > this:
> >     ...
> >   #35 CppInterpreter::main_loop (recurse=<value optimized out>, __the_thread__=0x617d80) at hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:110
> >   #36 CppInterpreter::main_loop (recurse=<value optimized out>, __the_thread__=0x617d80) at hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:110
> >   #37 StubGenerator::call_stub (call_wrapper=<value optimized out>, result=0x7ffff6d30f78, result_type=T_INT, method=0x7ffff02f8e98, entry_point=0x7ffff41371a0,
> >     parameters=<value optimized out>, parameter_words=1, __the_thread__=0x617d80) at hotspot/src/cpu/zero/vm/stubGenerator_zero.cpp:67
> >   ...
> >
> > The files are being compiled with these options:
> >
> >   g++ -DLINUX -D_GNU_SOURCE -DCC_INTERP -DZERO -DAMD64 -DZERO_LIBARCH=\"amd64\" -DPRODUCT -I. -I../generated/adfiles -I../generated/jvmtifiles -I/home/gary/work/icedtea6/openjdk-ecj/hotspot/src/share/vm/asm -I/home/gary/work/icedtea6/openjdk-ecj/hotspot/src/share/vm/c1 -I/home/gary/work/icedtea6/openjdk-ecj/hotspot/src/share/vm/ci -I/home/gary/work/icedtea6/openjdk-ecj/hotspot/src/share/vm/classfile -I/home/gary/work/icedtea6/openjdk-ecj/hotspot/src/share/vm/code -I/home/gary/work/icedtea6/openjdk-ecj/hotspot/src/share/vm/compiler -I/home/gary/work/icedtea6/openjdk-ecj/hotspot/src/share/vm/gc_implementation -I/home/gary/work/icedtea6/openjdk-ecj/hotspot/src/share/vm/gc_implementation/g1 -I/home/gary/work/icedtea6/openjdk-ecj/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep -I/home/gary/work/icedtea6/openjdk-ecj/hotspot/src/share/vm/gc_implementation/parNew -I/home/gary/work/icedtea6/openjdk-ecj/hotspot/src/share/vm/gc_implementation/shared -I/home/gary/work/icedte
> a6/openjdk-ecj/hotspot/src/share/vm/gc_implementation/parallelScavenge -I/home/gary/work/icedtea6/openjdk-ecj/hotspot/src/share/vm/gc_interface -I/home/gary/work/icedtea6/openjdk-ecj/hotspot/src/share/vm/interpreter -I/home/gary/work/icedtea6/openjdk-ecj/hotspot/src/share/vm/memory -I/home/gary/work/icedtea6/openjdk-ecj/hotspot/src/share/vm/oops -I/home/gary/work/icedtea6/openjdk-ecj/hotspot/src/share/vm/prims -I/home/gary/work/icedtea6/openjdk-ecj/hotspot/src/share/vm/runtime -I/home/gary/work/icedtea6/openjdk-ecj/hotspot/src/share/vm/services -I/home/gary/work/icedtea6/openjdk-ecj/hotspot/src/share/vm/shark -I/home/gary/work/icedtea6/openjdk-ecj/hotspot/src/share/vm/utilities -I/home/gary/work/icedtea6/openjdk-ecj/hotspot/src/cpu/zero/vm -I/home/gary/work/icedtea6/openjdk-ecj/hotspot/src/os/linux/vm -I/home/gary/work/icedtea6/openjdk-ecj/hotspot/src/os_cpu/linux_zero/vm -I../generated -DHOTSPOT_RELEASE_VERSION="\"14.0-b16\"" -DHOTSPOT_BUILD_TARGET="\"product\"" -DHOTSPOT_BU
> ILD_USER="\"gary\"" -DHOTSPOT_LIB_ARCH=\"amd64\" -DJRE_RELEASE_VERSION="\"1.6.0_0-b17\"" -DHOTSPOT_VM_DISTRO="\"OpenJDK\"" -DSHARK -I/usr/lib64/libffi-3.0.5/include   -I/home/gary/work/llvm/llvm-2.6/include -I/home/gary/work/llvm/llvm-2.6/include   -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS   -fPIC -Woverloaded-virtual -DSHARK_LLVM_VERSION=26 -fpic -fno-rtti -fno-exceptions -D_REENTRANT -fcheck-new -m64 -pipe -g -O3 -fno-strict-aliasing -DVM_LITTLE_ENDIAN -D_LP64=1 -Werror -Wpointer-arith -Wsign-compare    -c -o vframe_hp.o /home/gary/work/icedtea6/openjdk-ecj/hotspot/src/share/vm/runtime/vframe_hp.cpp
> >
> > Cheers,
> > Gary

-- 
http://gbenson.net/


More information about the hotspot-compiler-dev mailing list