mac 下的hsdis如何设置呢?
googya
2011-12-29
本机java版本:
java -version openjdk version "1.7.0-internal-fastdebug" OpenJDK Runtime Environment (build 1.7.0-internal-fastdebug-stephen_2010_07_16_02_07-b00) OpenJDK Server VM (build 19.0-b03-fastdebug, mixed mode) 写了个小例子,编以后,执行: java -XX:+PrintAssembly -Xcomp -XX:CompileCommand=dontinline,Bar.sum -XX:CompileCommand=compileonly,Bar.sum Bar 结果是: VM option '+PrintAssembly' VM option 'CompileCommand=dontinline,Bar.sum' VM option 'CompileCommand=compileonly,Bar.sum' OpenJDK Server VM warning: PrintAssembly is enabled; turning on DebugNonSafepoints to gain additional output CompilerOracle: dontinline Bar.sum CompilerOracle: compileonly Bar.sum Could not load hsdis-i386.dylib; library not loadable; PrintAssembly is disabled PrintAssembly request changed to PrintOptoAssembly {method} - klass: {other class} - this oop: 0x17dd2cd8 - method holder: 'Bar' - constants: 0x17dd2ae8 constant pool [28] for 'Bar' cache=0x17dd3060 - access: 0x81000001 public - name: 'sum' - signature: '(I)I' - max stack: 2 - max locals: 2 - size of params: 2 - method size: 20 - vtable index: 5 - i2i entry: 0x0380b840 - adapter: 0x029a4e9c - compiled entry 0x038aa8cb - code size: 11 - code start: 0x17dd2cc8 - code end (excl): 0x17dd2cd3 - method data: 0x17dd32f0 - checked ex length: 0 - linenumber start: 0x17dd2cd3 - localvar length: 0 # # int ( Bar:NotNull *, int ) # #r000 ecx : parm 0: Bar:NotNull * #r005 edx : parm 1: int # -- Old esp -- Framesize: 16 -- #r045 esp+12: return address #r044 esp+ 8: pad2, in_preserve #r043 esp+ 4: pad2, in_preserve #r042 esp+ 0: Fixed slot 0 # 000 N22: # B1 <- BLOCK HEAD IS JUNK Freq: 1 000 CMP EAX,[ECX+4] # Inline cache check JNE SharedRuntime::handle_ic_miss_stub NOP NOP NOP 000 00c B1: # N22 <- BLOCK HEAD IS JUNK Freq: 1 00c PUSHL EBP SUB ESP,8 # Create frame 013 MOV EBP,#336 018 MOV EBX,[EBP + precise klass Bar: 0x009d11b0:Constant:exact *] # int ! Field Bar.b 01e ADD EBX,[ECX + #8] 021 MOV EAX,EDX 023 ADD EAX,EBX 025 ADD ESP,8 # Destroy frame POPL EBP TEST PollPage,EAX ! Poll Safepoint 02f RET 02f 这句话"Could not load hsdis-i386.dylib; library not loadable; PrintAssembly is disabled PrintAssembly request changed to PrintOptoAssembly" 是说找不到hsdis-i386.dylib 这个文件我在jre/lib/i386/client[server]下面都有设置。甚至也使用了LD_LIBRARY_PATH变量,结果还是出错。。。不晓得是什么原因?大家有与见过这样的问题了么? |