jitwatch icon indicating copy to clipboard operation
jitwatch copied to clipboard

TriView assembly pane enhancements

Open chriswhocodes opened this issue 8 years ago • 2 comments

Improve navigation in assembly pane. Allow jumping between compiled methods by recording entry point addresses and hyperlinking from branches. Highlight more assembly idioms - stack banging, bimorphic switch, null checks etc.

chriswhocodes avatar Aug 05 '16 17:08 chriswhocodes

Bimorphic check:

[Entry Point]
[Constants]
  # {method} {0x0000000199aad170} 'deposit' '()V' in 'PolymorphismTest$Nickel'
  #           [sp+0x20]  (sp of caller)
  0x0000000111a6fc20: cmp    0x8(%rsi),%rax
  0x0000000111a6fc24: jne    0x0000000111a45e20  ;   {runtime_call}

Expected type in %rax klass word is found oop pointer offset by 8 bytes (mark word) bail if not equal

Stack bang is

mov %eax, -0x14000(%rsp)

Hex 14000 is Dec 81920 = 80*1024 (80KB)

chriswhocodes avatar Sep 06 '16 14:09 chriswhocodes

A couple more potential asm hints: https://twitter.com/alblue/status/829264940389244928

chriswhocodes avatar Mar 21 '17 22:03 chriswhocodes