Skip to content

Instantly share code, notes, and snippets.

@jruby
Created March 22, 2009 22:52
Show Gist options
  • Save jruby/83328 to your computer and use it in GitHub Desktop.
Save jruby/83328 to your computer and use it in GitHub Desktop.
{method}
- klass: {other class}
- method holder: 'bench/language/bench_method_dispatch_only'
- constants: 0x06b82a64{constant pool}
- access: 0xc1000001 public
- name: 'method__1$RUBY$invoking'
- signature: '(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;'
- max stack: 8
- max locals: 14
- size of params: 4
- method size: 20
- vtable index: 23
- code size: 2625
- code start: 0xb15f9c84
- code end (excl): 0xb15fa6c5
- method data: 0xb17168c0
- checked ex length: 0
- linenumber start: 0xb15fa6c5
- localvar length: 1
- localvar start: 0xb15fa6fa
#
# org/jruby/runtime/builtin/IRubyObject * ( bench/language/bench_method_dispatch_only:NotNull *, org/jruby/runtime/ThreadContext:exact *, org/jruby/runtime/builtin/IRubyObject *, org/jruby/runtime/Block:exact * )
#
#r000 ecx : parm 0: bench/language/bench_method_dispatch_only:NotNull *
#r005 edx : parm 1: org/jruby/runtime/ThreadContext:exact *
#r047 esp+84: parm 3: org/jruby/runtime/Block:exact *
#r046 esp+80: parm 2: org/jruby/runtime/builtin/IRubyObject *
# -- Old esp -- Framesize: 80 --
#r045 esp+76: return address
#r044 esp+72: pad2, in_preserve
#r043 esp+68: pad2, in_preserve
#r042 esp+64: Fixed slot 0
#r063 esp+60: spill
#r062 esp+56: spill
#r061 esp+52: spill
#r060 esp+48: spill
#r059 esp+44: spill
#r058 esp+40: spill
#r057 esp+36: spill
#r056 esp+32: spill
#r055 esp+28: spill
#r054 esp+24: spill
#r053 esp+20: spill
#r052 esp+16: spill
#r051 esp+12: outgoing argument
#r050 esp+ 8: outgoing argument
#r049 esp+ 4: outgoing argument
#r048 esp+ 0: outgoing argument
#
000 N23060: # B1 <- BLOCK HEAD IS JUNK Freq: 2
000 CMP EAX,[ECX+4] # Inline cache check
JNE SharedRuntime::handle_ic_miss_stub
NOP
NOP
NOP
000
00c B1: # B2014 B2 <- BLOCK HEAD IS JUNK Freq: 2
00c # stack bang
PUSHL EBP
SUB ESP,72 # Create frame
01a MOV [ESP + #44],ECX
01e MOV [ESP + #40],EDX
022 MOV EBP,[EDX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
025 NullCheck EDX
025
025 B2: # B2013 B3 <- B1 Freq: 2
025 MOV EBX,[EBP + #124] ! Field org/jruby/Ruby.nilObject
028 NullCheck EBP
028
028 B3: # B2011 B4 <- B2 Freq: 2
028 #checkcastPP of EBX
028 MOV ECX,[ESP + #80]
02c MOV [ESP + #52],EBP
030 MOV [ESP + #84],EBX
034 MOV [ESP + #24],EBX
038 NOP # 2 bytes pad for loops and calls
03a MOV EAX,(oop)-1
CALL,dynamic org.jruby.runtime.builtin.IRubyObject::getMetaClass
# bench.language.bench_method_dispatch_only::method__1$RUBY$invoking @ bci:14 L[0]=esp + #44 L[1]=esp + #40 L[2]=esp + #80 L[3]=_ L[4]=_ L[5]=EBP L[6]=_ L[7]=esp + #84 L[8]=_ L[9]=_ L[10]=_ L[11]=_ L[12]=_ L[13]=_
# AllocatedObj(0x90f7bb20)
AllocatedObj(0x90f7bb20)
AllocatedObj(0x90f7bb20)
AllocatedObj(0x90f7bb20)
AllocatedObj(0x90f7bb20)
AllocatedObj(0x90f7bb20)
AllocatedObj(0x90f7bb20)
044
044 B4: # B2010 B5 <- B3 Freq: 1.99996
# Block is sole successor of call
044 MOV [ESP + #48],EAX
048 MOV ECX,EBP
04a NOP # 1 bytes pad for loops and calls
04b CALL,static org.jruby.RubyFixnum::zero
# bench.language.bench_method_dispatch_only::method__1$RUBY$invoking @ bci:27 L[0]=esp + #44 L[1]=esp + #40 L[2]=esp + #80 L[3]=_ L[4]=_ L[5]=EBP L[6]=_ L[7]=esp + #84 L[8]=_ L[9]=_ L[10]=esp + #48 L[11]=_ L[12]=_ L[13]=_
# AllocatedObj(0x90f7bb20)
AllocatedObj(0x90f7bb20)
AllocatedObj(0x90f7bb20)
AllocatedObj(0x90f7bb20)
AllocatedObj(0x90f7bb20)
AllocatedObj(0x90f7bb20)
AllocatedObj(0x90f7bb20)
AllocatedObj(0x90f7bb20)
050
050 B5: # B2009 B6 <- B4 Freq: 1.99992
# Block is sole successor of call
050 MOV [ESP + #32],EAX
054 MOV EBX,[ESP + #44]
058 MOV EBP,[EBX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
05b MOV ECX,[EBP + #8]
05e NullCheck EBP
05e
05e B6: # B2008 B7 <- B5 Freq: 1.99991
05e CMPu ECX,#102
061 Jle,u B2008 P=0.000001 C=-1.000000
061
067 B7: # B2007 B8 <- B6 Freq: 1.99991
067 MOV EBX,[EBP + #420]
06d MOV EBP,[EBX + #4]
070 NullCheck EBX
070
070 B8: # B2006 B9 <- B7 Freq: 1.99991
070 CMPu EBP,precise klass org/jruby/runtime/callsite/LtCallSite: 0x0892c028:Constant:exact *
076 Jne,u B2006 P=0.000000 C=-1.000000
076
07c B9: # B2005 B10 <- B8 Freq: 1.99991
07c MOV EBP,EAX
07e TEST EAX,EAX
080 Jeq B2005 P=0.000001 C=-1.000000
080
086 B10: # B2004 B11 <- B9 Freq: 1.99991
086 #checkcastPP of EBP
086 MOV [ESP + #56],EBP
08a #checkcastPP of EBX
08a MOV EBP,[EBP + #12] ! Field org/jruby/RubyBasicObject.metaClass
08d MOV [ESP + #60],EBP
091 MOV EAX,[EBX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
094 MEMBAR-acquire
094 MOV ECX,[EAX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
097 NullCheck EAX
097
097 B11: # B2003 B12 <- B10 Freq: 1.99991
097 MOV EBP,[EBP + #56] ! Field org/jruby/RubyModule.generation
09a NullCheck EBP
09a
09a B12: # B2002 B13 <- B11 Freq: 1.9999
09a MOV EDI,[EBP + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
09d NullCheck EBP
09d
09d B13: # B987 B14 <- B12 Freq: 1.9999
09d MEMBAR-acquire
09d CMP ECX,EDI
09f Jne B987 P=0.000000 C=6701.000000
09f
0a5 B14: # B15 <- B13 Freq: 1.9999
0a5 MOV EDI,[EAX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
0a5
0a8 B15: # B2000 B16 <- B14 B988 Freq: 1.9999
0a8 MOV ECX,[ESP + #44]
0ac MOV EBP,[ECX + #32] ! Field org/jruby/ast/executable/AbstractScript.fixnums
0af MOV ECX,[EBP + #8]
0b2 NullCheck EBP
0b2
0b2 B16: # B1999 B17 <- B15 Freq: 1.9999
0b2 TESTu ECX,ECX
0b4 Jle,u B1999 P=0.000001 C=-1.000000
0b4
0ba B17: # B1998 B18 <- B16 Freq: 1.9999
0ba MOV ESI,[EBP + #12]
0bd MOV ECX.lo,[ESI + #24]
MOV ECX.hi,[ESI + #24]+4 ! Field org/jruby/RubyFixnum.value
0c3 NullCheck ESI
0c3
0c3 B18: # B1997 B19 <- B17 Freq: 1.9999
0c3 MOV EBP,[EDI + #4]
0c6 NullCheck EDI
0c6
0c6 B19: # B1996 B20 <- B18 Freq: 1.99989
0c6 CMPu EBP,precise klass org/jruby/RubyFixnum$i_method_1_0$RUBYINVOKER$op_lt: 0x0892c098:Constant:exact *
0cc Jne,u B1996 P=0.000001 C=-1.000000
0cc
0d2 B20: # B990 B21 <- B19 Freq: 1.99989
0d2 MOV EDI,[ESP + #40]
0d6 MOV EDI,[EDI + #40] ! Field org/jruby/runtime/ThreadContext.runtime
0d9 MOV ESI,[ESP + #56]
0dd MOV EAX.lo,[ESI + #24]
MOV EAX.hi,[ESI + #24]+4 ! Field org/jruby/RubyFixnum.value
0e3 CMP EAX.lo,ECX.lo ! Long compare; set flags for low bits
MOV ESI,EAX.hi
SBB ESI,ECX.hi ! Compute flags for long compare
0e9 Jge B990 P=0.000000 C=6701.000000
0e9
0ef B21: # B989 B22 <- B20 Freq: 1.99989
0ef MOV EBP,[EDI + #132] ! Field org/jruby/Ruby.trueObject
0f5 NullCheck EDI
0f5
0f5 B22: # B1994 B23 <- B991 B21 Freq: 1.99989
0f5 #checkcastPP of EBP
0f5 MOV EBX,[EBP + #4]
0f8 NullCheck EBP
0f8
0f8 B23: # B1993 B24 <- B22 Freq: 1.99989
0f8 CMPu EBX,precise klass org/jruby/RubyBoolean: 0x0892c108:Constant:exact *
0fe Jne,u B1993 P=0.000001 C=-1.000000
0fe
104 B24: # B1990 B25 <- B23 Freq: 1.99989
104 #checkcastPP of EBP
104 MOV EBX,[EBP + #8] ! Field org/jruby/RubyBasicObject.flags
107 TEST EBX,#1
10d Jne B1990 P=0.000000 C=13312.000000
10d
113 B25: # B26 <- B24 Freq: 1.99989
113 MOV ECX,[ESP + #80]
117 MOV EAX,[ECX + #4]
11a MOV EBP,#328
NOP # 1 bytes pad for loops and calls
120 B26: # B1989 B27 <- B25 B986 Loop: B26-B986 inner Freq: 809.446
120 MOV EBX,[ESP + #44]
124 MOV EBX,[EBX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
127 MOV EDI,[EBX + #8]
12a NullCheck EBX
12a
12a B27: # B1988 B28 <- B26 Freq: 809.445
12a CMPu EDI,#1
12d Jle,u B1988 P=0.000001 C=-1.000000
12d
133 B28: # B1987 B29 <- B27 Freq: 809.444
133 MOV ECX,[EBX + #16]
136 MOV EDI,[ECX + #4]
139 NullCheck ECX
139
139 B29: # B1986 B30 <- B28 Freq: 809.443
139 CMPu EDI,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
13f Jne,u B1986 P=0.000000 C=-1.000000
13f
145 B30: # B1985 B31 <- B29 Freq: 809.443
145 #checkcastPP of ECX
145 MOV EBX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
148 MEMBAR-acquire
148 MOV EDI,[EBX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
14b NullCheck EBX
14b
14b B31: # B1984 B32 <- B30 Freq: 809.442
14b MOV EDX,[ESP + #48]
14f MOV EDX,[EDX + #56] ! Field org/jruby/RubyModule.generation
152 NullCheck EDX
152
152 B32: # B1983 B33 <- B31 Freq: 809.442
152 MOV [ESP + #84],EAX
156 MOV ESI,[EDX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
159 NullCheck EDX
159
159 B33: # B992 B34 <- B32 Freq: 809.441
159 MEMBAR-acquire
159 CMP EDI,ESI
15b Jne B992 P=0.000000 C=6701.000000
15b
161 B34: # B35 <- B33 Freq: 809.44
161 MOV EAX,[EBX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
161
164 B35: # B1981 B36 <- B34 B993 Freq: 809.441
164 MOV EBX,[EAX + #4]
167 NullCheck EAX
167
167 B36: # B1980 B37 <- B35 Freq: 809.44
167 CMPu EBX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
16d Jne,u B1980 P=0.000001 C=-1.000000
16d
173 B37: # B1979 B38 <- B36 Freq: 809.439
173 #checkcastPP of EAX
173 MOV EBX,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
179 MOV EAX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
17c MOV EDI,[EAX + #4]
17f NullCheck EAX
17f
17f B38: # B1978 B39 <- B37 Freq: 809.438
17f CMPu EDI,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
185 Jne,u B1978 P=0.000000 C=-1.000000
185
18b B39: # B1977 B40 <- B38 Freq: 809.438
18b MOV ECX,[ESP + #40]
18f MOV EBX,[ECX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
192 TEST EBX,EBX
194 Jeq B1977 P=0.000001 C=-1.000000
194
19a B40: # B1976 B41 <- B39 Freq: 809.438
19a MOV EDX,[ESP + #84]
19e CMPu EDX,precise klass org/jruby/RubyObject: 0x085bc948:Constant:exact *
1a4 Jne,u B1976 P=0.000001 C=-1.000000
1a4
1aa B41: # B1975 B42 <- B40 Freq: 809.437
1aa MOV EBX,[ESP + #44]
1ae MOV EDI,[EBX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
1b1 MOV EBX,[EDI + #8]
1b4 NullCheck EDI
1b4
1b4 B42: # B1974 B43 <- B41 Freq: 809.436
1b4 CMPu EBX,#2
1b7 Jle,u B1974 P=0.000001 C=-1.000000
1b7
1bd B43: # B1973 B44 <- B42 Freq: 809.435
1bd MOV ECX,[EDI + #20]
1c0 MOV EDI,[ECX + #4]
1c3 NullCheck ECX
1c3
1c3 B44: # B1972 B45 <- B43 Freq: 809.434
1c3 CMPu EDI,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
1c9 Jne,u B1972 P=0.000000 C=-1.000000
1c9
1cf B45: # B1971 B46 <- B44 Freq: 809.434
1cf #checkcastPP of ECX
1cf MOV EBX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
1d2 MEMBAR-acquire
1d2 MOV EDI,[EBX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
1d5 NullCheck EBX
1d5
1d5 B46: # B1970 B47 <- B45 Freq: 809.433
1d5 MOV EAX,[ESP + #48]
1d9 MOV EAX,[EAX + #56] ! Field org/jruby/RubyModule.generation
1dc MOV ESI,[EAX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
1df NullCheck EAX
1df
1df B47: # B994 B48 <- B46 Freq: 809.433
1df MEMBAR-acquire
1df CMP EDI,ESI
1e1 Jne B994 P=0.000000 C=6701.000000
1e1
1e7 B48: # B49 <- B47 Freq: 809.432
1e7 MOV EAX,[EBX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
1e7
1ea B49: # B1968 B50 <- B48 B995 Freq: 809.433
1ea MOV EBX,[EAX + #4]
1ed NullCheck EAX
1ed
1ed B50: # B1967 B51 <- B49 Freq: 809.432
1ed CMPu EBX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
1f3 Jne,u B1967 P=0.000001 C=-1.000000
1f3
1f9 B51: # B1966 B52 <- B50 Freq: 809.431
1f9 #checkcastPP of EAX
1f9 MOV EBX,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
1ff MOV EAX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
202 MOV EDI,[EAX + #4]
205 NullCheck EAX
205
205 B52: # B1965 B53 <- B51 Freq: 809.43
205 CMPu EDI,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
20b Jne,u B1965 P=0.000000 C=-1.000000
20b
211 B53: # B1964 B54 <- B52 Freq: 809.43
211 MOV ECX,[ESP + #40]
215 MOV EBX,[ECX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
218 TEST EBX,EBX
21a Jeq B1964 P=0.000001 C=-1.000000
21a
220 B54: # B1963 B55 <- B53 Freq: 809.429
220 MOV EBX,[ESP + #44]
224 MOV EBX,[EBX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
227 MOV ECX,[EBX + #8]
22a NullCheck EBX
22a
22a B55: # B1962 B56 <- B54 Freq: 809.429
22a CMPu ECX,#3
22d Jle,u B1962 P=0.000001 C=-1.000000
22d
233 B56: # B1961 B57 <- B55 Freq: 809.428
233 MOV ECX,[EBX + #24]
236 MOV EBX,[ECX + #4]
239 NullCheck ECX
239
239 B57: # B1960 B58 <- B56 Freq: 809.427
239 CMPu EBX,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
23f Jne,u B1960 P=0.000000 C=-1.000000
23f
245 B58: # B1959 B59 <- B57 Freq: 809.427
245 #checkcastPP of ECX
245 MOV EAX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
248 MEMBAR-acquire
248 MOV EDI,[EAX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
24b NullCheck EAX
24b
24b B59: # B1958 B60 <- B58 Freq: 809.426
24b MOV EDX,[ESP + #48]
24f MOV EDX,[EDX + #56] ! Field org/jruby/RubyModule.generation
252 MOV EBX,[EDX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
255 NullCheck EDX
255
255 B60: # B996 B61 <- B59 Freq: 809.425
255 MEMBAR-acquire
255 CMP EDI,EBX
257 Jne B996 P=0.000000 C=6701.000000
257
25d B61: # B62 <- B60 Freq: 809.425
25d MOV EAX,[EAX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
25d
260 B62: # B1956 B63 <- B61 B997 Freq: 809.425
260 MOV ECX,[EAX + #4]
263 NullCheck EAX
263
263 B63: # B1955 B64 <- B62 Freq: 809.424
263 CMPu ECX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
269 Jne,u B1955 P=0.000001 C=-1.000000
269
26f B64: # B1954 B65 <- B63 Freq: 809.424
26f #checkcastPP of EAX
26f MOV EDI,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
275 MOV EBX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
278 MOV ECX,[EBX + #4]
27b NullCheck EBX
27b
27b B65: # B1953 B66 <- B64 Freq: 809.423
27b CMPu ECX,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
281 Jne,u B1953 P=0.000000 C=-1.000000
281
287 B66: # B1952 B67 <- B65 Freq: 809.423
287 MOV EBX,[ESP + #40]
28b MOV EDI,[EBX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
28e TEST EDI,EDI
290 Jeq B1952 P=0.000001 C=-1.000000
290
296 B67: # B1951 B68 <- B66 Freq: 809.422
296 MOV ECX,[ESP + #44]
29a MOV EDI,[ECX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
29d MOV EBX,[EDI + #8]
2a0 NullCheck EDI
2a0
2a0 B68: # B1950 B69 <- B67 Freq: 809.421
2a0 CMPu EBX,#4
2a3 Jle,u B1950 P=0.000001 C=-1.000000
2a3
2a9 B69: # B1949 B70 <- B68 Freq: 809.42
2a9 MOV ECX,[EDI + #28]
2ac MOV EDI,[ECX + #4]
2af NullCheck ECX
2af
2af B70: # B1948 B71 <- B69 Freq: 809.419
2af CMPu EDI,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
2b5 Jne,u B1948 P=0.000000 C=-1.000000
2b5
2bb B71: # B1947 B72 <- B70 Freq: 809.419
2bb #checkcastPP of ECX
2bb MOV EBX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
2be MEMBAR-acquire
2be MOV ESI,[EBX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
2c1 NullCheck EBX
2c1
2c1 B72: # B1946 B73 <- B71 Freq: 809.419
2c1 MOV EDI,[ESP + #48]
2c5 MOV EAX,[EDI + #56] ! Field org/jruby/RubyModule.generation
2c8 MOV EDI,[EAX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
2cb NullCheck EAX
2cb
2cb B73: # B998 B74 <- B72 Freq: 809.418
2cb MEMBAR-acquire
2cb CMP ESI,EDI
2cd Jne B998 P=0.000000 C=6701.000000
2cd
2d3 B74: # B75 <- B73 Freq: 809.417
2d3 MOV EAX,[EBX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
2d3
2d6 B75: # B1944 B76 <- B74 B999 Freq: 809.418
2d6 MOV EBX,[EAX + #4]
2d9 NullCheck EAX
2d9
2d9 B76: # B1943 B77 <- B75 Freq: 809.417
2d9 CMPu EBX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
2df Jne,u B1943 P=0.000001 C=-1.000000
2df
2e5 B77: # B1942 B78 <- B76 Freq: 809.416
2e5 #checkcastPP of EAX
2e5 MOV EBX,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
2eb MOV EAX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
2ee MOV EDI,[EAX + #4]
2f1 NullCheck EAX
2f1
2f1 B78: # B1941 B79 <- B77 Freq: 809.415
2f1 CMPu EDI,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
2f7 Jne,u B1941 P=0.000000 C=-1.000000
2f7
2fd B79: # B1940 B80 <- B78 Freq: 809.415
2fd MOV ECX,[ESP + #40]
301 MOV EBX,[ECX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
304 TEST EBX,EBX
306 Jeq B1940 P=0.000001 C=-1.000000
306
30c B80: # B1939 B81 <- B79 Freq: 809.415
30c MOV EBX,[ESP + #44]
310 MOV EBX,[EBX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
313 MOV ECX,[EBX + #8]
316 NullCheck EBX
316
316 B81: # B1938 B82 <- B80 Freq: 809.414
316 CMPu ECX,#5
319 Jle,u B1938 P=0.000001 C=-1.000000
319
31f B82: # B1937 B83 <- B81 Freq: 809.413
31f MOV ECX,[EBX + #32]
322 MOV EBX,[ECX + #4]
325 NullCheck ECX
325
325 B83: # B1936 B84 <- B82 Freq: 809.412
325 CMPu EBX,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
32b Jne,u B1936 P=0.000000 C=-1.000000
32b
331 B84: # B1935 B85 <- B83 Freq: 809.412
331 #checkcastPP of ECX
331 MOV EAX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
334 MEMBAR-acquire
334 MOV EDI,[EAX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
337 NullCheck EAX
337
337 B85: # B1934 B86 <- B84 Freq: 809.411
337 MOV EDX,[ESP + #48]
33b MOV EDX,[EDX + #56] ! Field org/jruby/RubyModule.generation
33e MOV EBX,[EDX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
341 NullCheck EDX
341
341 B86: # B1000 B87 <- B85 Freq: 809.41
341 MEMBAR-acquire
341 CMP EDI,EBX
343 Jne B1000 P=0.000000 C=6701.000000
343
349 B87: # B88 <- B86 Freq: 809.41
349 MOV EAX,[EAX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
349
34c B88: # B1932 B89 <- B87 B1001 Freq: 809.41
34c MOV ECX,[EAX + #4]
34f NullCheck EAX
34f
34f B89: # B1931 B90 <- B88 Freq: 809.41
34f CMPu ECX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
355 Jne,u B1931 P=0.000001 C=-1.000000
355
35b B90: # B1930 B91 <- B89 Freq: 809.409
35b #checkcastPP of EAX
35b MOV EDI,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
361 MOV EBX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
364 MOV ECX,[EBX + #4]
367 NullCheck EBX
367
367 B91: # B1929 B92 <- B90 Freq: 809.408
367 CMPu ECX,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
36d Jne,u B1929 P=0.000000 C=-1.000000
36d
373 B92: # B1928 B93 <- B91 Freq: 809.408
373 MOV EBX,[ESP + #40]
377 MOV EDI,[EBX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
37a TEST EDI,EDI
37c Jeq B1928 P=0.000001 C=-1.000000
37c
382 B93: # B1927 B94 <- B92 Freq: 809.407
382 MOV ECX,[ESP + #44]
386 MOV EDI,[ECX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
389 MOV EBX,[EDI + #8]
38c NullCheck EDI
38c
38c B94: # B1926 B95 <- B93 Freq: 809.406
38c CMPu EBX,#6
38f Jle,u B1926 P=0.000001 C=-1.000000
38f
395 B95: # B1925 B96 <- B94 Freq: 809.406
395 MOV ECX,[EDI + #36]
398 MOV EDI,[ECX + #4]
39b NullCheck ECX
39b
39b B96: # B1924 B97 <- B95 Freq: 809.405
39b CMPu EDI,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
3a1 Jne,u B1924 P=0.000000 C=-1.000000
3a1
3a7 B97: # B1923 B98 <- B96 Freq: 809.405
3a7 #checkcastPP of ECX
3a7 MOV EBX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
3aa MEMBAR-acquire
3aa MOV ESI,[EBX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
3ad NullCheck EBX
3ad
3ad B98: # B1922 B99 <- B97 Freq: 809.404
3ad MOV EDI,[ESP + #48]
3b1 MOV EAX,[EDI + #56] ! Field org/jruby/RubyModule.generation
3b4 MOV EDI,[EAX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
3b7 NullCheck EAX
3b7
3b7 B99: # B1002 B100 <- B98 Freq: 809.403
3b7 MEMBAR-acquire
3b7 CMP ESI,EDI
3b9 Jne B1002 P=0.000000 C=6701.000000
3b9
3bf B100: # B101 <- B99 Freq: 809.403
3bf MOV EAX,[EBX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
3bf
3c2 B101: # B1920 B102 <- B100 B1003 Freq: 809.403
3c2 MOV EBX,[EAX + #4]
3c5 NullCheck EAX
3c5
3c5 B102: # B1919 B103 <- B101 Freq: 809.402
3c5 CMPu EBX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
3cb Jne,u B1919 P=0.000001 C=-1.000000
3cb
3d1 B103: # B1918 B104 <- B102 Freq: 809.401
3d1 #checkcastPP of EAX
3d1 MOV EBX,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
3d7 MOV EAX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
3da MOV EDI,[EAX + #4]
3dd NullCheck EAX
3dd
3dd B104: # B1917 B105 <- B103 Freq: 809.401
3dd CMPu EDI,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
3e3 Jne,u B1917 P=0.000000 C=-1.000000
3e3
3e9 B105: # B1916 B106 <- B104 Freq: 809.401
3e9 MOV ECX,[ESP + #40]
3ed MOV EBX,[ECX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
3f0 TEST EBX,EBX
3f2 Jeq B1916 P=0.000001 C=-1.000000
3f2
3f8 B106: # B1915 B107 <- B105 Freq: 809.4
3f8 MOV EBX,[ESP + #44]
3fc MOV EBX,[EBX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
3ff MOV ECX,[EBX + #8]
402 NullCheck EBX
402
402 B107: # B1914 B108 <- B106 Freq: 809.399
402 CMPu ECX,#7
405 Jle,u B1914 P=0.000001 C=-1.000000
405
40b B108: # B1913 B109 <- B107 Freq: 809.398
40b MOV ECX,[EBX + #40]
40e MOV EBX,[ECX + #4]
411 NullCheck ECX
411
411 B109: # B1912 B110 <- B108 Freq: 809.397
411 CMPu EBX,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
417 Jne,u B1912 P=0.000000 C=-1.000000
417
41d B110: # B1911 B111 <- B109 Freq: 809.397
41d #checkcastPP of ECX
41d MOV EAX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
420 MEMBAR-acquire
420 MOV EDI,[EAX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
423 NullCheck EAX
423
423 B111: # B1910 B112 <- B110 Freq: 809.397
423 MOV EDX,[ESP + #48]
427 MOV EDX,[EDX + #56] ! Field org/jruby/RubyModule.generation
42a MOV EBX,[EDX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
42d NullCheck EDX
42d
42d B112: # B1004 B113 <- B111 Freq: 809.396
42d MEMBAR-acquire
42d CMP EDI,EBX
42f Jne B1004 P=0.000000 C=6701.000000
42f
435 B113: # B114 <- B112 Freq: 809.395
435 MOV EAX,[EAX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
435
438 B114: # B1908 B115 <- B113 B1005 Freq: 809.396
438 MOV ECX,[EAX + #4]
43b NullCheck EAX
43b
43b B115: # B1907 B116 <- B114 Freq: 809.395
43b CMPu ECX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
441 Jne,u B1907 P=0.000001 C=-1.000000
441
447 B116: # B1906 B117 <- B115 Freq: 809.394
447 #checkcastPP of EAX
447 MOV EDI,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
44d MOV EBX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
450 MOV ECX,[EBX + #4]
453 NullCheck EBX
453
453 B117: # B1905 B118 <- B116 Freq: 809.393
453 CMPu ECX,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
459 Jne,u B1905 P=0.000000 C=-1.000000
459
45f B118: # B1904 B119 <- B117 Freq: 809.393
45f MOV EBX,[ESP + #40]
463 MOV EDI,[EBX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
466 TEST EDI,EDI
468 Jeq B1904 P=0.000001 C=-1.000000
468
46e B119: # B1903 B120 <- B118 Freq: 809.392
46e MOV ECX,[ESP + #44]
472 MOV EDI,[ECX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
475 MOV EBX,[EDI + #8]
478 NullCheck EDI
478
478 B120: # B1902 B121 <- B119 Freq: 809.392
478 CMPu EBX,#8
47b Jle,u B1902 P=0.000001 C=-1.000000
47b
481 B121: # B1901 B122 <- B120 Freq: 809.391
481 MOV ECX,[EDI + #44]
484 MOV EDI,[ECX + #4]
487 NullCheck ECX
487
487 B122: # B1900 B123 <- B121 Freq: 809.39
487 CMPu EDI,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
48d Jne,u B1900 P=0.000000 C=-1.000000
48d
493 B123: # B1899 B124 <- B122 Freq: 809.39
493 #checkcastPP of ECX
493 MOV EBX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
496 MEMBAR-acquire
496 MOV ESI,[EBX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
499 NullCheck EBX
499
499 B124: # B1898 B125 <- B123 Freq: 809.389
499 MOV EDI,[ESP + #48]
49d MOV EAX,[EDI + #56] ! Field org/jruby/RubyModule.generation
4a0 MOV EDI,[EAX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
4a3 NullCheck EAX
4a3
4a3 B125: # B1006 B126 <- B124 Freq: 809.388
4a3 MEMBAR-acquire
4a3 CMP ESI,EDI
4a5 Jne B1006 P=0.000000 C=6701.000000
4a5
4ab B126: # B127 <- B125 Freq: 809.388
4ab MOV EAX,[EBX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
4ab
4ae B127: # B1896 B128 <- B126 B1007 Freq: 809.388
4ae MOV EBX,[EAX + #4]
4b1 NullCheck EAX
4b1
4b1 B128: # B1895 B129 <- B127 Freq: 809.388
4b1 CMPu EBX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
4b7 Jne,u B1895 P=0.000001 C=-1.000000
4b7
4bd B129: # B1894 B130 <- B128 Freq: 809.387
4bd #checkcastPP of EAX
4bd MOV EBX,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
4c3 MOV EAX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
4c6 MOV EDI,[EAX + #4]
4c9 NullCheck EAX
4c9
4c9 B130: # B1893 B131 <- B129 Freq: 809.386
4c9 CMPu EDI,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
4cf Jne,u B1893 P=0.000000 C=-1.000000
4cf
4d5 B131: # B1892 B132 <- B130 Freq: 809.386
4d5 MOV ECX,[ESP + #40]
4d9 MOV EBX,[ECX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
4dc TEST EBX,EBX
4de Jeq B1892 P=0.000001 C=-1.000000
4de
4e4 B132: # B1891 B133 <- B131 Freq: 809.385
4e4 MOV EBX,[ESP + #44]
4e8 MOV EBX,[EBX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
4eb MOV ECX,[EBX + #8]
4ee NullCheck EBX
4ee
4ee B133: # B1890 B134 <- B132 Freq: 809.384
4ee CMPu ECX,#9
4f1 Jle,u B1890 P=0.000001 C=-1.000000
4f1
4f7 B134: # B1889 B135 <- B133 Freq: 809.383
4f7 MOV ECX,[EBX + #48]
4fa MOV EBX,[ECX + #4]
4fd NullCheck ECX
4fd
4fd B135: # B1888 B136 <- B134 Freq: 809.383
4fd CMPu EBX,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
503 Jne,u B1888 P=0.000000 C=-1.000000
503
509 B136: # B1887 B137 <- B135 Freq: 809.383
509 #checkcastPP of ECX
509 MOV EAX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
50c MEMBAR-acquire
50c MOV EDI,[EAX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
50f NullCheck EAX
50f
50f B137: # B1886 B138 <- B136 Freq: 809.382
50f MOV EDX,[ESP + #48]
513 MOV EDX,[EDX + #56] ! Field org/jruby/RubyModule.generation
516 MOV EBX,[EDX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
519 NullCheck EDX
519
519 B138: # B1008 B139 <- B137 Freq: 809.381
519 MEMBAR-acquire
519 CMP EDI,EBX
51b Jne B1008 P=0.000000 C=6701.000000
51b
521 B139: # B140 <- B138 Freq: 809.381
521 MOV EAX,[EAX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
521
524 B140: # B1884 B141 <- B139 B1009 Freq: 809.381
524 MOV ECX,[EAX + #4]
527 NullCheck EAX
527
527 B141: # B1883 B142 <- B140 Freq: 809.38
527 CMPu ECX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
52d Jne,u B1883 P=0.000001 C=-1.000000
52d
533 B142: # B1882 B143 <- B141 Freq: 809.379
533 #checkcastPP of EAX
533 MOV EDI,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
539 MOV EBX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
53c MOV ECX,[EBX + #4]
53f NullCheck EBX
53f
53f B143: # B1881 B144 <- B142 Freq: 809.378
53f CMPu ECX,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
545 Jne,u B1881 P=0.000000 C=-1.000000
545
54b B144: # B1880 B145 <- B143 Freq: 809.378
54b MOV EBX,[ESP + #40]
54f MOV EDI,[EBX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
552 TEST EDI,EDI
554 Jeq B1880 P=0.000001 C=-1.000000
554
55a B145: # B1879 B146 <- B144 Freq: 809.378
55a MOV ECX,[ESP + #44]
55e MOV EDI,[ECX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
561 MOV EBX,[EDI + #8]
564 NullCheck EDI
564
564 B146: # B1878 B147 <- B145 Freq: 809.377
564 CMPu EBX,#10
567 Jle,u B1878 P=0.000001 C=-1.000000
567
56d B147: # B1877 B148 <- B146 Freq: 809.376
56d MOV ECX,[EDI + #52]
570 MOV EDI,[ECX + #4]
573 NullCheck ECX
573
573 B148: # B1876 B149 <- B147 Freq: 809.375
573 CMPu EDI,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
579 Jne,u B1876 P=0.000000 C=-1.000000
579
57f B149: # B1875 B150 <- B148 Freq: 809.375
57f #checkcastPP of ECX
57f MOV EBX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
582 MEMBAR-acquire
582 MOV ESI,[EBX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
585 NullCheck EBX
585
585 B150: # B1874 B151 <- B149 Freq: 809.374
585 MOV EDI,[ESP + #48]
589 MOV EAX,[EDI + #56] ! Field org/jruby/RubyModule.generation
58c MOV EDI,[EAX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
58f NullCheck EAX
58f
58f B151: # B1010 B152 <- B150 Freq: 809.374
58f MEMBAR-acquire
58f CMP ESI,EDI
591 Jne B1010 P=0.000000 C=6701.000000
591
597 B152: # B153 <- B151 Freq: 809.373
597 MOV EAX,[EBX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
597
59a B153: # B1872 B154 <- B152 B1011 Freq: 809.374
59a MOV EBX,[EAX + #4]
59d NullCheck EAX
59d
59d B154: # B1871 B155 <- B153 Freq: 809.373
59d CMPu EBX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
5a3 Jne,u B1871 P=0.000001 C=-1.000000
5a3
5a9 B155: # B1870 B156 <- B154 Freq: 809.372
5a9 #checkcastPP of EAX
5a9 MOV EBX,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
5af MOV EAX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
5b2 MOV EDI,[EAX + #4]
5b5 NullCheck EAX
5b5
5b5 B156: # B1869 B157 <- B155 Freq: 809.371
5b5 CMPu EDI,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
5bb Jne,u B1869 P=0.000000 C=-1.000000
5bb
5c1 B157: # B1868 B158 <- B156 Freq: 809.371
5c1 MOV ECX,[ESP + #40]
5c5 MOV EBX,[ECX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
5c8 TEST EBX,EBX
5ca Jeq B1868 P=0.000001 C=-1.000000
5ca
5d0 B158: # B1867 B159 <- B157 Freq: 809.37
5d0 MOV EBX,[ESP + #44]
5d4 MOV EBX,[EBX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
5d7 MOV ECX,[EBX + #8]
5da NullCheck EBX
5da
5da B159: # B1866 B160 <- B158 Freq: 809.369
5da CMPu ECX,#11
5dd Jle,u B1866 P=0.000001 C=-1.000000
5dd
5e3 B160: # B1865 B161 <- B159 Freq: 809.369
5e3 MOV ECX,[EBX + #56]
5e6 MOV EBX,[ECX + #4]
5e9 NullCheck ECX
5e9
5e9 B161: # B1864 B162 <- B160 Freq: 809.368
5e9 CMPu EBX,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
5ef Jne,u B1864 P=0.000000 C=-1.000000
5ef
5f5 B162: # B1863 B163 <- B161 Freq: 809.368
5f5 #checkcastPP of ECX
5f5 MOV EAX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
5f8 MEMBAR-acquire
5f8 MOV EDI,[EAX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
5fb NullCheck EAX
5fb
5fb B163: # B1862 B164 <- B162 Freq: 809.367
5fb MOV EDX,[ESP + #48]
5ff MOV EDX,[EDX + #56] ! Field org/jruby/RubyModule.generation
602 MOV EBX,[EDX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
605 NullCheck EDX
605
605 B164: # B1012 B165 <- B163 Freq: 809.366
605 MEMBAR-acquire
605 CMP EDI,EBX
607 Jne B1012 P=0.000000 C=6701.000000
607
60d B165: # B166 <- B164 Freq: 809.366
60d MOV EAX,[EAX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
60d
610 B166: # B1860 B167 <- B165 B1013 Freq: 809.366
610 MOV ECX,[EAX + #4]
613 NullCheck EAX
613
613 B167: # B1859 B168 <- B166 Freq: 809.365
613 CMPu ECX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
619 Jne,u B1859 P=0.000001 C=-1.000000
619
61f B168: # B1858 B169 <- B167 Freq: 809.365
61f #checkcastPP of EAX
61f MOV EDI,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
625 MOV EBX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
628 MOV ECX,[EBX + #4]
62b NullCheck EBX
62b
62b B169: # B1857 B170 <- B168 Freq: 809.364
62b CMPu ECX,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
631 Jne,u B1857 P=0.000000 C=-1.000000
631
637 B170: # B1856 B171 <- B169 Freq: 809.364
637 MOV EBX,[ESP + #40]
63b MOV EDI,[EBX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
63e TEST EDI,EDI
640 Jeq B1856 P=0.000001 C=-1.000000
640
646 B171: # B1855 B172 <- B170 Freq: 809.363
646 MOV ECX,[ESP + #44]
64a MOV EDI,[ECX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
64d MOV EBX,[EDI + #8]
650 NullCheck EDI
650
650 B172: # B1854 B173 <- B171 Freq: 809.362
650 CMPu EBX,#12
653 Jle,u B1854 P=0.000001 C=-1.000000
653
659 B173: # B1853 B174 <- B172 Freq: 809.361
659 MOV ECX,[EDI + #60]
65c MOV EDI,[ECX + #4]
65f NullCheck ECX
65f
65f B174: # B1852 B175 <- B173 Freq: 809.36
65f CMPu EDI,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
665 Jne,u B1852 P=0.000000 C=-1.000000
665
66b B175: # B1851 B176 <- B174 Freq: 809.36
66b #checkcastPP of ECX
66b MOV EBX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
66e MEMBAR-acquire
66e MOV ESI,[EBX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
671 NullCheck EBX
671
671 B176: # B1850 B177 <- B175 Freq: 809.36
671 MOV EDI,[ESP + #48]
675 MOV EAX,[EDI + #56] ! Field org/jruby/RubyModule.generation
678 MOV EDI,[EAX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
67b NullCheck EAX
67b
67b B177: # B1014 B178 <- B176 Freq: 809.359
67b MEMBAR-acquire
67b CMP ESI,EDI
67d Jne B1014 P=0.000000 C=6701.000000
67d
683 B178: # B179 <- B177 Freq: 809.358
683 MOV EAX,[EBX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
683
686 B179: # B1848 B180 <- B178 B1015 Freq: 809.359
686 MOV EBX,[EAX + #4]
689 NullCheck EAX
689
689 B180: # B1847 B181 <- B179 Freq: 809.358
689 CMPu EBX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
68f Jne,u B1847 P=0.000001 C=-1.000000
68f
695 B181: # B1846 B182 <- B180 Freq: 809.357
695 #checkcastPP of EAX
695 MOV EBX,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
69b MOV EAX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
69e MOV EDI,[EAX + #4]
6a1 NullCheck EAX
6a1
6a1 B182: # B1845 B183 <- B181 Freq: 809.356
6a1 CMPu EDI,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
6a7 Jne,u B1845 P=0.000000 C=-1.000000
6a7
6ad B183: # B1844 B184 <- B182 Freq: 809.356
6ad MOV ECX,[ESP + #40]
6b1 MOV EBX,[ECX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
6b4 TEST EBX,EBX
6b6 Jeq B1844 P=0.000001 C=-1.000000
6b6
6bc B184: # B1843 B185 <- B183 Freq: 809.356
6bc MOV EBX,[ESP + #44]
6c0 MOV EBX,[EBX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
6c3 MOV ECX,[EBX + #8]
6c6 NullCheck EBX
6c6
6c6 B185: # B1842 B186 <- B184 Freq: 809.355
6c6 CMPu ECX,#13
6c9 Jle,u B1842 P=0.000001 C=-1.000000
6c9
6cf B186: # B1841 B187 <- B185 Freq: 809.354
6cf MOV ECX,[EBX + #64]
6d2 MOV EBX,[ECX + #4]
6d5 NullCheck ECX
6d5
6d5 B187: # B1840 B188 <- B186 Freq: 809.353
6d5 CMPu EBX,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
6db Jne,u B1840 P=0.000000 C=-1.000000
6db
6e1 B188: # B1839 B189 <- B187 Freq: 809.353
6e1 #checkcastPP of ECX
6e1 MOV EAX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
6e4 MEMBAR-acquire
6e4 MOV EDI,[EAX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
6e7 NullCheck EAX
6e7
6e7 B189: # B1838 B190 <- B188 Freq: 809.352
6e7 MOV EDX,[ESP + #48]
6eb MOV EDX,[EDX + #56] ! Field org/jruby/RubyModule.generation
6ee MOV EBX,[EDX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
6f1 NullCheck EDX
6f1
6f1 B190: # B1016 B191 <- B189 Freq: 809.351
6f1 MEMBAR-acquire
6f1 CMP EDI,EBX
6f3 Jne B1016 P=0.000000 C=6701.000000
6f3
6f9 B191: # B192 <- B190 Freq: 809.351
6f9 MOV EAX,[EAX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
6f9
6fc B192: # B1836 B193 <- B191 B1017 Freq: 809.351
6fc MOV ECX,[EAX + #4]
6ff NullCheck EAX
6ff
6ff B193: # B1835 B194 <- B192 Freq: 809.351
6ff CMPu ECX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
705 Jne,u B1835 P=0.000001 C=-1.000000
705
70b B194: # B1834 B195 <- B193 Freq: 809.35
70b #checkcastPP of EAX
70b MOV EDI,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
711 MOV EBX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
714 MOV ECX,[EBX + #4]
717 NullCheck EBX
717
717 B195: # B1833 B196 <- B194 Freq: 809.349
717 CMPu ECX,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
71d Jne,u B1833 P=0.000000 C=-1.000000
71d
723 B196: # B1832 B197 <- B195 Freq: 809.349
723 MOV EBX,[ESP + #40]
727 MOV EDI,[EBX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
72a TEST EDI,EDI
72c Jeq B1832 P=0.000001 C=-1.000000
72c
732 B197: # B1831 B198 <- B196 Freq: 809.348
732 MOV ECX,[ESP + #44]
736 MOV EDI,[ECX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
739 MOV EBX,[EDI + #8]
73c NullCheck EDI
73c
73c B198: # B1830 B199 <- B197 Freq: 809.347
73c CMPu EBX,#14
73f Jle,u B1830 P=0.000001 C=-1.000000
73f
745 B199: # B1829 B200 <- B198 Freq: 809.346
745 MOV ECX,[EDI + #68]
748 MOV EDI,[ECX + #4]
74b NullCheck ECX
74b
74b B200: # B1828 B201 <- B199 Freq: 809.346
74b CMPu EDI,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
751 Jne,u B1828 P=0.000000 C=-1.000000
751
757 B201: # B1827 B202 <- B200 Freq: 809.346
757 #checkcastPP of ECX
757 MOV EBX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
75a MEMBAR-acquire
75a MOV ESI,[EBX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
75d NullCheck EBX
75d
75d B202: # B1826 B203 <- B201 Freq: 809.345
75d MOV EDI,[ESP + #48]
761 MOV EAX,[EDI + #56] ! Field org/jruby/RubyModule.generation
764 MOV EDI,[EAX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
767 NullCheck EAX
767
767 B203: # B1018 B204 <- B202 Freq: 809.344
767 MEMBAR-acquire
767 CMP ESI,EDI
769 Jne B1018 P=0.000000 C=6701.000000
769
76f B204: # B205 <- B203 Freq: 809.344
76f MOV EAX,[EBX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
76f
772 B205: # B1824 B206 <- B204 B1019 Freq: 809.344
772 MOV EBX,[EAX + #4]
775 NullCheck EAX
775
775 B206: # B1823 B207 <- B205 Freq: 809.343
775 CMPu EBX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
77b Jne,u B1823 P=0.000001 C=-1.000000
77b
781 B207: # B1822 B208 <- B206 Freq: 809.342
781 #checkcastPP of EAX
781 MOV EBX,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
787 MOV EAX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
78a MOV EDI,[EAX + #4]
78d NullCheck EAX
78d
78d B208: # B1821 B209 <- B207 Freq: 809.342
78d CMPu EDI,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
793 Jne,u B1821 P=0.000000 C=-1.000000
793
799 B209: # B1820 B210 <- B208 Freq: 809.342
799 MOV ECX,[ESP + #40]
79d MOV EBX,[ECX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
7a0 TEST EBX,EBX
7a2 Jeq B1820 P=0.000001 C=-1.000000
7a2
7a8 B210: # B1819 B211 <- B209 Freq: 809.341
7a8 MOV EBX,[ESP + #44]
7ac MOV EBX,[EBX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
7af MOV ECX,[EBX + #8]
7b2 NullCheck EBX
7b2
7b2 B211: # B1818 B212 <- B210 Freq: 809.34
7b2 CMPu ECX,#15
7b5 Jle,u B1818 P=0.000001 C=-1.000000
7b5
7bb B212: # B1817 B213 <- B211 Freq: 809.339
7bb MOV ECX,[EBX + #72]
7be MOV EBX,[ECX + #4]
7c1 NullCheck ECX
7c1
7c1 B213: # B1816 B214 <- B212 Freq: 809.338
7c1 CMPu EBX,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
7c7 Jne,u B1816 P=0.000000 C=-1.000000
7c7
7cd B214: # B1815 B215 <- B213 Freq: 809.338
7cd #checkcastPP of ECX
7cd MOV EAX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
7d0 MEMBAR-acquire
7d0 MOV EDI,[EAX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
7d3 NullCheck EAX
7d3
7d3 B215: # B1814 B216 <- B214 Freq: 809.337
7d3 MOV EDX,[ESP + #48]
7d7 MOV EDX,[EDX + #56] ! Field org/jruby/RubyModule.generation
7da MOV EBX,[EDX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
7dd NullCheck EDX
7dd
7dd B216: # B1020 B217 <- B215 Freq: 809.337
7dd MEMBAR-acquire
7dd CMP EDI,EBX
7df Jne B1020 P=0.000000 C=6701.000000
7df
7e5 B217: # B218 <- B216 Freq: 809.336
7e5 MOV EAX,[EAX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
7e5
7e8 B218: # B1812 B219 <- B217 B1021 Freq: 809.337
7e8 MOV ECX,[EAX + #4]
7eb NullCheck EAX
7eb
7eb B219: # B1811 B220 <- B218 Freq: 809.336
7eb CMPu ECX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
7f1 Jne,u B1811 P=0.000001 C=-1.000000
7f1
7f7 B220: # B1810 B221 <- B219 Freq: 809.335
7f7 #checkcastPP of EAX
7f7 MOV EDI,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
7fd MOV EBX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
800 MOV ECX,[EBX + #4]
803 NullCheck EBX
803
803 B221: # B1809 B222 <- B220 Freq: 809.334
803 CMPu ECX,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
809 Jne,u B1809 P=0.000000 C=-1.000000
809
80f B222: # B1808 B223 <- B221 Freq: 809.334
80f MOV EBX,[ESP + #40]
813 MOV EDI,[EBX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
816 TEST EDI,EDI
818 Jeq B1808 P=0.000001 C=-1.000000
818
81e B223: # B1807 B224 <- B222 Freq: 809.333
81e MOV ECX,[ESP + #44]
822 MOV EDI,[ECX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
825 MOV EBX,[EDI + #8]
828 NullCheck EDI
828
828 B224: # B1806 B225 <- B223 Freq: 809.333
828 CMPu EBX,#16
82b Jle,u B1806 P=0.000001 C=-1.000000
82b
831 B225: # B1805 B226 <- B224 Freq: 809.332
831 MOV ECX,[EDI + #76]
834 MOV EDI,[ECX + #4]
837 NullCheck ECX
837
837 B226: # B1804 B227 <- B225 Freq: 809.331
837 CMPu EDI,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
83d Jne,u B1804 P=0.000000 C=-1.000000
83d
843 B227: # B1803 B228 <- B226 Freq: 809.331
843 #checkcastPP of ECX
843 MOV EBX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
846 MEMBAR-acquire
846 MOV ESI,[EBX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
849 NullCheck EBX
849
849 B228: # B1802 B229 <- B227 Freq: 809.33
849 MOV EDI,[ESP + #48]
84d MOV EAX,[EDI + #56] ! Field org/jruby/RubyModule.generation
850 MOV EDI,[EAX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
853 NullCheck EAX
853
853 B229: # B1022 B230 <- B228 Freq: 809.329
853 MEMBAR-acquire
853 CMP ESI,EDI
855 Jne B1022 P=0.000000 C=6701.000000
855
85b B230: # B231 <- B229 Freq: 809.329
85b MOV EAX,[EBX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
85b
85e B231: # B1800 B232 <- B230 B1023 Freq: 809.329
85e MOV EBX,[EAX + #4]
861 NullCheck EAX
861
861 B232: # B1799 B233 <- B231 Freq: 809.328
861 CMPu EBX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
867 Jne,u B1799 P=0.000001 C=-1.000000
867
86d B233: # B1798 B234 <- B232 Freq: 809.328
86d #checkcastPP of EAX
86d MOV EBX,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
873 MOV EAX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
876 MOV EDI,[EAX + #4]
879 NullCheck EAX
879
879 B234: # B1797 B235 <- B233 Freq: 809.327
879 CMPu EDI,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
87f Jne,u B1797 P=0.000000 C=-1.000000
87f
885 B235: # B1796 B236 <- B234 Freq: 809.327
885 MOV ECX,[ESP + #40]
889 MOV EBX,[ECX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
88c TEST EBX,EBX
88e Jeq B1796 P=0.000001 C=-1.000000
88e
894 B236: # B1795 B237 <- B235 Freq: 809.326
894 MOV EBX,[ESP + #44]
898 MOV EBX,[EBX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
89b MOV ECX,[EBX + #8]
89e NullCheck EBX
89e
89e B237: # B1794 B238 <- B236 Freq: 809.325
89e CMPu ECX,#17
8a1 Jle,u B1794 P=0.000001 C=-1.000000
8a1
8a7 B238: # B1793 B239 <- B237 Freq: 809.324
8a7 MOV ECX,[EBX + #80]
8aa MOV EBX,[ECX + #4]
8ad NullCheck ECX
8ad
8ad B239: # B1792 B240 <- B238 Freq: 809.324
8ad CMPu EBX,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
8b3 Jne,u B1792 P=0.000000 C=-1.000000
8b3
8b9 B240: # B1791 B241 <- B239 Freq: 809.324
8b9 #checkcastPP of ECX
8b9 MOV EAX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
8bc MEMBAR-acquire
8bc MOV EDI,[EAX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
8bf NullCheck EAX
8bf
8bf B241: # B1790 B242 <- B240 Freq: 809.323
8bf MOV EDX,[ESP + #48]
8c3 MOV EDX,[EDX + #56] ! Field org/jruby/RubyModule.generation
8c6 MOV EBX,[EDX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
8c9 NullCheck EDX
8c9
8c9 B242: # B1024 B243 <- B241 Freq: 809.322
8c9 MEMBAR-acquire
8c9 CMP EDI,EBX
8cb Jne B1024 P=0.000000 C=6701.000000
8cb
8d1 B243: # B244 <- B242 Freq: 809.322
8d1 MOV EAX,[EAX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
8d1
8d4 B244: # B1788 B245 <- B243 B1025 Freq: 809.322
8d4 MOV ECX,[EAX + #4]
8d7 NullCheck EAX
8d7
8d7 B245: # B1787 B246 <- B244 Freq: 809.321
8d7 CMPu ECX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
8dd Jne,u B1787 P=0.000001 C=-1.000000
8dd
8e3 B246: # B1786 B247 <- B245 Freq: 809.32
8e3 #checkcastPP of EAX
8e3 MOV EDI,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
8e9 MOV EBX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
8ec MOV ECX,[EBX + #4]
8ef NullCheck EBX
8ef
8ef B247: # B1785 B248 <- B246 Freq: 809.319
8ef CMPu ECX,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
8f5 Jne,u B1785 P=0.000000 C=-1.000000
8f5
8fb B248: # B1784 B249 <- B247 Freq: 809.319
8fb MOV EBX,[ESP + #40]
8ff MOV EDI,[EBX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
902 TEST EDI,EDI
904 Jeq B1784 P=0.000001 C=-1.000000
904
90a B249: # B1783 B250 <- B248 Freq: 809.319
90a MOV ECX,[ESP + #44]
90e MOV EDI,[ECX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
911 MOV EBX,[EDI + #8]
914 NullCheck EDI
914
914 B250: # B1782 B251 <- B249 Freq: 809.318
914 CMPu EBX,#18
917 Jle,u B1782 P=0.000001 C=-1.000000
917
91d B251: # B1781 B252 <- B250 Freq: 809.317
91d MOV ECX,[EDI + #84]
920 MOV EDI,[ECX + #4]
923 NullCheck ECX
923
923 B252: # B1780 B253 <- B251 Freq: 809.316
923 CMPu EDI,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
929 Jne,u B1780 P=0.000000 C=-1.000000
929
92f B253: # B1779 B254 <- B252 Freq: 809.316
92f #checkcastPP of ECX
92f MOV EBX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
932 MEMBAR-acquire
932 MOV ESI,[EBX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
935 NullCheck EBX
935
935 B254: # B1778 B255 <- B253 Freq: 809.315
935 MOV EDI,[ESP + #48]
939 MOV EAX,[EDI + #56] ! Field org/jruby/RubyModule.generation
93c MOV EDI,[EAX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
93f NullCheck EAX
93f
93f B255: # B1026 B256 <- B254 Freq: 809.315
93f MEMBAR-acquire
93f CMP ESI,EDI
941 Jne B1026 P=0.000000 C=6701.000000
941
947 B256: # B257 <- B255 Freq: 809.314
947 MOV EAX,[EBX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
947
94a B257: # B1776 B258 <- B256 B1027 Freq: 809.315
94a MOV EBX,[EAX + #4]
94d NullCheck EAX
94d
94d B258: # B1775 B259 <- B257 Freq: 809.314
94d CMPu EBX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
953 Jne,u B1775 P=0.000001 C=-1.000000
953
959 B259: # B1774 B260 <- B258 Freq: 809.313
959 #checkcastPP of EAX
959 MOV EBX,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
95f MOV EAX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
962 MOV EDI,[EAX + #4]
965 NullCheck EAX
965
965 B260: # B1773 B261 <- B259 Freq: 809.312
965 CMPu EDI,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
96b Jne,u B1773 P=0.000000 C=-1.000000
96b
971 B261: # B1772 B262 <- B260 Freq: 809.312
971 MOV ECX,[ESP + #40]
975 MOV EBX,[ECX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
978 TEST EBX,EBX
97a Jeq B1772 P=0.000001 C=-1.000000
97a
980 B262: # B1771 B263 <- B261 Freq: 809.311
980 MOV EBX,[ESP + #44]
984 MOV EBX,[EBX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
987 MOV ECX,[EBX + #8]
98a NullCheck EBX
98a
98a B263: # B1770 B264 <- B262 Freq: 809.31
98a CMPu ECX,#19
98d Jle,u B1770 P=0.000001 C=-1.000000
98d
993 B264: # B1769 B265 <- B263 Freq: 809.31
993 MOV ECX,[EBX + #88]
996 MOV EBX,[ECX + #4]
999 NullCheck ECX
999
999 B265: # B1768 B266 <- B264 Freq: 809.309
999 CMPu EBX,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
99f Jne,u B1768 P=0.000000 C=-1.000000
99f
9a5 B266: # B1767 B267 <- B265 Freq: 809.309
9a5 #checkcastPP of ECX
9a5 MOV EAX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
9a8 MEMBAR-acquire
9a8 MOV EDI,[EAX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
9ab NullCheck EAX
9ab
9ab B267: # B1766 B268 <- B266 Freq: 809.308
9ab MOV EDX,[ESP + #48]
9af MOV EDX,[EDX + #56] ! Field org/jruby/RubyModule.generation
9b2 MOV EBX,[EDX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
9b5 NullCheck EDX
9b5
9b5 B268: # B1028 B269 <- B267 Freq: 809.307
9b5 MEMBAR-acquire
9b5 CMP EDI,EBX
9b7 Jne B1028 P=0.000000 C=6701.000000
9b7
9bd B269: # B270 <- B268 Freq: 809.307
9bd MOV EAX,[EAX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
9bd
9c0 B270: # B1764 B271 <- B269 B1029 Freq: 809.307
9c0 MOV ECX,[EAX + #4]
9c3 NullCheck EAX
9c3
9c3 B271: # B1763 B272 <- B270 Freq: 809.306
9c3 CMPu ECX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
9c9 Jne,u B1763 P=0.000001 C=-1.000000
9c9
9cf B272: # B1762 B273 <- B271 Freq: 809.305
9cf #checkcastPP of EAX
9cf MOV EDI,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
9d5 MOV EBX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
9d8 MOV ECX,[EBX + #4]
9db NullCheck EBX
9db
9db B273: # B1761 B274 <- B272 Freq: 809.305
9db CMPu ECX,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
9e1 Jne,u B1761 P=0.000000 C=-1.000000
9e1
9e7 B274: # B1760 B275 <- B273 Freq: 809.305
9e7 MOV EBX,[ESP + #40]
9eb MOV EDI,[EBX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
9ee TEST EDI,EDI
9f0 Jeq B1760 P=0.000001 C=-1.000000
9f0
9f6 B275: # B1759 B276 <- B274 Freq: 809.304
9f6 MOV ECX,[ESP + #44]
9fa MOV EDI,[ECX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
9fd MOV EBX,[EDI + #8]
a00 NullCheck EDI
a00
a00 B276: # B1758 B277 <- B275 Freq: 809.303
a00 CMPu EBX,#20
a03 Jle,u B1758 P=0.000001 C=-1.000000
a03
a09 B277: # B1757 B278 <- B276 Freq: 809.302
a09 MOV ECX,[EDI + #92]
a0c MOV EDI,[ECX + #4]
a0f NullCheck ECX
a0f
a0f B278: # B1756 B279 <- B277 Freq: 809.301
a0f CMPu EDI,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
a15 Jne,u B1756 P=0.000000 C=-1.000000
a15
a1b B279: # B1755 B280 <- B278 Freq: 809.301
a1b #checkcastPP of ECX
a1b MOV EBX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
a1e MEMBAR-acquire
a1e MOV ESI,[EBX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
a21 NullCheck EBX
a21
a21 B280: # B1754 B281 <- B279 Freq: 809.301
a21 MOV EDI,[ESP + #48]
a25 MOV EAX,[EDI + #56] ! Field org/jruby/RubyModule.generation
a28 MOV EDI,[EAX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
a2b NullCheck EAX
a2b
a2b B281: # B1030 B282 <- B280 Freq: 809.3
a2b MEMBAR-acquire
a2b CMP ESI,EDI
a2d Jne B1030 P=0.000000 C=6701.000000
a2d
a33 B282: # B283 <- B281 Freq: 809.299
a33 MOV EAX,[EBX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
a33
a36 B283: # B1752 B284 <- B282 B1031 Freq: 809.3
a36 MOV EBX,[EAX + #4]
a39 NullCheck EAX
a39
a39 B284: # B1751 B285 <- B283 Freq: 809.299
a39 CMPu EBX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
a3f Jne,u B1751 P=0.000001 C=-1.000000
a3f
a45 B285: # B1750 B286 <- B284 Freq: 809.298
a45 #checkcastPP of EAX
a45 MOV EBX,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
a4b MOV EAX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
a4e MOV EDI,[EAX + #4]
a51 NullCheck EAX
a51
a51 B286: # B1749 B287 <- B285 Freq: 809.297
a51 CMPu EDI,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
a57 Jne,u B1749 P=0.000000 C=-1.000000
a57
a5d B287: # B1748 B288 <- B286 Freq: 809.297
a5d MOV ECX,[ESP + #40]
a61 MOV EBX,[ECX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
a64 TEST EBX,EBX
a66 Jeq B1748 P=0.000001 C=-1.000000
a66
a6c B288: # B1747 B289 <- B287 Freq: 809.296
a6c MOV EBX,[ESP + #44]
a70 MOV EBX,[EBX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
a73 MOV ECX,[EBX + #8]
a76 NullCheck EBX
a76
a76 B289: # B1746 B290 <- B288 Freq: 809.296
a76 CMPu ECX,#21
a79 Jle,u B1746 P=0.000001 C=-1.000000
a79
a7f B290: # B1745 B291 <- B289 Freq: 809.295
a7f MOV ECX,[EBX + #96]
a82 MOV EBX,[ECX + #4]
a85 NullCheck ECX
a85
a85 B291: # B1744 B292 <- B290 Freq: 809.294
a85 CMPu EBX,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
a8b Jne,u B1744 P=0.000000 C=-1.000000
a8b
a91 B292: # B1743 B293 <- B291 Freq: 809.294
a91 #checkcastPP of ECX
a91 MOV EAX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
a94 MEMBAR-acquire
a94 MOV EDI,[EAX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
a97 NullCheck EAX
a97
a97 B293: # B1742 B294 <- B292 Freq: 809.293
a97 MOV EDX,[ESP + #48]
a9b MOV EDX,[EDX + #56] ! Field org/jruby/RubyModule.generation
a9e MOV EBX,[EDX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
aa1 NullCheck EDX
aa1
aa1 B294: # B1032 B295 <- B293 Freq: 809.292
aa1 MEMBAR-acquire
aa1 CMP EDI,EBX
aa3 Jne B1032 P=0.000000 C=6701.000000
aa3
aa9 B295: # B296 <- B294 Freq: 809.292
aa9 MOV EAX,[EAX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
aa9
aac B296: # B1740 B297 <- B295 B1033 Freq: 809.292
aac MOV ECX,[EAX + #4]
aaf NullCheck EAX
aaf
aaf B297: # B1739 B298 <- B296 Freq: 809.292
aaf CMPu ECX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
ab5 Jne,u B1739 P=0.000001 C=-1.000000
ab5
abb B298: # B1738 B299 <- B297 Freq: 809.291
abb #checkcastPP of EAX
abb MOV EDI,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
ac1 MOV EBX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
ac4 MOV ECX,[EBX + #4]
ac7 NullCheck EBX
ac7
ac7 B299: # B1737 B300 <- B298 Freq: 809.29
ac7 CMPu ECX,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
acd Jne,u B1737 P=0.000000 C=-1.000000
acd
ad3 B300: # B1736 B301 <- B299 Freq: 809.29
ad3 MOV EBX,[ESP + #40]
ad7 MOV EDI,[EBX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
ada TEST EDI,EDI
adc Jeq B1736 P=0.000001 C=-1.000000
adc
ae2 B301: # B1735 B302 <- B300 Freq: 809.289
ae2 MOV ECX,[ESP + #44]
ae6 MOV EDI,[ECX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
ae9 MOV EBX,[EDI + #8]
aec NullCheck EDI
aec
aec B302: # B1734 B303 <- B301 Freq: 809.288
aec CMPu EBX,#22
aef Jle,u B1734 P=0.000001 C=-1.000000
aef
af5 B303: # B1733 B304 <- B302 Freq: 809.287
af5 MOV ECX,[EDI + #100]
af8 MOV EDI,[ECX + #4]
afb NullCheck ECX
afb
afb B304: # B1732 B305 <- B303 Freq: 809.287
afb CMPu EDI,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
b01 Jne,u B1732 P=0.000000 C=-1.000000
b01
b07 B305: # B1731 B306 <- B304 Freq: 809.287
b07 #checkcastPP of ECX
b07 MOV EBX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
b0a MEMBAR-acquire
b0a MOV ESI,[EBX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
b0d NullCheck EBX
b0d
b0d B306: # B1730 B307 <- B305 Freq: 809.286
b0d MOV EDI,[ESP + #48]
b11 MOV EAX,[EDI + #56] ! Field org/jruby/RubyModule.generation
b14 MOV EDI,[EAX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
b17 NullCheck EAX
b17
b17 B307: # B1034 B308 <- B306 Freq: 809.285
b17 MEMBAR-acquire
b17 CMP ESI,EDI
b19 Jne B1034 P=0.000000 C=6701.000000
b19
b1f B308: # B309 <- B307 Freq: 809.285
b1f MOV EAX,[EBX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
b1f
b22 B309: # B1728 B310 <- B308 B1035 Freq: 809.285
b22 MOV EBX,[EAX + #4]
b25 NullCheck EAX
b25
b25 B310: # B1727 B311 <- B309 Freq: 809.284
b25 CMPu EBX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
b2b Jne,u B1727 P=0.000001 C=-1.000000
b2b
b31 B311: # B1726 B312 <- B310 Freq: 809.283
b31 #checkcastPP of EAX
b31 MOV EBX,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
b37 MOV EAX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
b3a MOV EDI,[EAX + #4]
b3d NullCheck EAX
b3d
b3d B312: # B1725 B313 <- B311 Freq: 809.283
b3d CMPu EDI,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
b43 Jne,u B1725 P=0.000000 C=-1.000000
b43
b49 B313: # B1724 B314 <- B312 Freq: 809.283
b49 MOV ECX,[ESP + #40]
b4d MOV EBX,[ECX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
b50 TEST EBX,EBX
b52 Jeq B1724 P=0.000001 C=-1.000000
b52
b58 B314: # B1723 B315 <- B313 Freq: 809.282
b58 MOV EBX,[ESP + #44]
b5c MOV EBX,[EBX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
b5f MOV ECX,[EBX + #8]
b62 NullCheck EBX
b62
b62 B315: # B1722 B316 <- B314 Freq: 809.281
b62 CMPu ECX,#23
b65 Jle,u B1722 P=0.000001 C=-1.000000
b65
b6b B316: # B1721 B317 <- B315 Freq: 809.28
b6b MOV ECX,[EBX + #104]
b6e MOV EBX,[ECX + #4]
b71 NullCheck ECX
b71
b71 B317: # B1720 B318 <- B316 Freq: 809.279
b71 CMPu EBX,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
b77 Jne,u B1720 P=0.000000 C=-1.000000
b77
b7d B318: # B1719 B319 <- B317 Freq: 809.279
b7d #checkcastPP of ECX
b7d MOV EAX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
b80 MEMBAR-acquire
b80 MOV EDI,[EAX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
b83 NullCheck EAX
b83
b83 B319: # B1718 B320 <- B318 Freq: 809.278
b83 MOV EDX,[ESP + #48]
b87 MOV EDX,[EDX + #56] ! Field org/jruby/RubyModule.generation
b8a MOV EBX,[EDX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
b8d NullCheck EDX
b8d
b8d B320: # B1036 B321 <- B319 Freq: 809.278
b8d MEMBAR-acquire
b8d CMP EDI,EBX
b8f Jne B1036 P=0.000000 C=6701.000000
b8f
b95 B321: # B322 <- B320 Freq: 809.277
b95 MOV EAX,[EAX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
b95
b98 B322: # B1716 B323 <- B321 B1037 Freq: 809.278
b98 MOV ECX,[EAX + #4]
b9b NullCheck EAX
b9b
b9b B323: # B1715 B324 <- B322 Freq: 809.277
b9b CMPu ECX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
ba1 Jne,u B1715 P=0.000001 C=-1.000000
ba1
ba7 B324: # B1714 B325 <- B323 Freq: 809.276
ba7 #checkcastPP of EAX
ba7 MOV EDI,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
bad MOV EBX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
bb0 MOV ECX,[EBX + #4]
bb3 NullCheck EBX
bb3
bb3 B325: # B1713 B326 <- B324 Freq: 809.275
bb3 CMPu ECX,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
bb9 Jne,u B1713 P=0.000000 C=-1.000000
bb9
bbf B326: # B1712 B327 <- B325 Freq: 809.275
bbf MOV EBX,[ESP + #40]
bc3 MOV EDI,[EBX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
bc6 TEST EDI,EDI
bc8 Jeq B1712 P=0.000001 C=-1.000000
bc8
bce B327: # B1711 B328 <- B326 Freq: 809.274
bce MOV ECX,[ESP + #44]
bd2 MOV EDI,[ECX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
bd5 MOV EBX,[EDI + #8]
bd8 NullCheck EDI
bd8
bd8 B328: # B1710 B329 <- B327 Freq: 809.273
bd8 CMPu EBX,#24
bdb Jle,u B1710 P=0.000001 C=-1.000000
bdb
be1 B329: # B1709 B330 <- B328 Freq: 809.273
be1 MOV ECX,[EDI + #108]
be4 MOV EDI,[ECX + #4]
be7 NullCheck ECX
be7
be7 B330: # B1708 B331 <- B329 Freq: 809.272
be7 CMPu EDI,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
bed Jne,u B1708 P=0.000000 C=-1.000000
bed
bf3 B331: # B1707 B332 <- B330 Freq: 809.272
bf3 #checkcastPP of ECX
bf3 MOV EBX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
bf6 MEMBAR-acquire
bf6 MOV ESI,[EBX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
bf9 NullCheck EBX
bf9
bf9 B332: # B1706 B333 <- B331 Freq: 809.271
bf9 MOV EDI,[ESP + #48]
bfd MOV EAX,[EDI + #56] ! Field org/jruby/RubyModule.generation
c00 MOV EDI,[EAX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
c03 NullCheck EAX
c03
c03 B333: # B1038 B334 <- B332 Freq: 809.27
c03 MEMBAR-acquire
c03 CMP ESI,EDI
c05 Jne B1038 P=0.000000 C=6701.000000
c05
c0b B334: # B335 <- B333 Freq: 809.27
c0b MOV EAX,[EBX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
c0b
c0e B335: # B1704 B336 <- B334 B1039 Freq: 809.27
c0e MOV EBX,[EAX + #4]
c11 NullCheck EAX
c11
c11 B336: # B1703 B337 <- B335 Freq: 809.269
c11 CMPu EBX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
c17 Jne,u B1703 P=0.000001 C=-1.000000
c17
c1d B337: # B1702 B338 <- B336 Freq: 809.269
c1d #checkcastPP of EAX
c1d MOV EBX,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
c23 MOV EAX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
c26 MOV EDI,[EAX + #4]
c29 NullCheck EAX
c29
c29 B338: # B1701 B339 <- B337 Freq: 809.268
c29 CMPu EDI,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
c2f Jne,u B1701 P=0.000000 C=-1.000000
c2f
c35 B339: # B1700 B340 <- B338 Freq: 809.268
c35 MOV ECX,[ESP + #40]
c39 MOV EBX,[ECX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
c3c TEST EBX,EBX
c3e Jeq B1700 P=0.000001 C=-1.000000
c3e
c44 B340: # B1699 B341 <- B339 Freq: 809.267
c44 MOV EBX,[ESP + #44]
c48 MOV EBX,[EBX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
c4b MOV ECX,[EBX + #8]
c4e NullCheck EBX
c4e
c4e B341: # B1698 B342 <- B340 Freq: 809.266
c4e CMPu ECX,#25
c51 Jle,u B1698 P=0.000001 C=-1.000000
c51
c57 B342: # B1697 B343 <- B341 Freq: 809.265
c57 MOV ECX,[EBX + #112]
c5a MOV EBX,[ECX + #4]
c5d NullCheck ECX
c5d
c5d B343: # B1696 B344 <- B342 Freq: 809.264
c5d CMPu EBX,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
c63 Jne,u B1696 P=0.000000 C=-1.000000
c63
c69 B344: # B1695 B345 <- B343 Freq: 809.264
c69 #checkcastPP of ECX
c69 MOV EAX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
c6c MEMBAR-acquire
c6c MOV EDI,[EAX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
c6f NullCheck EAX
c6f
c6f B345: # B1694 B346 <- B344 Freq: 809.264
c6f MOV EDX,[ESP + #48]
c73 MOV EDX,[EDX + #56] ! Field org/jruby/RubyModule.generation
c76 MOV EBX,[EDX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
c79 NullCheck EDX
c79
c79 B346: # B1040 B347 <- B345 Freq: 809.263
c79 MEMBAR-acquire
c79 CMP EDI,EBX
c7b Jne B1040 P=0.000000 C=6701.000000
c7b
c81 B347: # B348 <- B346 Freq: 809.262
c81 MOV EAX,[EAX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
c81
c84 B348: # B1692 B349 <- B347 B1041 Freq: 809.263
c84 MOV ECX,[EAX + #4]
c87 NullCheck EAX
c87
c87 B349: # B1691 B350 <- B348 Freq: 809.262
c87 CMPu ECX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
c8d Jne,u B1691 P=0.000001 C=-1.000000
c8d
c93 B350: # B1690 B351 <- B349 Freq: 809.261
c93 #checkcastPP of EAX
c93 MOV EDI,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
c99 MOV EBX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
c9c MOV ECX,[EBX + #4]
c9f NullCheck EBX
c9f
c9f B351: # B1689 B352 <- B350 Freq: 809.26
c9f CMPu ECX,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
ca5 Jne,u B1689 P=0.000000 C=-1.000000
ca5
cab B352: # B1688 B353 <- B351 Freq: 809.26
cab MOV EBX,[ESP + #40]
caf MOV EDI,[EBX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
cb2 TEST EDI,EDI
cb4 Jeq B1688 P=0.000001 C=-1.000000
cb4
cba B353: # B1687 B354 <- B352 Freq: 809.26
cba MOV ECX,[ESP + #44]
cbe MOV EDI,[ECX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
cc1 MOV EBX,[EDI + #8]
cc4 NullCheck EDI
cc4
cc4 B354: # B1686 B355 <- B353 Freq: 809.259
cc4 CMPu EBX,#26
cc7 Jle,u B1686 P=0.000001 C=-1.000000
cc7
ccd B355: # B1685 B356 <- B354 Freq: 809.258
ccd MOV ECX,[EDI + #116]
cd0 MOV EDI,[ECX + #4]
cd3 NullCheck ECX
cd3
cd3 B356: # B1684 B357 <- B355 Freq: 809.257
cd3 CMPu EDI,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
cd9 Jne,u B1684 P=0.000000 C=-1.000000
cd9
cdf B357: # B1683 B358 <- B356 Freq: 809.257
cdf #checkcastPP of ECX
cdf MOV EBX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
ce2 MEMBAR-acquire
ce2 MOV ESI,[EBX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
ce5 NullCheck EBX
ce5
ce5 B358: # B1682 B359 <- B357 Freq: 809.256
ce5 MOV EDI,[ESP + #48]
ce9 MOV EAX,[EDI + #56] ! Field org/jruby/RubyModule.generation
cec MOV EDI,[EAX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
cef NullCheck EAX
cef
cef B359: # B1042 B360 <- B358 Freq: 809.255
cef MEMBAR-acquire
cef CMP ESI,EDI
cf1 Jne B1042 P=0.000000 C=6701.000000
cf1
cf7 B360: # B361 <- B359 Freq: 809.255
cf7 MOV EAX,[EBX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
cf7
cfa B361: # B1680 B362 <- B360 B1043 Freq: 809.255
cfa MOV EBX,[EAX + #4]
cfd NullCheck EAX
cfd
cfd B362: # B1679 B363 <- B361 Freq: 809.255
cfd CMPu EBX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
d03 Jne,u B1679 P=0.000001 C=-1.000000
d03
d09 B363: # B1678 B364 <- B362 Freq: 809.254
d09 #checkcastPP of EAX
d09 MOV EBX,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
d0f MOV EAX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
d12 MOV EDI,[EAX + #4]
d15 NullCheck EAX
d15
d15 B364: # B1677 B365 <- B363 Freq: 809.253
d15 CMPu EDI,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
d1b Jne,u B1677 P=0.000000 C=-1.000000
d1b
d21 B365: # B1676 B366 <- B364 Freq: 809.253
d21 MOV ECX,[ESP + #40]
d25 MOV EBX,[ECX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
d28 TEST EBX,EBX
d2a Jeq B1676 P=0.000001 C=-1.000000
d2a
d30 B366: # B1675 B367 <- B365 Freq: 809.252
d30 MOV EBX,[ESP + #44]
d34 MOV EBX,[EBX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
d37 MOV ECX,[EBX + #8]
d3a NullCheck EBX
d3a
d3a B367: # B1674 B368 <- B366 Freq: 809.251
d3a CMPu ECX,#27
d3d Jle,u B1674 P=0.000001 C=-1.000000
d3d
d43 B368: # B1673 B369 <- B367 Freq: 809.251
d43 MOV ECX,[EBX + #120]
d46 MOV EBX,[ECX + #4]
d49 NullCheck ECX
d49
d49 B369: # B1672 B370 <- B368 Freq: 809.25
d49 CMPu EBX,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
d4f Jne,u B1672 P=0.000000 C=-1.000000
d4f
d55 B370: # B1671 B371 <- B369 Freq: 809.25
d55 #checkcastPP of ECX
d55 MOV EAX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
d58 MEMBAR-acquire
d58 MOV EDI,[EAX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
d5b NullCheck EAX
d5b
d5b B371: # B1670 B372 <- B370 Freq: 809.249
d5b MOV EDX,[ESP + #48]
d5f MOV EDX,[EDX + #56] ! Field org/jruby/RubyModule.generation
d62 MOV EBX,[EDX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
d65 NullCheck EDX
d65
d65 B372: # B1044 B373 <- B371 Freq: 809.248
d65 MEMBAR-acquire
d65 CMP EDI,EBX
d67 Jne B1044 P=0.000000 C=6701.000000
d67
d6d B373: # B374 <- B372 Freq: 809.248
d6d MOV EAX,[EAX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
d6d
d70 B374: # B1668 B375 <- B373 B1045 Freq: 809.248
d70 MOV ECX,[EAX + #4]
d73 NullCheck EAX
d73
d73 B375: # B1667 B376 <- B374 Freq: 809.247
d73 CMPu ECX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
d79 Jne,u B1667 P=0.000001 C=-1.000000
d79
d7f B376: # B1666 B377 <- B375 Freq: 809.246
d7f #checkcastPP of EAX
d7f MOV EDI,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
d85 MOV EBX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
d88 MOV ECX,[EBX + #4]
d8b NullCheck EBX
d8b
d8b B377: # B1665 B378 <- B376 Freq: 809.246
d8b CMPu ECX,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
d91 Jne,u B1665 P=0.000000 C=-1.000000
d91
d97 B378: # B1664 B379 <- B377 Freq: 809.246
d97 MOV EBX,[ESP + #40]
d9b MOV EDI,[EBX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
d9e TEST EDI,EDI
da0 Jeq B1664 P=0.000001 C=-1.000000
da0
da6 B379: # B1663 B380 <- B378 Freq: 809.245
da6 MOV ECX,[ESP + #44]
daa MOV EDI,[ECX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
dad MOV EBX,[EDI + #8]
db0 NullCheck EDI
db0
db0 B380: # B1662 B381 <- B379 Freq: 809.244
db0 CMPu EBX,#28
db3 Jle,u B1662 P=0.000001 C=-1.000000
db3
db9 B381: # B1661 B382 <- B380 Freq: 809.243
db9 MOV ECX,[EDI + #124]
dbc MOV EDI,[ECX + #4]
dbf NullCheck ECX
dbf
dbf B382: # B1660 B383 <- B381 Freq: 809.242
dbf CMPu EDI,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
dc5 Jne,u B1660 P=0.000000 C=-1.000000
dc5
dcb B383: # B1659 B384 <- B382 Freq: 809.242
dcb #checkcastPP of ECX
dcb MOV EBX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
dce MEMBAR-acquire
dce MOV ESI,[EBX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
dd1 NullCheck EBX
dd1
dd1 B384: # B1658 B385 <- B383 Freq: 809.242
dd1 MOV EDI,[ESP + #48]
dd5 MOV EAX,[EDI + #56] ! Field org/jruby/RubyModule.generation
dd8 MOV EDI,[EAX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
ddb NullCheck EAX
ddb
ddb B385: # B1046 B386 <- B384 Freq: 809.241
ddb MEMBAR-acquire
ddb CMP ESI,EDI
ddd Jne B1046 P=0.000000 C=6701.000000
ddd
de3 B386: # B387 <- B385 Freq: 809.24
de3 MOV EAX,[EBX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
de3
de6 B387: # B1656 B388 <- B386 B1047 Freq: 809.241
de6 MOV EBX,[EAX + #4]
de9 NullCheck EAX
de9
de9 B388: # B1655 B389 <- B387 Freq: 809.24
de9 CMPu EBX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
def Jne,u B1655 P=0.000001 C=-1.000000
def
df5 B389: # B1654 B390 <- B388 Freq: 809.239
df5 #checkcastPP of EAX
df5 MOV EBX,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
dfb MOV EAX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
dfe MOV EDI,[EAX + #4]
e01 NullCheck EAX
e01
e01 B390: # B1653 B391 <- B389 Freq: 809.238
e01 CMPu EDI,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
e07 Jne,u B1653 P=0.000000 C=-1.000000
e07
e0d B391: # B1652 B392 <- B390 Freq: 809.238
e0d MOV ECX,[ESP + #40]
e11 MOV EBX,[ECX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
e14 TEST EBX,EBX
e16 Jeq B1652 P=0.000001 C=-1.000000
e16
e1c B392: # B1651 B393 <- B391 Freq: 809.237
e1c MOV EBX,[ESP + #44]
e20 MOV EBX,[EBX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
e23 MOV ECX,[EBX + #8]
e26 NullCheck EBX
e26
e26 B393: # B1650 B394 <- B392 Freq: 809.237
e26 CMPu ECX,#29
e29 Jle,u B1650 P=0.000001 C=-1.000000
e29
e2f B394: # B1649 B395 <- B393 Freq: 809.236
e2f MOV ECX,[EBX + #128]
e35 MOV EBX,[ECX + #4]
e38 NullCheck ECX
e38
e38 B395: # B1648 B396 <- B394 Freq: 809.235
e38 CMPu EBX,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
e3e Jne,u B1648 P=0.000000 C=-1.000000
e3e
e44 B396: # B1647 B397 <- B395 Freq: 809.235
e44 #checkcastPP of ECX
e44 MOV EAX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
e47 MEMBAR-acquire
e47 MOV EDI,[EAX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
e4a NullCheck EAX
e4a
e4a B397: # B1646 B398 <- B396 Freq: 809.234
e4a MOV EDX,[ESP + #48]
e4e MOV EDX,[EDX + #56] ! Field org/jruby/RubyModule.generation
e51 MOV EBX,[EDX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
e54 NullCheck EDX
e54
e54 B398: # B1048 B399 <- B397 Freq: 809.233
e54 MEMBAR-acquire
e54 CMP EDI,EBX
e56 Jne B1048 P=0.000000 C=6701.000000
e56
e5c B399: # B400 <- B398 Freq: 809.233
e5c MOV EAX,[EAX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
e5c
e5f B400: # B1644 B401 <- B399 B1049 Freq: 809.233
e5f MOV ECX,[EAX + #4]
e62 NullCheck EAX
e62
e62 B401: # B1643 B402 <- B400 Freq: 809.232
e62 CMPu ECX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
e68 Jne,u B1643 P=0.000001 C=-1.000000
e68
e6e B402: # B1642 B403 <- B401 Freq: 809.232
e6e #checkcastPP of EAX
e6e MOV EDI,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
e74 MOV EBX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
e77 MOV ECX,[EBX + #4]
e7a NullCheck EBX
e7a
e7a B403: # B1641 B404 <- B402 Freq: 809.231
e7a CMPu ECX,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
e80 Jne,u B1641 P=0.000000 C=-1.000000
e80
e86 B404: # B1640 B405 <- B403 Freq: 809.231
e86 MOV EBX,[ESP + #40]
e8a MOV EDI,[EBX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
e8d TEST EDI,EDI
e8f Jeq B1640 P=0.000001 C=-1.000000
e8f
e95 B405: # B1639 B406 <- B404 Freq: 809.23
e95 MOV ECX,[ESP + #44]
e99 MOV EDI,[ECX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
e9c MOV EBX,[EDI + #8]
e9f NullCheck EDI
e9f
e9f B406: # B1638 B407 <- B405 Freq: 809.229
e9f CMPu EBX,#30
ea2 Jle,u B1638 P=0.000001 C=-1.000000
ea2
ea8 B407: # B1637 B408 <- B406 Freq: 809.228
ea8 MOV ECX,[EDI + #132]
eae MOV EDI,[ECX + #4]
eb1 NullCheck ECX
eb1
eb1 B408: # B1636 B409 <- B407 Freq: 809.228
eb1 CMPu EDI,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
eb7 Jne,u B1636 P=0.000000 C=-1.000000
eb7
ebd B409: # B1635 B410 <- B408 Freq: 809.228
ebd #checkcastPP of ECX
ebd MOV EBX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
ec0 MEMBAR-acquire
ec0 MOV ESI,[EBX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
ec3 NullCheck EBX
ec3
ec3 B410: # B1634 B411 <- B409 Freq: 809.227
ec3 MOV EDI,[ESP + #48]
ec7 MOV EAX,[EDI + #56] ! Field org/jruby/RubyModule.generation
eca MOV EDI,[EAX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
ecd NullCheck EAX
ecd
ecd B411: # B1050 B412 <- B410 Freq: 809.226
ecd MEMBAR-acquire
ecd CMP ESI,EDI
ecf Jne B1050 P=0.000000 C=6701.000000
ecf
ed5 B412: # B413 <- B411 Freq: 809.226
ed5 MOV EAX,[EBX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
ed5
ed8 B413: # B1632 B414 <- B412 B1051 Freq: 809.226
ed8 MOV EBX,[EAX + #4]
edb NullCheck EAX
edb
edb B414: # B1631 B415 <- B413 Freq: 809.225
edb CMPu EBX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
ee1 Jne,u B1631 P=0.000001 C=-1.000000
ee1
ee7 B415: # B1630 B416 <- B414 Freq: 809.224
ee7 #checkcastPP of EAX
ee7 MOV EBX,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
eed MOV EAX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
ef0 MOV EDI,[EAX + #4]
ef3 NullCheck EAX
ef3
ef3 B416: # B1629 B417 <- B415 Freq: 809.223
ef3 CMPu EDI,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
ef9 Jne,u B1629 P=0.000000 C=-1.000000
ef9
eff B417: # B1628 B418 <- B416 Freq: 809.223
eff MOV ECX,[ESP + #40]
f03 MOV EBX,[ECX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
f06 TEST EBX,EBX
f08 Jeq B1628 P=0.000001 C=-1.000000
f08
f0e B418: # B1627 B419 <- B417 Freq: 809.223
f0e MOV EBX,[ESP + #44]
f12 MOV EBX,[EBX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
f15 MOV ECX,[EBX + #8]
f18 NullCheck EBX
f18
f18 B419: # B1626 B420 <- B418 Freq: 809.222
f18 CMPu ECX,#31
f1b Jle,u B1626 P=0.000001 C=-1.000000
f1b
f21 B420: # B1625 B421 <- B419 Freq: 809.221
f21 MOV ECX,[EBX + #136]
f27 MOV EBX,[ECX + #4]
f2a NullCheck ECX
f2a
f2a B421: # B1624 B422 <- B420 Freq: 809.22
f2a CMPu EBX,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
f30 Jne,u B1624 P=0.000000 C=-1.000000
f30
f36 B422: # B1623 B423 <- B421 Freq: 809.22
f36 #checkcastPP of ECX
f36 MOV EAX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
f39 MEMBAR-acquire
f39 MOV EDI,[EAX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
f3c NullCheck EAX
f3c
f3c B423: # B1622 B424 <- B422 Freq: 809.219
f3c MOV EDX,[ESP + #48]
f40 MOV EDX,[EDX + #56] ! Field org/jruby/RubyModule.generation
f43 MOV EBX,[EDX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
f46 NullCheck EDX
f46
f46 B424: # B1052 B425 <- B423 Freq: 809.219
f46 MEMBAR-acquire
f46 CMP EDI,EBX
f48 Jne B1052 P=0.000000 C=6701.000000
f48
f4e B425: # B426 <- B424 Freq: 809.218
f4e MOV EAX,[EAX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
f4e
f51 B426: # B1620 B427 <- B425 B1053 Freq: 809.219
f51 MOV ECX,[EAX + #4]
f54 NullCheck EAX
f54
f54 B427: # B1619 B428 <- B426 Freq: 809.218
f54 CMPu ECX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
f5a Jne,u B1619 P=0.000001 C=-1.000000
f5a
f60 B428: # B1618 B429 <- B427 Freq: 809.217
f60 #checkcastPP of EAX
f60 MOV EDI,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
f66 MOV EBX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
f69 MOV ECX,[EBX + #4]
f6c NullCheck EBX
f6c
f6c B429: # B1617 B430 <- B428 Freq: 809.216
f6c CMPu ECX,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
f72 Jne,u B1617 P=0.000000 C=-1.000000
f72
f78 B430: # B1616 B431 <- B429 Freq: 809.216
f78 MOV EBX,[ESP + #40]
f7c MOV EDI,[EBX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
f7f TEST EDI,EDI
f81 Jeq B1616 P=0.000001 C=-1.000000
f81
f87 B431: # B1615 B432 <- B430 Freq: 809.215
f87 MOV ECX,[ESP + #44]
f8b MOV EDI,[ECX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
f8e MOV EBX,[EDI + #8]
f91 NullCheck EDI
f91
f91 B432: # B1614 B433 <- B431 Freq: 809.214
f91 CMPu EBX,#32
f94 Jle,u B1614 P=0.000001 C=-1.000000
f94
f9a B433: # B1613 B434 <- B432 Freq: 809.214
f9a MOV ECX,[EDI + #140]
fa0 MOV EDI,[ECX + #4]
fa3 NullCheck ECX
fa3
fa3 B434: # B1612 B435 <- B433 Freq: 809.213
fa3 CMPu EDI,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
fa9 Jne,u B1612 P=0.000000 C=-1.000000
fa9
faf B435: # B1611 B436 <- B434 Freq: 809.213
faf #checkcastPP of ECX
faf MOV EBX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
fb2 MEMBAR-acquire
fb2 MOV ESI,[EBX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
fb5 NullCheck EBX
fb5
fb5 B436: # B1610 B437 <- B435 Freq: 809.212
fb5 MOV EDI,[ESP + #48]
fb9 MOV EAX,[EDI + #56] ! Field org/jruby/RubyModule.generation
fbc MOV EDI,[EAX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
fbf NullCheck EAX
fbf
fbf B437: # B1054 B438 <- B436 Freq: 809.211
fbf MEMBAR-acquire
fbf CMP ESI,EDI
fc1 Jne B1054 P=0.000000 C=6701.000000
fc1
fc7 B438: # B439 <- B437 Freq: 809.211
fc7 MOV EAX,[EBX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
fc7
fca B439: # B1608 B440 <- B438 B1055 Freq: 809.211
fca MOV EBX,[EAX + #4]
fcd NullCheck EAX
fcd
fcd B440: # B1607 B441 <- B439 Freq: 809.21
fcd CMPu EBX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
fd3 Jne,u B1607 P=0.000001 C=-1.000000
fd3
fd9 B441: # B1606 B442 <- B440 Freq: 809.21
fd9 #checkcastPP of EAX
fd9 MOV EBX,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
fdf MOV EAX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
fe2 MOV EDI,[EAX + #4]
fe5 NullCheck EAX
fe5
fe5 B442: # B1605 B443 <- B441 Freq: 809.209
fe5 CMPu EDI,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
feb Jne,u B1605 P=0.000000 C=-1.000000
feb
ff1 B443: # B1604 B444 <- B442 Freq: 809.209
ff1 MOV ECX,[ESP + #40]
ff5 MOV EBX,[ECX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
ff8 TEST EBX,EBX
ffa Jeq B1604 P=0.000001 C=-1.000000
ffa
1000 B444: # B1603 B445 <- B443 Freq: 809.208
1000 MOV EBX,[ESP + #44]
1004 MOV EBX,[EBX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
1007 MOV ECX,[EBX + #8]
100a NullCheck EBX
100a
100a B445: # B1602 B446 <- B444 Freq: 809.207
100a CMPu ECX,#33
100d Jle,u B1602 P=0.000001 C=-1.000000
100d
1013 B446: # B1601 B447 <- B445 Freq: 809.206
1013 MOV ECX,[EBX + #144]
1019 MOV EBX,[ECX + #4]
101c NullCheck ECX
101c
101c B447: # B1600 B448 <- B446 Freq: 809.205
101c CMPu EBX,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
1022 Jne,u B1600 P=0.000000 C=-1.000000
1022
1028 B448: # B1599 B449 <- B447 Freq: 809.205
1028 #checkcastPP of ECX
1028 MOV EAX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
102b MEMBAR-acquire
102b MOV EDI,[EAX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
102e NullCheck EAX
102e
102e B449: # B1598 B450 <- B448 Freq: 809.205
102e MOV EDX,[ESP + #48]
1032 MOV EDX,[EDX + #56] ! Field org/jruby/RubyModule.generation
1035 MOV EBX,[EDX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
1038 NullCheck EDX
1038
1038 B450: # B1056 B451 <- B449 Freq: 809.204
1038 MEMBAR-acquire
1038 CMP EDI,EBX
103a Jne B1056 P=0.000000 C=6701.000000
103a
1040 B451: # B452 <- B450 Freq: 809.203
1040 MOV EAX,[EAX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
1040
1043 B452: # B1596 B453 <- B451 B1057 Freq: 809.204
1043 MOV ECX,[EAX + #4]
1046 NullCheck EAX
1046
1046 B453: # B1595 B454 <- B452 Freq: 809.203
1046 CMPu ECX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
104c Jne,u B1595 P=0.000001 C=-1.000000
104c
1052 B454: # B1594 B455 <- B453 Freq: 809.202
1052 #checkcastPP of EAX
1052 MOV EDI,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
1058 MOV EBX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
105b MOV ECX,[EBX + #4]
105e NullCheck EBX
105e
105e B455: # B1593 B456 <- B454 Freq: 809.201
105e CMPu ECX,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
1064 Jne,u B1593 P=0.000000 C=-1.000000
1064
106a B456: # B1592 B457 <- B455 Freq: 809.201
106a MOV EBX,[ESP + #40]
106e MOV EDI,[EBX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
1071 TEST EDI,EDI
1073 Jeq B1592 P=0.000001 C=-1.000000
1073
1079 B457: # B1591 B458 <- B456 Freq: 809.201
1079 MOV ECX,[ESP + #44]
107d MOV EDI,[ECX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
1080 MOV EBX,[EDI + #8]
1083 NullCheck EDI
1083
1083 B458: # B1590 B459 <- B457 Freq: 809.2
1083 CMPu EBX,#34
1086 Jle,u B1590 P=0.000001 C=-1.000000
1086
108c B459: # B1589 B460 <- B458 Freq: 809.199
108c MOV ECX,[EDI + #148]
1092 MOV EDI,[ECX + #4]
1095 NullCheck ECX
1095
1095 B460: # B1588 B461 <- B459 Freq: 809.198
1095 CMPu EDI,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
109b Jne,u B1588 P=0.000000 C=-1.000000
109b
10a1 B461: # B1587 B462 <- B460 Freq: 809.198
10a1 #checkcastPP of ECX
10a1 MOV EBX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
10a4 MEMBAR-acquire
10a4 MOV ESI,[EBX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
10a7 NullCheck EBX
10a7
10a7 B462: # B1586 B463 <- B461 Freq: 809.197
10a7 MOV EDI,[ESP + #48]
10ab MOV EAX,[EDI + #56] ! Field org/jruby/RubyModule.generation
10ae MOV EDI,[EAX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
10b1 NullCheck EAX
10b1
10b1 B463: # B1058 B464 <- B462 Freq: 809.196
10b1 MEMBAR-acquire
10b1 CMP ESI,EDI
10b3 Jne B1058 P=0.000000 C=6701.000000
10b3
10b9 B464: # B465 <- B463 Freq: 809.196
10b9 MOV EAX,[EBX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
10b9
10bc B465: # B1584 B466 <- B464 B1059 Freq: 809.196
10bc MOV EBX,[EAX + #4]
10bf NullCheck EAX
10bf
10bf B466: # B1583 B467 <- B465 Freq: 809.196
10bf CMPu EBX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
10c5 Jne,u B1583 P=0.000001 C=-1.000000
10c5
10cb B467: # B1582 B468 <- B466 Freq: 809.195
10cb #checkcastPP of EAX
10cb MOV EBX,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
10d1 MOV EAX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
10d4 MOV EDI,[EAX + #4]
10d7 NullCheck EAX
10d7
10d7 B468: # B1581 B469 <- B467 Freq: 809.194
10d7 CMPu EDI,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
10dd Jne,u B1581 P=0.000000 C=-1.000000
10dd
10e3 B469: # B1580 B470 <- B468 Freq: 809.194
10e3 MOV ECX,[ESP + #40]
10e7 MOV EBX,[ECX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
10ea TEST EBX,EBX
10ec Jeq B1580 P=0.000001 C=-1.000000
10ec
10f2 B470: # B1579 B471 <- B469 Freq: 809.193
10f2 MOV EBX,[ESP + #44]
10f6 MOV EBX,[EBX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
10f9 MOV ECX,[EBX + #8]
10fc NullCheck EBX
10fc
10fc B471: # B1578 B472 <- B470 Freq: 809.192
10fc CMPu ECX,#35
10ff Jle,u B1578 P=0.000001 C=-1.000000
10ff
1105 B472: # B1577 B473 <- B471 Freq: 809.191
1105 MOV ECX,[EBX + #152]
110b MOV EBX,[ECX + #4]
110e NullCheck ECX
110e
110e B473: # B1576 B474 <- B472 Freq: 809.191
110e CMPu EBX,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
1114 Jne,u B1576 P=0.000000 C=-1.000000
1114
111a B474: # B1575 B475 <- B473 Freq: 809.191
111a #checkcastPP of ECX
111a MOV EAX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
111d MEMBAR-acquire
111d MOV EDI,[EAX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
1120 NullCheck EAX
1120
1120 B475: # B1574 B476 <- B474 Freq: 809.19
1120 MOV EDX,[ESP + #48]
1124 MOV EDX,[EDX + #56] ! Field org/jruby/RubyModule.generation
1127 MOV EBX,[EDX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
112a NullCheck EDX
112a
112a B476: # B1060 B477 <- B475 Freq: 809.189
112a MEMBAR-acquire
112a CMP EDI,EBX
112c Jne B1060 P=0.000000 C=6701.000000
112c
1132 B477: # B478 <- B476 Freq: 809.189
1132 MOV EAX,[EAX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
1132
1135 B478: # B1572 B479 <- B477 B1061 Freq: 809.189
1135 MOV ECX,[EAX + #4]
1138 NullCheck EAX
1138
1138 B479: # B1571 B480 <- B478 Freq: 809.188
1138 CMPu ECX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
113e Jne,u B1571 P=0.000001 C=-1.000000
113e
1144 B480: # B1570 B481 <- B479 Freq: 809.187
1144 #checkcastPP of EAX
1144 MOV EDI,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
114a MOV EBX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
114d MOV ECX,[EBX + #4]
1150 NullCheck EBX
1150
1150 B481: # B1569 B482 <- B480 Freq: 809.187
1150 CMPu ECX,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
1156 Jne,u B1569 P=0.000000 C=-1.000000
1156
115c B482: # B1568 B483 <- B481 Freq: 809.187
115c MOV EBX,[ESP + #40]
1160 MOV EDI,[EBX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
1163 TEST EDI,EDI
1165 Jeq B1568 P=0.000001 C=-1.000000
1165
116b B483: # B1567 B484 <- B482 Freq: 809.186
116b MOV ECX,[ESP + #44]
116f MOV EDI,[ECX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
1172 MOV EBX,[EDI + #8]
1175 NullCheck EDI
1175
1175 B484: # B1566 B485 <- B483 Freq: 809.185
1175 CMPu EBX,#36
1178 Jle,u B1566 P=0.000001 C=-1.000000
1178
117e B485: # B1565 B486 <- B484 Freq: 809.184
117e MOV ECX,[EDI + #156]
1184 MOV EDI,[ECX + #4]
1187 NullCheck ECX
1187
1187 B486: # B1564 B487 <- B485 Freq: 809.183
1187 CMPu EDI,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
118d Jne,u B1564 P=0.000000 C=-1.000000
118d
1193 B487: # B1563 B488 <- B486 Freq: 809.183
1193 #checkcastPP of ECX
1193 MOV EBX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
1196 MEMBAR-acquire
1196 MOV ESI,[EBX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
1199 NullCheck EBX
1199
1199 B488: # B1562 B489 <- B487 Freq: 809.182
1199 MOV EDI,[ESP + #48]
119d MOV EAX,[EDI + #56] ! Field org/jruby/RubyModule.generation
11a0 MOV EDI,[EAX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
11a3 NullCheck EAX
11a3
11a3 B489: # B1062 B490 <- B488 Freq: 809.182
11a3 MEMBAR-acquire
11a3 CMP ESI,EDI
11a5 Jne B1062 P=0.000000 C=6701.000000
11a5
11ab B490: # B491 <- B489 Freq: 809.181
11ab MOV EAX,[EBX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
11ab
11ae B491: # B1560 B492 <- B490 B1063 Freq: 809.182
11ae MOV EBX,[EAX + #4]
11b1 NullCheck EAX
11b1
11b1 B492: # B1559 B493 <- B491 Freq: 809.181
11b1 CMPu EBX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
11b7 Jne,u B1559 P=0.000001 C=-1.000000
11b7
11bd B493: # B1558 B494 <- B492 Freq: 809.18
11bd #checkcastPP of EAX
11bd MOV EBX,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
11c3 MOV EAX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
11c6 MOV EDI,[EAX + #4]
11c9 NullCheck EAX
11c9
11c9 B494: # B1557 B495 <- B493 Freq: 809.179
11c9 CMPu EDI,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
11cf Jne,u B1557 P=0.000000 C=-1.000000
11cf
11d5 B495: # B1556 B496 <- B494 Freq: 809.179
11d5 MOV ECX,[ESP + #40]
11d9 MOV EBX,[ECX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
11dc TEST EBX,EBX
11de Jeq B1556 P=0.000001 C=-1.000000
11de
11e4 B496: # B1555 B497 <- B495 Freq: 809.178
11e4 MOV EBX,[ESP + #44]
11e8 MOV EBX,[EBX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
11eb MOV ECX,[EBX + #8]
11ee NullCheck EBX
11ee
11ee B497: # B1554 B498 <- B496 Freq: 809.178
11ee CMPu ECX,#37
11f1 Jle,u B1554 P=0.000001 C=-1.000000
11f1
11f7 B498: # B1553 B499 <- B497 Freq: 809.177
11f7 MOV ECX,[EBX + #160]
11fd MOV EBX,[ECX + #4]
1200 NullCheck ECX
1200
1200 B499: # B1552 B500 <- B498 Freq: 809.176
1200 CMPu EBX,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
1206 Jne,u B1552 P=0.000000 C=-1.000000
1206
120c B500: # B1551 B501 <- B499 Freq: 809.176
120c #checkcastPP of ECX
120c MOV EAX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
120f MEMBAR-acquire
120f MOV EDI,[EAX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
1212 NullCheck EAX
1212
1212 B501: # B1550 B502 <- B500 Freq: 809.175
1212 MOV EDX,[ESP + #48]
1216 MOV EDX,[EDX + #56] ! Field org/jruby/RubyModule.generation
1219 MOV EBX,[EDX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
121c NullCheck EDX
121c
121c B502: # B1064 B503 <- B501 Freq: 809.174
121c MEMBAR-acquire
121c CMP EDI,EBX
121e Jne B1064 P=0.000000 C=6701.000000
121e
1224 B503: # B504 <- B502 Freq: 809.174
1224 MOV EAX,[EAX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
1224
1227 B504: # B1548 B505 <- B503 B1065 Freq: 809.174
1227 MOV ECX,[EAX + #4]
122a NullCheck EAX
122a
122a B505: # B1547 B506 <- B504 Freq: 809.173
122a CMPu ECX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
1230 Jne,u B1547 P=0.000001 C=-1.000000
1230
1236 B506: # B1546 B507 <- B505 Freq: 809.173
1236 #checkcastPP of EAX
1236 MOV EDI,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
123c MOV EBX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
123f MOV ECX,[EBX + #4]
1242 NullCheck EBX
1242
1242 B507: # B1545 B508 <- B506 Freq: 809.172
1242 CMPu ECX,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
1248 Jne,u B1545 P=0.000000 C=-1.000000
1248
124e B508: # B1544 B509 <- B507 Freq: 809.172
124e MOV EBX,[ESP + #40]
1252 MOV EDI,[EBX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
1255 TEST EDI,EDI
1257 Jeq B1544 P=0.000001 C=-1.000000
1257
125d B509: # B1543 B510 <- B508 Freq: 809.171
125d MOV ECX,[ESP + #44]
1261 MOV EDI,[ECX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
1264 MOV EBX,[EDI + #8]
1267 NullCheck EDI
1267
1267 B510: # B1542 B511 <- B509 Freq: 809.17
1267 CMPu EBX,#38
126a Jle,u B1542 P=0.000001 C=-1.000000
126a
1270 B511: # B1541 B512 <- B510 Freq: 809.169
1270 MOV ECX,[EDI + #164]
1276 MOV EDI,[ECX + #4]
1279 NullCheck ECX
1279
1279 B512: # B1540 B513 <- B511 Freq: 809.169
1279 CMPu EDI,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
127f Jne,u B1540 P=0.000000 C=-1.000000
127f
1285 B513: # B1539 B514 <- B512 Freq: 809.169
1285 #checkcastPP of ECX
1285 MOV EBX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
1288 MEMBAR-acquire
1288 MOV ESI,[EBX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
128b NullCheck EBX
128b
128b B514: # B1538 B515 <- B513 Freq: 809.168
128b MOV EDI,[ESP + #48]
128f MOV EAX,[EDI + #56] ! Field org/jruby/RubyModule.generation
1292 MOV EDI,[EAX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
1295 NullCheck EAX
1295
1295 B515: # B1066 B516 <- B514 Freq: 809.167
1295 MEMBAR-acquire
1295 CMP ESI,EDI
1297 Jne B1066 P=0.000000 C=6701.000000
1297
129d B516: # B517 <- B515 Freq: 809.167
129d MOV EAX,[EBX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
129d
12a0 B517: # B1536 B518 <- B516 B1067 Freq: 809.167
12a0 MOV EBX,[EAX + #4]
12a3 NullCheck EAX
12a3
12a3 B518: # B1535 B519 <- B517 Freq: 809.166
12a3 CMPu EBX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
12a9 Jne,u B1535 P=0.000001 C=-1.000000
12a9
12af B519: # B1534 B520 <- B518 Freq: 809.165
12af #checkcastPP of EAX
12af MOV EBX,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
12b5 MOV EAX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
12b8 MOV EDI,[EAX + #4]
12bb NullCheck EAX
12bb
12bb B520: # B1533 B521 <- B519 Freq: 809.164
12bb CMPu EDI,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
12c1 Jne,u B1533 P=0.000000 C=-1.000000
12c1
12c7 B521: # B1532 B522 <- B520 Freq: 809.164
12c7 MOV ECX,[ESP + #40]
12cb MOV EBX,[ECX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
12ce TEST EBX,EBX
12d0 Jeq B1532 P=0.000001 C=-1.000000
12d0
12d6 B522: # B1531 B523 <- B521 Freq: 809.164
12d6 MOV EBX,[ESP + #44]
12da MOV EBX,[EBX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
12dd MOV ECX,[EBX + #8]
12e0 NullCheck EBX
12e0
12e0 B523: # B1530 B524 <- B522 Freq: 809.163
12e0 CMPu ECX,#39
12e3 Jle,u B1530 P=0.000001 C=-1.000000
12e3
12e9 B524: # B1529 B525 <- B523 Freq: 809.162
12e9 MOV ECX,[EBX + #168]
12ef MOV EBX,[ECX + #4]
12f2 NullCheck ECX
12f2
12f2 B525: # B1528 B526 <- B524 Freq: 809.161
12f2 CMPu EBX,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
12f8 Jne,u B1528 P=0.000000 C=-1.000000
12f8
12fe B526: # B1527 B527 <- B525 Freq: 809.161
12fe #checkcastPP of ECX
12fe MOV EAX,[ECX + #16] ! Field Volatileorg/jruby/runtime/callsite/CachingCallSite.cache
1301 MEMBAR-acquire
1301 MOV EDI,[EAX + #8] ! Field org/jruby/runtime/callsite/CacheEntry.generation
1304 NullCheck EAX
1304
1304 B527: # B1526 B528 <- B526 Freq: 809.16
1304 MOV EDX,[ESP + #48]
1308 MOV EDX,[EDX + #56] ! Field org/jruby/RubyModule.generation
130b MOV EBX,[EDX + #8] ! Field Volatileorg/jruby/RubyModule$Generation.hash
130e NullCheck EDX
130e
130e B528: # B1068 B529 <- B527 Freq: 809.159
130e MEMBAR-acquire
130e CMP EDI,EBX
1310 Jne B1068 P=0.000000 C=6701.000000
1310
1316 B529: # B530 <- B528 Freq: 809.159
1316 MOV EAX,[EAX + #12] ! Field org/jruby/runtime/callsite/CacheEntry.method
1316
1319 B530: # B1524 B531 <- B529 B1069 Freq: 809.159
1319 MOV ECX,[EAX + #4]
131c NullCheck EAX
131c
131c B531: # B1523 B532 <- B530 Freq: 809.159
131c CMPu ECX,precise klass bench/language/bench_method_dispatch_onlyInvokermethod__0$RUBY$fooFixed0: 0x0892be68:Constant:exact *
1322 Jne,u B1523 P=0.000001 C=-1.000000
1322
1328 B532: # B1522 B533 <- B531 Freq: 809.158
1328 #checkcastPP of EAX
1328 MOV EDI,[EBP + precise klass org/jruby/runtime/Block: 0x08929bf0:Constant:exact *] ! Field org/jruby/runtime/Block.NULL_BLOCK
132e MOV EBX,[EAX + #44] ! Field org/jruby/internal/runtime/methods/CompiledMethod.$scriptObject
1331 MOV ECX,[EBX + #4]
1334 NullCheck EBX
1334
1334 B533: # B1521 B534 <- B532 Freq: 809.157
1334 CMPu ECX,precise klass bench/language/bench_method_dispatch_only: 0x08929a10:Constant:exact *
133a Jne,u B1521 P=0.000000 C=-1.000000
133a
1340 B534: # B1520 B535 <- B533 Freq: 809.157
1340 MOV EBX,[ESP + #40]
1344 MOV EDI,[EBX + #40] ! Field org/jruby/runtime/ThreadContext.runtime
1347 TEST EDI,EDI
1349 Jeq B1520 P=0.000001 C=-1.000000
1349
134f B535: # B1519 B536 <- B534 Freq: 809.156
134f MOV ECX,[ESP + #44]
1353 MOV EDI,[ECX + #12] ! Field org/jruby/ast/executable/AbstractScript.callSites
1356 MOV EBX,[EDI + #8]
1359 NullCheck EDI
1359
1359 B536: # B1518 B537 <- B535 Freq: 809.155
1359 CMPu EBX,#40
135c Jle,u B1518 P=0.000001 C=-1.000000
135c
1362 B537: # B1517 B538 <- B536 Freq: 809.155
1362 MOV ECX,[EDI + #172]
1368 MOV EDI,[ECX + #4]
136b NullCheck ECX
136b
136b B538: # B1516 B539 <- B537 Freq: 809.154
136b CMPu EDI,precise klass org/jruby/runtime/callsite/VariableCachingCallSite: 0x0892bdf8:Constant:exact *
1371 Jne,u B1516 P=0.000000 C=-1.000000
1371
1377 B539: # B1515 B540 <- B538 Freq: 809.154
1377 #checkcastPP of ECX
1377 MOV EDX,[ESP + #40]
137b MOV EDI,[ESP + #48]
137f MOV [ESP + #0],EDI
1382 NOP # 1 bytes pad for loops and calls
1383 CALL,static org.jruby.runtime.callsite.CachingCallSite::getMethod
# bench.language.bench_method_dispatch_only::method__1$RUBY$invoking @ bci:1004 L[0]=esp + #44 L[1]=esp + #40 L[2]=esp + #80 L[3]=_ L[4]=_ L[5]=esp + #52 L[6]=_ L[7]=esp + #24 L[8]=_ L[9]=_ L[10]=esp + #48 L[11]=esp + #56 L[12]=_ L[13]=_
# AllocatedObj(0x90f7bb20)
AllocatedObj(0x90f7bb20)
AllocatedObj(0x90f7bb20)
AllocatedObj(0x90f7bb20)
AllocatedObj(0x90f7bb20)
AllocatedObj(0x90f7bb20)
AllocatedObj(0x90f7bb20)
AllocatedObj(0x90f7bb20)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment