Bug 89536

Summary: JSC should be able to show disassembly for all generated JIT code
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: rakuco, tmpsantos, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on: 89549    
Bug Blocks:    
Attachments:
Description Flags
the patch
barraclough: review+
patch for landing none

Description Filip Pizlo 2012-06-19 17:37:27 PDT
Patch forthcoming.
Comment 1 Filip Pizlo 2012-06-19 17:41:09 PDT
Created attachment 148472 [details]
the patch

Here's an example of some of the disassembly it gives me in 32-bit mode, when running SunSpider/3d-raytrace:


[pizlo@wartooth OpenSource] DYLD_FRAMEWORK_PATH=WebKitBuild/Debug/ WebKitBuild/Debug/jsc PerformanceTests/SunSpider/tests/sunspider-1.0/3d-raytrace.js 
Generated JIT code for JIT CTI machine trampolines:
    Code at [0xd2b000, 0xd2b280):
            0xd2b000: cmp 0xfb, %edx
            0xd2b003: jnz 0x31e7b0
            0xd2b009: cmp 0x669324, (%eax)
            0xd2b00f: jnz 0x31e7b0
            0xd2b015: mov 0xc(%eax), %ecx
            0xd2b018: cmp 0x7fffffff, %ecx
            0xd2b01e: ja 0x31e7b0
            0xd2b024: mov %ecx, %eax
            0xd2b026: mov 0xffffffff, %edx
            0xd2b02b: ret 
            0xd2b02c: hlt 
            0xd2b02d: hlt 
            0xd2b02e: hlt 
            0xd2b02f: hlt 
            0xd2b030: cmp 0xfb, %edx
            0xd2b033: jnz 0xd2b14b
            0xd2b039: mov 0x4(%eax), %edx
            0xd2b03c: cmp 0xf, 0x8(%edx)
            0xd2b040: jnz 0xd2b14b
            0xd2b046: mov 0x34(%eax), %edx
            0xd2b049: mov 0xfffffffb, -0x14(%edi)
            0xd2b050: mov %edx, -0x18(%edi)
            0xd2b053: pop %ebx
            0xd2b054: mov %ebx, -0x10(%edi)
            0xd2b057: mov %edi, 0x7a9aac84
            0xd2b05d: mov %esp, %ecx
            0xd2b05f: mov %edi, 0x58(%esp)
            0xd2b063: call 0x31fc50
            0xd2b068: push %ebx
            0xd2b069: jmp %eax
            0xd2b06b: hlt 
            0xd2b06c: hlt 
            0xd2b06d: hlt 
            0xd2b06e: hlt 
            0xd2b06f: hlt 
            0xd2b070: cmp 0xfb, %edx
            0xd2b073: jnz 0xd2b17c
            0xd2b079: mov 0x4(%eax), %edx
            0xd2b07c: cmp 0xf, 0x8(%edx)
            0xd2b080: jnz 0xd2b17c
            0xd2b086: mov 0x34(%eax), %edx
            0xd2b089: mov 0xfffffffb, -0x14(%edi)
            0xd2b090: mov %edx, -0x18(%edi)
            0xd2b093: pop %ebx
            0xd2b094: mov %ebx, -0x10(%edi)
            0xd2b097: mov %edi, 0x7a9aac84
            0xd2b09d: mov %esp, %ecx
            0xd2b09f: mov %edi, 0x58(%esp)
            0xd2b0a3: call 0x31fd00
            0xd2b0a8: push %ebx
            0xd2b0a9: jmp %eax
            0xd2b0ab: hlt 
            0xd2b0ac: hlt 
            0xd2b0ad: hlt 
            0xd2b0ae: hlt 
            0xd2b0af: hlt 
            0xd2b0b0: cmp 0xfb, %edx
            0xd2b0b3: jnz 0xd2b14b
            0xd2b0b9: mov 0x4(%eax), %edx
            0xd2b0bc: cmp 0xf, 0x8(%edx)
            0xd2b0c0: jnz 0xd2b14b
            0xd2b0c6: mov 0x34(%eax), %edx
            0xd2b0c9: mov 0xfffffffb, -0x14(%edi)
            0xd2b0d0: mov %edx, -0x18(%edi)
            0xd2b0d3: mov 0x30(%eax), %ecx
            0xd2b0d6: cmp 0x0, 0x8(%ecx)
            0xd2b0da: jge 0xd2b0f6
            0xd2b0e0: pop %ebx
            0xd2b0e1: mov %edi, 0x7a9aac84
            0xd2b0e7: mov %esp, %ecx
            0xd2b0e9: mov %edi, 0x58(%esp)
            0xd2b0ed: call 0x31f6b0
            0xd2b0f2: push %ebx
            0xd2b0f3: mov 0x30(%eax), %ecx
            0xd2b0f6: mov 0x30(%ecx), %eax
            0xd2b0f9: jmp %eax
            0xd2b0fb: hlt 
            0xd2b0fc: hlt 
            0xd2b0fd: hlt 
            0xd2b0fe: hlt 
            0xd2b0ff: hlt 
            0xd2b100: cmp 0xfb, %edx
            0xd2b103: jnz 0xd2b17c
            0xd2b109: mov 0x4(%eax), %edx
            0xd2b10c: cmp 0xf, 0x8(%edx)
            0xd2b110: jnz 0xd2b17c
            0xd2b116: mov 0x34(%eax), %edx
            0xd2b119: mov 0xfffffffb, -0x14(%edi)
            0xd2b120: mov %edx, -0x18(%edi)
            0xd2b123: mov 0x30(%eax), %ecx
            0xd2b126: cmp 0x0, 0xc(%ecx)
            0xd2b12a: jge 0xd2b146
            0xd2b130: pop %ebx
            0xd2b131: mov %edi, 0x7a9aac84
            0xd2b137: mov %esp, %ecx
            0xd2b139: mov %edi, 0x58(%esp)
            0xd2b13d: call 0x31f900
            0xd2b142: push %ebx
            0xd2b143: mov 0x30(%eax), %ecx
            0xd2b146: mov 0x34(%ecx), %eax
            0xd2b149: jmp %eax
            0xd2b14b: mov -0x28(%edi), %ecx
            0xd2b14e: mov -0x18(%ecx), %ecx
            0xd2b151: mov 0xfffffffb, -0x14(%edi)
            0xd2b158: mov %ecx, -0x18(%edi)
            0xd2b15b: pop %ebx
            0xd2b15c: mov %ebx, -0x10(%edi)
            0xd2b15f: mov 0x0, -0x8(%edi)
            0xd2b166: mov %edi, 0x7a9aac84
            0xd2b16c: mov %esp, %ecx
            0xd2b16e: mov %edi, 0x58(%esp)
            0xd2b172: call 0x31fe70
            0xd2b177: mov -0x28(%edi), %edi
            0xd2b17a: push %ebx
            0xd2b17b: ret 
            0xd2b17c: mov -0x28(%edi), %ecx
            0xd2b17f: mov -0x18(%ecx), %ecx
            0xd2b182: mov 0xfffffffb, -0x14(%edi)
            0xd2b189: mov %ecx, -0x18(%edi)
            0xd2b18c: pop %ebx
            0xd2b18d: mov %ebx, -0x10(%edi)
            0xd2b190: mov 0x0, -0x8(%edi)
            0xd2b197: mov %edi, 0x7a9aac84
            0xd2b19d: mov %esp, %ecx
            0xd2b19f: mov %edi, 0x58(%esp)
            0xd2b1a3: call 0x320a70
            0xd2b1a8: mov -0x28(%edi), %edi
            0xd2b1ab: push %ebx
            0xd2b1ac: ret 
            0xd2b1ad: hlt 
            0xd2b1ae: hlt 
            0xd2b1af: hlt 
            0xd2b1b0: mov 0x0, -0x8(%edi)
            0xd2b1b7: mov %edi, 0x7a9aac84
            0xd2b1bd: mov -0x28(%edi), %eax
            0xd2b1c0: mov -0x18(%eax), %edx
            0xd2b1c3: mov 0xfffffffb, -0x14(%edi)
            0xd2b1ca: mov %edx, -0x18(%edi)
            0xd2b1cd: mov (%esp), %edx
            0xd2b1d0: mov %edx, -0x10(%edi)
            0xd2b1d3: mov %edi, %ecx
            0xd2b1d5: sub 0xc, %esp
            0xd2b1d8: mov -0x20(%edi), %edx
            0xd2b1db: mov 0x30(%edx), %edx
            0xd2b1de: mov %eax, %edi
            0xd2b1e0: call 0x38(%edx)
            0xd2b1e3: add 0xc, %esp
            0xd2b1e6: cmp 0xfa, 0x7a9aba70
            0xd2b1ed: jnz 0xd2b1f4
            0xd2b1f3: ret 
            0xd2b1f4: pop %edx
            0xd2b1f5: mov 0x7a9aba84, %ecx
            0xd2b1fa: mov %edx, (%ecx)
            0xd2b1fc: mov %edi, 0x58(%esp)
            0xd2b200: mov %edi, 0x7a9aac84
            0xd2b206: mov 0x3189a9, %edx
            0xd2b20b: push %edx
            0xd2b20c: ret 
            0xd2b20d: hlt 
            0xd2b20e: hlt 
            0xd2b20f: hlt 
            0xd2b210: mov 0x0, -0x8(%edi)
            0xd2b217: mov %edi, 0x7a9aac84
            0xd2b21d: mov -0x28(%edi), %eax
            0xd2b220: mov -0x18(%eax), %edx
            0xd2b223: mov 0xfffffffb, -0x14(%edi)
            0xd2b22a: mov %edx, -0x18(%edi)
            0xd2b22d: mov (%esp), %edx
            0xd2b230: mov %edx, -0x10(%edi)
            0xd2b233: mov %edi, %ecx
            0xd2b235: sub 0xc, %esp
            0xd2b238: mov -0x20(%edi), %edx
            0xd2b23b: mov 0x30(%edx), %edx
            0xd2b23e: mov %eax, %edi
            0xd2b240: call 0x3c(%edx)
            0xd2b243: add 0xc, %esp
            0xd2b246: cmp 0xfa, 0x7a9aba70
            0xd2b24d: jnz 0xd2b254
            0xd2b253: ret 
            0xd2b254: pop %edx
            0xd2b255: mov 0x7a9aba84, %ecx
            0xd2b25a: mov %edx, (%ecx)
            0xd2b25c: mov %edi, 0x58(%esp)
            0xd2b260: mov %edi, 0x7a9aac84
            0xd2b266: mov 0x3189a9, %edx
            0xd2b26b: push %edx
            0xd2b26c: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2b280, 0xd2b2e0):
            0xd2b280: mov 0x0, -0x8(%edi)
            0xd2b287: mov %edi, 0x7a9aac84
            0xd2b28d: mov -0x28(%edi), %eax
            0xd2b290: mov -0x18(%eax), %edx
            0xd2b293: mov 0xfffffffb, -0x14(%edi)
            0xd2b29a: mov %edx, -0x18(%edi)
            0xd2b29d: mov (%esp), %edx
            0xd2b2a0: mov %edx, -0x10(%edi)
            0xd2b2a3: mov %edi, %ecx
            0xd2b2a5: sub 0xc, %esp
            0xd2b2a8: mov %eax, %edi
            0xd2b2aa: call 0x2bbc80
            0xd2b2af: add 0xc, %esp
            0xd2b2b2: cmp 0xfa, 0x7a9aba70
            0xd2b2b9: jnz 0xd2b2c0
            0xd2b2bf: ret 
            0xd2b2c0: pop %edx
            0xd2b2c1: mov 0x7a9aba84, %ecx
            0xd2b2c6: mov %edx, (%ecx)
            0xd2b2c8: mov %edi, 0x58(%esp)
            0xd2b2cc: mov %edi, 0x7a9aac84
            0xd2b2d2: mov 0x3189a9, %edx
            0xd2b2d7: push %edx
            0xd2b2d8: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2b2e0, 0xd2b340):
            0xd2b2e0: mov 0x0, -0x8(%edi)
            0xd2b2e7: mov %edi, 0x7a9aac84
            0xd2b2ed: mov -0x28(%edi), %eax
            0xd2b2f0: mov -0x18(%eax), %edx
            0xd2b2f3: mov 0xfffffffb, -0x14(%edi)
            0xd2b2fa: mov %edx, -0x18(%edi)
            0xd2b2fd: mov (%esp), %edx
            0xd2b300: mov %edx, -0x10(%edi)
            0xd2b303: mov %edi, %ecx
            0xd2b305: sub 0xc, %esp
            0xd2b308: mov %eax, %edi
            0xd2b30a: call 0x2bc050
            0xd2b30f: add 0xc, %esp
            0xd2b312: cmp 0xfa, 0x7a9aba70
            0xd2b319: jnz 0xd2b320
            0xd2b31f: ret 
            0xd2b320: pop %edx
            0xd2b321: mov 0x7a9aba84, %ecx
            0xd2b326: mov %edx, (%ecx)
            0xd2b328: mov %edi, 0x58(%esp)
            0xd2b32c: mov %edi, 0x7a9aac84
            0xd2b332: mov 0x3189a9, %edx
            0xd2b337: push %edx
            0xd2b338: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2b340, 0xd2b3a0):
            0xd2b340: mov 0x0, -0x8(%edi)
            0xd2b347: mov %edi, 0x7a9aac84
            0xd2b34d: mov -0x28(%edi), %eax
            0xd2b350: mov -0x18(%eax), %edx
            0xd2b353: mov 0xfffffffb, -0x14(%edi)
            0xd2b35a: mov %edx, -0x18(%edi)
            0xd2b35d: mov (%esp), %edx
            0xd2b360: mov %edx, -0x10(%edi)
            0xd2b363: mov %edi, %ecx
            0xd2b365: sub 0xc, %esp
            0xd2b368: mov %eax, %edi
            0xd2b36a: call 0x2bc5f0
            0xd2b36f: add 0xc, %esp
            0xd2b372: cmp 0xfa, 0x7a9aba70
            0xd2b379: jnz 0xd2b380
            0xd2b37f: ret 
            0xd2b380: pop %edx
            0xd2b381: mov 0x7a9aba84, %ecx
            0xd2b386: mov %edx, (%ecx)
            0xd2b388: mov %edi, 0x58(%esp)
            0xd2b38c: mov %edi, 0x7a9aac84
            0xd2b392: mov 0x3189a9, %edx
            0xd2b397: push %edx
            0xd2b398: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2b3a0, 0xd2b400):
            0xd2b3a0: mov 0x0, -0x8(%edi)
            0xd2b3a7: mov %edi, 0x7a9aac84
            0xd2b3ad: mov -0x28(%edi), %eax
            0xd2b3b0: mov -0x18(%eax), %edx
            0xd2b3b3: mov 0xfffffffb, -0x14(%edi)
            0xd2b3ba: mov %edx, -0x18(%edi)
            0xd2b3bd: mov (%esp), %edx
            0xd2b3c0: mov %edx, -0x10(%edi)
            0xd2b3c3: mov %edi, %ecx
            0xd2b3c5: sub 0xc, %esp
            0xd2b3c8: mov %eax, %edi
            0xd2b3ca: call 0x2bc730
            0xd2b3cf: add 0xc, %esp
            0xd2b3d2: cmp 0xfa, 0x7a9aba70
            0xd2b3d9: jnz 0xd2b3e0
            0xd2b3df: ret 
            0xd2b3e0: pop %edx
            0xd2b3e1: mov 0x7a9aba84, %ecx
            0xd2b3e6: mov %edx, (%ecx)
            0xd2b3e8: mov %edi, 0x58(%esp)
            0xd2b3ec: mov %edi, 0x7a9aac84
            0xd2b3f2: mov 0x3189a9, %edx
            0xd2b3f7: push %edx
            0xd2b3f8: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2b400, 0xd2b460):
            0xd2b400: mov 0x0, -0x8(%edi)
            0xd2b407: mov %edi, 0x7a9aac84
            0xd2b40d: mov -0x28(%edi), %eax
            0xd2b410: mov -0x18(%eax), %edx
            0xd2b413: mov 0xfffffffb, -0x14(%edi)
            0xd2b41a: mov %edx, -0x18(%edi)
            0xd2b41d: mov (%esp), %edx
            0xd2b420: mov %edx, -0x10(%edi)
            0xd2b423: mov %edi, %ecx
            0xd2b425: sub 0xc, %esp
            0xd2b428: mov %eax, %edi
            0xd2b42a: call 0x37eaf0
            0xd2b42f: add 0xc, %esp
            0xd2b432: cmp 0xfa, 0x7a9aba70
            0xd2b439: jnz 0xd2b440
            0xd2b43f: ret 
            0xd2b440: pop %edx
            0xd2b441: mov 0x7a9aba84, %ecx
            0xd2b446: mov %edx, (%ecx)
            0xd2b448: mov %edi, 0x58(%esp)
            0xd2b44c: mov %edi, 0x7a9aac84
            0xd2b452: mov 0x3189a9, %edx
            0xd2b457: push %edx
            0xd2b458: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2b460, 0xd2b4c0):
            0xd2b460: mov 0x0, -0x8(%edi)
            0xd2b467: mov %edi, 0x7a9aac84
            0xd2b46d: mov -0x28(%edi), %eax
            0xd2b470: mov -0x18(%eax), %edx
            0xd2b473: mov 0xfffffffb, -0x14(%edi)
            0xd2b47a: mov %edx, -0x18(%edi)
            0xd2b47d: mov (%esp), %edx
            0xd2b480: mov %edx, -0x10(%edi)
            0xd2b483: mov %edi, %ecx
            0xd2b485: sub 0xc, %esp
            0xd2b488: mov %eax, %edi
            0xd2b48a: call 0x37ec20
            0xd2b48f: add 0xc, %esp
            0xd2b492: cmp 0xfa, 0x7a9aba70
            0xd2b499: jnz 0xd2b4a0
            0xd2b49f: ret 
            0xd2b4a0: pop %edx
            0xd2b4a1: mov 0x7a9aba84, %ecx
            0xd2b4a6: mov %edx, (%ecx)
            0xd2b4a8: mov %edi, 0x58(%esp)
            0xd2b4ac: mov %edi, 0x7a9aac84
            0xd2b4b2: mov 0x3189a9, %edx
            0xd2b4b7: push %edx
            0xd2b4b8: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2b4c0, 0xd2b520):
            0xd2b4c0: mov 0x0, -0x8(%edi)
            0xd2b4c7: mov %edi, 0x7a9aac84
            0xd2b4cd: mov -0x28(%edi), %eax
            0xd2b4d0: mov -0x18(%eax), %edx
            0xd2b4d3: mov 0xfffffffb, -0x14(%edi)
            0xd2b4da: mov %edx, -0x18(%edi)
            0xd2b4dd: mov (%esp), %edx
            0xd2b4e0: mov %edx, -0x10(%edi)
            0xd2b4e3: mov %edi, %ecx
            0xd2b4e5: sub 0xc, %esp
            0xd2b4e8: mov %eax, %edi
            0xd2b4ea: call 0x37cf10
            0xd2b4ef: add 0xc, %esp
            0xd2b4f2: cmp 0xfa, 0x7a9aba70
            0xd2b4f9: jnz 0xd2b500
            0xd2b4ff: ret 
            0xd2b500: pop %edx
            0xd2b501: mov 0x7a9aba84, %ecx
            0xd2b506: mov %edx, (%ecx)
            0xd2b508: mov %edi, 0x58(%esp)
            0xd2b50c: mov %edi, 0x7a9aac84
            0xd2b512: mov 0x3189a9, %edx
            0xd2b517: push %edx
            0xd2b518: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2b520, 0xd2b580):
            0xd2b520: mov 0x0, -0x8(%edi)
            0xd2b527: mov %edi, 0x7a9aac84
            0xd2b52d: mov -0x28(%edi), %eax
            0xd2b530: mov -0x18(%eax), %edx
            0xd2b533: mov 0xfffffffb, -0x14(%edi)
            0xd2b53a: mov %edx, -0x18(%edi)
            0xd2b53d: mov (%esp), %edx
            0xd2b540: mov %edx, -0x10(%edi)
            0xd2b543: mov %edi, %ecx
            0xd2b545: sub 0xc, %esp
            0xd2b548: mov %eax, %edi
            0xd2b54a: call 0x8e420
            0xd2b54f: add 0xc, %esp
            0xd2b552: cmp 0xfa, 0x7a9aba70
            0xd2b559: jnz 0xd2b560
            0xd2b55f: ret 
            0xd2b560: pop %edx
            0xd2b561: mov 0x7a9aba84, %ecx
            0xd2b566: mov %edx, (%ecx)
            0xd2b568: mov %edi, 0x58(%esp)
            0xd2b56c: mov %edi, 0x7a9aac84
            0xd2b572: mov 0x3189a9, %edx
            0xd2b577: push %edx
            0xd2b578: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2b580, 0xd2b5e0):
            0xd2b580: mov 0x0, -0x8(%edi)
            0xd2b587: mov %edi, 0x7a9aac84
            0xd2b58d: mov -0x28(%edi), %eax
            0xd2b590: mov -0x18(%eax), %edx
            0xd2b593: mov 0xfffffffb, -0x14(%edi)
            0xd2b59a: mov %edx, -0x18(%edi)
            0xd2b59d: mov (%esp), %edx
            0xd2b5a0: mov %edx, -0x10(%edi)
            0xd2b5a3: mov %edi, %ecx
            0xd2b5a5: sub 0xc, %esp
            0xd2b5a8: mov %eax, %edi
            0xd2b5aa: call 0x8e4f0
            0xd2b5af: add 0xc, %esp
            0xd2b5b2: cmp 0xfa, 0x7a9aba70
            0xd2b5b9: jnz 0xd2b5c0
            0xd2b5bf: ret 
            0xd2b5c0: pop %edx
            0xd2b5c1: mov 0x7a9aba84, %ecx
            0xd2b5c6: mov %edx, (%ecx)
            0xd2b5c8: mov %edi, 0x58(%esp)
            0xd2b5cc: mov %edi, 0x7a9aac84
            0xd2b5d2: mov 0x3189a9, %edx
            0xd2b5d7: push %edx
            0xd2b5d8: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2b5e0, 0xd2b640):
            0xd2b5e0: mov 0x0, -0x8(%edi)
            0xd2b5e7: mov %edi, 0x7a9aac84
            0xd2b5ed: mov -0x28(%edi), %eax
            0xd2b5f0: mov -0x18(%eax), %edx
            0xd2b5f3: mov 0xfffffffb, -0x14(%edi)
            0xd2b5fa: mov %edx, -0x18(%edi)
            0xd2b5fd: mov (%esp), %edx
            0xd2b600: mov %edx, -0x10(%edi)
            0xd2b603: mov %edi, %ecx
            0xd2b605: sub 0xc, %esp
            0xd2b608: mov %eax, %edi
            0xd2b60a: call 0x8e640
            0xd2b60f: add 0xc, %esp
            0xd2b612: cmp 0xfa, 0x7a9aba70
            0xd2b619: jnz 0xd2b620
            0xd2b61f: ret 
            0xd2b620: pop %edx
            0xd2b621: mov 0x7a9aba84, %ecx
            0xd2b626: mov %edx, (%ecx)
            0xd2b628: mov %edi, 0x58(%esp)
            0xd2b62c: mov %edi, 0x7a9aac84
            0xd2b632: mov 0x3189a9, %edx
            0xd2b637: push %edx
            0xd2b638: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2b640, 0xd2b6a0):
            0xd2b640: mov 0x0, -0x8(%edi)
            0xd2b647: mov %edi, 0x7a9aac84
            0xd2b64d: mov -0x28(%edi), %eax
            0xd2b650: mov -0x18(%eax), %edx
            0xd2b653: mov 0xfffffffb, -0x14(%edi)
            0xd2b65a: mov %edx, -0x18(%edi)
            0xd2b65d: mov (%esp), %edx
            0xd2b660: mov %edx, -0x10(%edi)
            0xd2b663: mov %edi, %ecx
            0xd2b665: sub 0xc, %esp
            0xd2b668: mov %eax, %edi
            0xd2b66a: call 0x8e660
            0xd2b66f: add 0xc, %esp
            0xd2b672: cmp 0xfa, 0x7a9aba70
            0xd2b679: jnz 0xd2b680
            0xd2b67f: ret 
            0xd2b680: pop %edx
            0xd2b681: mov 0x7a9aba84, %ecx
            0xd2b686: mov %edx, (%ecx)
            0xd2b688: mov %edi, 0x58(%esp)
            0xd2b68c: mov %edi, 0x7a9aac84
            0xd2b692: mov 0x3189a9, %edx
            0xd2b697: push %edx
            0xd2b698: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2b6a0, 0xd2b700):
            0xd2b6a0: mov 0x0, -0x8(%edi)
            0xd2b6a7: mov %edi, 0x7a9aac84
            0xd2b6ad: mov -0x28(%edi), %eax
            0xd2b6b0: mov -0x18(%eax), %edx
            0xd2b6b3: mov 0xfffffffb, -0x14(%edi)
            0xd2b6ba: mov %edx, -0x18(%edi)
            0xd2b6bd: mov (%esp), %edx
            0xd2b6c0: mov %edx, -0x10(%edi)
            0xd2b6c3: mov %edi, %ecx
            0xd2b6c5: sub 0xc, %esp
            0xd2b6c8: mov %eax, %edi
            0xd2b6ca: call 0x8e6e0
            0xd2b6cf: add 0xc, %esp
            0xd2b6d2: cmp 0xfa, 0x7a9aba70
            0xd2b6d9: jnz 0xd2b6e0
            0xd2b6df: ret 
            0xd2b6e0: pop %edx
            0xd2b6e1: mov 0x7a9aba84, %ecx
            0xd2b6e6: mov %edx, (%ecx)
            0xd2b6e8: mov %edi, 0x58(%esp)
            0xd2b6ec: mov %edi, 0x7a9aac84
            0xd2b6f2: mov 0x3189a9, %edx
            0xd2b6f7: push %edx
            0xd2b6f8: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2b700, 0xd2b760):
            0xd2b700: mov 0x0, -0x8(%edi)
            0xd2b707: mov %edi, 0x7a9aac84
            0xd2b70d: mov -0x28(%edi), %eax
            0xd2b710: mov -0x18(%eax), %edx
            0xd2b713: mov 0xfffffffb, -0x14(%edi)
            0xd2b71a: mov %edx, -0x18(%edi)
            0xd2b71d: mov (%esp), %edx
            0xd2b720: mov %edx, -0x10(%edi)
            0xd2b723: mov %edi, %ecx
            0xd2b725: sub 0xc, %esp
            0xd2b728: mov %eax, %edi
            0xd2b72a: call 0x8e760
            0xd2b72f: add 0xc, %esp
            0xd2b732: cmp 0xfa, 0x7a9aba70
            0xd2b739: jnz 0xd2b740
            0xd2b73f: ret 
            0xd2b740: pop %edx
            0xd2b741: mov 0x7a9aba84, %ecx
            0xd2b746: mov %edx, (%ecx)
            0xd2b748: mov %edi, 0x58(%esp)
            0xd2b74c: mov %edi, 0x7a9aac84
            0xd2b752: mov 0x3189a9, %edx
            0xd2b757: push %edx
            0xd2b758: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2b760, 0xd2b7c0):
            0xd2b760: mov 0x0, -0x8(%edi)
            0xd2b767: mov %edi, 0x7a9aac84
            0xd2b76d: mov -0x28(%edi), %eax
            0xd2b770: mov -0x18(%eax), %edx
            0xd2b773: mov 0xfffffffb, -0x14(%edi)
            0xd2b77a: mov %edx, -0x18(%edi)
            0xd2b77d: mov (%esp), %edx
            0xd2b780: mov %edx, -0x10(%edi)
            0xd2b783: mov %edi, %ecx
            0xd2b785: sub 0xc, %esp
            0xd2b788: mov %eax, %edi
            0xd2b78a: call 0x8e790
            0xd2b78f: add 0xc, %esp
            0xd2b792: cmp 0xfa, 0x7a9aba70
            0xd2b799: jnz 0xd2b7a0
            0xd2b79f: ret 
            0xd2b7a0: pop %edx
            0xd2b7a1: mov 0x7a9aba84, %ecx
            0xd2b7a6: mov %edx, (%ecx)
            0xd2b7a8: mov %edi, 0x58(%esp)
            0xd2b7ac: mov %edi, 0x7a9aac84
            0xd2b7b2: mov 0x3189a9, %edx
            0xd2b7b7: push %edx
            0xd2b7b8: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2b7c0, 0xd2b820):
            0xd2b7c0: mov 0x0, -0x8(%edi)
            0xd2b7c7: mov %edi, 0x7a9aac84
            0xd2b7cd: mov -0x28(%edi), %eax
            0xd2b7d0: mov -0x18(%eax), %edx
            0xd2b7d3: mov 0xfffffffb, -0x14(%edi)
            0xd2b7da: mov %edx, -0x18(%edi)
            0xd2b7dd: mov (%esp), %edx
            0xd2b7e0: mov %edx, -0x10(%edi)
            0xd2b7e3: mov %edi, %ecx
            0xd2b7e5: sub 0xc, %esp
            0xd2b7e8: mov %eax, %edi
            0xd2b7ea: call 0x8eb50
            0xd2b7ef: add 0xc, %esp
            0xd2b7f2: cmp 0xfa, 0x7a9aba70
            0xd2b7f9: jnz 0xd2b800
            0xd2b7ff: ret 
            0xd2b800: pop %edx
            0xd2b801: mov 0x7a9aba84, %ecx
            0xd2b806: mov %edx, (%ecx)
            0xd2b808: mov %edi, 0x58(%esp)
            0xd2b80c: mov %edi, 0x7a9aac84
            0xd2b812: mov 0x3189a9, %edx
            0xd2b817: push %edx
            0xd2b818: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2b820, 0xd2b880):
            0xd2b820: mov 0x0, -0x8(%edi)
            0xd2b827: mov %edi, 0x7a9aac84
            0xd2b82d: mov -0x28(%edi), %eax
            0xd2b830: mov -0x18(%eax), %edx
            0xd2b833: mov 0xfffffffb, -0x14(%edi)
            0xd2b83a: mov %edx, -0x18(%edi)
            0xd2b83d: mov (%esp), %edx
            0xd2b840: mov %edx, -0x10(%edi)
            0xd2b843: mov %edi, %ecx
            0xd2b845: sub 0xc, %esp
            0xd2b848: mov %eax, %edi
            0xd2b84a: call 0x8edf0
            0xd2b84f: add 0xc, %esp
            0xd2b852: cmp 0xfa, 0x7a9aba70
            0xd2b859: jnz 0xd2b860
            0xd2b85f: ret 
            0xd2b860: pop %edx
            0xd2b861: mov 0x7a9aba84, %ecx
            0xd2b866: mov %edx, (%ecx)
            0xd2b868: mov %edi, 0x58(%esp)
            0xd2b86c: mov %edi, 0x7a9aac84
            0xd2b872: mov 0x3189a9, %edx
            0xd2b877: push %edx
            0xd2b878: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2b880, 0xd2b8e0):
            0xd2b880: mov 0x0, -0x8(%edi)
            0xd2b887: mov %edi, 0x7a9aac84
            0xd2b88d: mov -0x28(%edi), %eax
            0xd2b890: mov -0x18(%eax), %edx
            0xd2b893: mov 0xfffffffb, -0x14(%edi)
            0xd2b89a: mov %edx, -0x18(%edi)
            0xd2b89d: mov (%esp), %edx
            0xd2b8a0: mov %edx, -0x10(%edi)
            0xd2b8a3: mov %edi, %ecx
            0xd2b8a5: sub 0xc, %esp
            0xd2b8a8: mov %eax, %edi
            0xd2b8aa: call 0x8f070
            0xd2b8af: add 0xc, %esp
            0xd2b8b2: cmp 0xfa, 0x7a9aba70
            0xd2b8b9: jnz 0xd2b8c0
            0xd2b8bf: ret 
            0xd2b8c0: pop %edx
            0xd2b8c1: mov 0x7a9aba84, %ecx
            0xd2b8c6: mov %edx, (%ecx)
            0xd2b8c8: mov %edi, 0x58(%esp)
            0xd2b8cc: mov %edi, 0x7a9aac84
            0xd2b8d2: mov 0x3189a9, %edx
            0xd2b8d7: push %edx
            0xd2b8d8: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2b8e0, 0xd2b940):
            0xd2b8e0: mov 0x0, -0x8(%edi)
            0xd2b8e7: mov %edi, 0x7a9aac84
            0xd2b8ed: mov -0x28(%edi), %eax
            0xd2b8f0: mov -0x18(%eax), %edx
            0xd2b8f3: mov 0xfffffffb, -0x14(%edi)
            0xd2b8fa: mov %edx, -0x18(%edi)
            0xd2b8fd: mov (%esp), %edx
            0xd2b900: mov %edx, -0x10(%edi)
            0xd2b903: mov %edi, %ecx
            0xd2b905: sub 0xc, %esp
            0xd2b908: mov %eax, %edi
            0xd2b90a: call 0x8f2b0
            0xd2b90f: add 0xc, %esp
            0xd2b912: cmp 0xfa, 0x7a9aba70
            0xd2b919: jnz 0xd2b920
            0xd2b91f: ret 
            0xd2b920: pop %edx
            0xd2b921: mov 0x7a9aba84, %ecx
            0xd2b926: mov %edx, (%ecx)
            0xd2b928: mov %edi, 0x58(%esp)
            0xd2b92c: mov %edi, 0x7a9aac84
            0xd2b932: mov 0x3189a9, %edx
            0xd2b937: push %edx
            0xd2b938: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2b940, 0xd2b9a0):
            0xd2b940: mov 0x0, -0x8(%edi)
            0xd2b947: mov %edi, 0x7a9aac84
            0xd2b94d: mov -0x28(%edi), %eax
            0xd2b950: mov -0x18(%eax), %edx
            0xd2b953: mov 0xfffffffb, -0x14(%edi)
            0xd2b95a: mov %edx, -0x18(%edi)
            0xd2b95d: mov (%esp), %edx
            0xd2b960: mov %edx, -0x10(%edi)
            0xd2b963: mov %edi, %ecx
            0xd2b965: sub 0xc, %esp
            0xd2b968: mov %eax, %edi
            0xd2b96a: call 0x8f400
            0xd2b96f: add 0xc, %esp
            0xd2b972: cmp 0xfa, 0x7a9aba70
            0xd2b979: jnz 0xd2b980
            0xd2b97f: ret 
            0xd2b980: pop %edx
            0xd2b981: mov 0x7a9aba84, %ecx
            0xd2b986: mov %edx, (%ecx)
            0xd2b988: mov %edi, 0x58(%esp)
            0xd2b98c: mov %edi, 0x7a9aac84
            0xd2b992: mov 0x3189a9, %edx
            0xd2b997: push %edx
            0xd2b998: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2b9a0, 0xd2ba00):
            0xd2b9a0: mov 0x0, -0x8(%edi)
            0xd2b9a7: mov %edi, 0x7a9aac84
            0xd2b9ad: mov -0x28(%edi), %eax
            0xd2b9b0: mov -0x18(%eax), %edx
            0xd2b9b3: mov 0xfffffffb, -0x14(%edi)
            0xd2b9ba: mov %edx, -0x18(%edi)
            0xd2b9bd: mov (%esp), %edx
            0xd2b9c0: mov %edx, -0x10(%edi)
            0xd2b9c3: mov %edi, %ecx
            0xd2b9c5: sub 0xc, %esp
            0xd2b9c8: mov %eax, %edi
            0xd2b9ca: call 0x8f440
            0xd2b9cf: add 0xc, %esp
            0xd2b9d2: cmp 0xfa, 0x7a9aba70
            0xd2b9d9: jnz 0xd2b9e0
            0xd2b9df: ret 
            0xd2b9e0: pop %edx
            0xd2b9e1: mov 0x7a9aba84, %ecx
            0xd2b9e6: mov %edx, (%ecx)
            0xd2b9e8: mov %edi, 0x58(%esp)
            0xd2b9ec: mov %edi, 0x7a9aac84
            0xd2b9f2: mov 0x3189a9, %edx
            0xd2b9f7: push %edx
            0xd2b9f8: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2ba00, 0xd2ba60):
            0xd2ba00: mov 0x0, -0x8(%edi)
            0xd2ba07: mov %edi, 0x7a9aac84
            0xd2ba0d: mov -0x28(%edi), %eax
            0xd2ba10: mov -0x18(%eax), %edx
            0xd2ba13: mov 0xfffffffb, -0x14(%edi)
            0xd2ba1a: mov %edx, -0x18(%edi)
            0xd2ba1d: mov (%esp), %edx
            0xd2ba20: mov %edx, -0x10(%edi)
            0xd2ba23: mov %edi, %ecx
            0xd2ba25: sub 0xc, %esp
            0xd2ba28: mov %eax, %edi
            0xd2ba2a: call 0x8f5e0
            0xd2ba2f: add 0xc, %esp
            0xd2ba32: cmp 0xfa, 0x7a9aba70
            0xd2ba39: jnz 0xd2ba40
            0xd2ba3f: ret 
            0xd2ba40: pop %edx
            0xd2ba41: mov 0x7a9aba84, %ecx
            0xd2ba46: mov %edx, (%ecx)
            0xd2ba48: mov %edi, 0x58(%esp)
            0xd2ba4c: mov %edi, 0x7a9aac84
            0xd2ba52: mov 0x3189a9, %edx
            0xd2ba57: push %edx
            0xd2ba58: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2ba60, 0xd2bac0):
            0xd2ba60: mov 0x0, -0x8(%edi)
            0xd2ba67: mov %edi, 0x7a9aac84
            0xd2ba6d: mov -0x28(%edi), %eax
            0xd2ba70: mov -0x18(%eax), %edx
            0xd2ba73: mov 0xfffffffb, -0x14(%edi)
            0xd2ba7a: mov %edx, -0x18(%edi)
            0xd2ba7d: mov (%esp), %edx
            0xd2ba80: mov %edx, -0x10(%edi)
            0xd2ba83: mov %edi, %ecx
            0xd2ba85: sub 0xc, %esp
            0xd2ba88: mov %eax, %edi
            0xd2ba8a: call 0x8f780
            0xd2ba8f: add 0xc, %esp
            0xd2ba92: cmp 0xfa, 0x7a9aba70
            0xd2ba99: jnz 0xd2baa0
            0xd2ba9f: ret 
            0xd2baa0: pop %edx
            0xd2baa1: mov 0x7a9aba84, %ecx
            0xd2baa6: mov %edx, (%ecx)
            0xd2baa8: mov %edi, 0x58(%esp)
            0xd2baac: mov %edi, 0x7a9aac84
            0xd2bab2: mov 0x3189a9, %edx
            0xd2bab7: push %edx
            0xd2bab8: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2bac0, 0xd2bb20):
            0xd2bac0: mov 0x0, -0x8(%edi)
            0xd2bac7: mov %edi, 0x7a9aac84
            0xd2bacd: mov -0x28(%edi), %eax
            0xd2bad0: mov -0x18(%eax), %edx
            0xd2bad3: mov 0xfffffffb, -0x14(%edi)
            0xd2bada: mov %edx, -0x18(%edi)
            0xd2badd: mov (%esp), %edx
            0xd2bae0: mov %edx, -0x10(%edi)
            0xd2bae3: mov %edi, %ecx
            0xd2bae5: sub 0xc, %esp
            0xd2bae8: mov %eax, %edi
            0xd2baea: call 0x8f920
            0xd2baef: add 0xc, %esp
            0xd2baf2: cmp 0xfa, 0x7a9aba70
            0xd2baf9: jnz 0xd2bb00
            0xd2baff: ret 
            0xd2bb00: pop %edx
            0xd2bb01: mov 0x7a9aba84, %ecx
            0xd2bb06: mov %edx, (%ecx)
            0xd2bb08: mov %edi, 0x58(%esp)
            0xd2bb0c: mov %edi, 0x7a9aac84
            0xd2bb12: mov 0x3189a9, %edx
            0xd2bb17: push %edx
            0xd2bb18: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2bb20, 0xd2bb80):
            0xd2bb20: mov 0x0, -0x8(%edi)
            0xd2bb27: mov %edi, 0x7a9aac84
            0xd2bb2d: mov -0x28(%edi), %eax
            0xd2bb30: mov -0x18(%eax), %edx
            0xd2bb33: mov 0xfffffffb, -0x14(%edi)
            0xd2bb3a: mov %edx, -0x18(%edi)
            0xd2bb3d: mov (%esp), %edx
            0xd2bb40: mov %edx, -0x10(%edi)
            0xd2bb43: mov %edi, %ecx
            0xd2bb45: sub 0xc, %esp
            0xd2bb48: mov %eax, %edi
            0xd2bb4a: call 0x8fac0
            0xd2bb4f: add 0xc, %esp
            0xd2bb52: cmp 0xfa, 0x7a9aba70
            0xd2bb59: jnz 0xd2bb60
            0xd2bb5f: ret 
            0xd2bb60: pop %edx
            0xd2bb61: mov 0x7a9aba84, %ecx
            0xd2bb66: mov %edx, (%ecx)
            0xd2bb68: mov %edi, 0x58(%esp)
            0xd2bb6c: mov %edi, 0x7a9aac84
            0xd2bb72: mov 0x3189a9, %edx
            0xd2bb77: push %edx
            0xd2bb78: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2bb80, 0xd2bbe0):
            0xd2bb80: mov 0x0, -0x8(%edi)
            0xd2bb87: mov %edi, 0x7a9aac84
            0xd2bb8d: mov -0x28(%edi), %eax
            0xd2bb90: mov -0x18(%eax), %edx
            0xd2bb93: mov 0xfffffffb, -0x14(%edi)
            0xd2bb9a: mov %edx, -0x18(%edi)
            0xd2bb9d: mov (%esp), %edx
            0xd2bba0: mov %edx, -0x10(%edi)
            0xd2bba3: mov %edi, %ecx
            0xd2bba5: sub 0xc, %esp
            0xd2bba8: mov %eax, %edi
            0xd2bbaa: call 0x8fc60
            0xd2bbaf: add 0xc, %esp
            0xd2bbb2: cmp 0xfa, 0x7a9aba70
            0xd2bbb9: jnz 0xd2bbc0
            0xd2bbbf: ret 
            0xd2bbc0: pop %edx
            0xd2bbc1: mov 0x7a9aba84, %ecx
            0xd2bbc6: mov %edx, (%ecx)
            0xd2bbc8: mov %edi, 0x58(%esp)
            0xd2bbcc: mov %edi, 0x7a9aac84
            0xd2bbd2: mov 0x3189a9, %edx
            0xd2bbd7: push %edx
            0xd2bbd8: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2bbe0, 0xd2bc40):
            0xd2bbe0: mov 0x0, -0x8(%edi)
            0xd2bbe7: mov %edi, 0x7a9aac84
            0xd2bbed: mov -0x28(%edi), %eax
            0xd2bbf0: mov -0x18(%eax), %edx
            0xd2bbf3: mov 0xfffffffb, -0x14(%edi)
            0xd2bbfa: mov %edx, -0x18(%edi)
            0xd2bbfd: mov (%esp), %edx
            0xd2bc00: mov %edx, -0x10(%edi)
            0xd2bc03: mov %edi, %ecx
            0xd2bc05: sub 0xc, %esp
            0xd2bc08: mov %eax, %edi
            0xd2bc0a: call 0x8fe00
            0xd2bc0f: add 0xc, %esp
            0xd2bc12: cmp 0xfa, 0x7a9aba70
            0xd2bc19: jnz 0xd2bc20
            0xd2bc1f: ret 
            0xd2bc20: pop %edx
            0xd2bc21: mov 0x7a9aba84, %ecx
            0xd2bc26: mov %edx, (%ecx)
            0xd2bc28: mov %edi, 0x58(%esp)
            0xd2bc2c: mov %edi, 0x7a9aac84
            0xd2bc32: mov 0x3189a9, %edx
            0xd2bc37: push %edx
            0xd2bc38: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2bc40, 0xd2bca0):
            0xd2bc40: mov 0x0, -0x8(%edi)
            0xd2bc47: mov %edi, 0x7a9aac84
            0xd2bc4d: mov -0x28(%edi), %eax
            0xd2bc50: mov -0x18(%eax), %edx
            0xd2bc53: mov 0xfffffffb, -0x14(%edi)
            0xd2bc5a: mov %edx, -0x18(%edi)
            0xd2bc5d: mov (%esp), %edx
            0xd2bc60: mov %edx, -0x10(%edi)
            0xd2bc63: mov %edi, %ecx
            0xd2bc65: sub 0xc, %esp
            0xd2bc68: mov %eax, %edi
            0xd2bc6a: call 0x8ffa0
            0xd2bc6f: add 0xc, %esp
            0xd2bc72: cmp 0xfa, 0x7a9aba70
            0xd2bc79: jnz 0xd2bc80
            0xd2bc7f: ret 
            0xd2bc80: pop %edx
            0xd2bc81: mov 0x7a9aba84, %ecx
            0xd2bc86: mov %edx, (%ecx)
            0xd2bc88: mov %edi, 0x58(%esp)
            0xd2bc8c: mov %edi, 0x7a9aac84
            0xd2bc92: mov 0x3189a9, %edx
            0xd2bc97: push %edx
            0xd2bc98: ret 
Generated JIT code for JIT CTI native call:
    Code at [0xd2bca0, 0xd2bd00):
            0xd2bca0: mov 0x0, -0x8(%edi)
            0xd2bca7: mov %edi, 0x7a9aac84
            0xd2bcad: mov -0x28(%edi), %eax
            0xd2bcb0: mov -0x18(%eax), %edx
            0xd2bcb3: mov 0xfffffffb, -0x14(%edi)
            0xd2bcba: mov %edx, -0x18(%edi)
            0xd2bcbd: mov (%esp), %edx
            0xd2bcc0: mov %edx, -0x10(%edi)
            0xd2bcc3: mov %edi, %ecx
            0xd2bcc5: sub 0xc, %esp
            0xd2bcc8: mov %eax, %edi
            0xd2bcca: call 0x90140
            0xd2bccf: add 0xc, %esp
            0xd2bcd2: cmp 0xfa, 0x7a9aba70
            0xd2bcd9: jnz 0xd2bce0
            0xd2bcdf: ret 
            0xd2bce0: pop %edx
            0xd2bce1: mov 0x7a9aba84, %ecx
            0xd2bce6: mov %edx, (%ecx)
            0xd2bce8: mov %edi, 0x58(%esp)
            0xd2bcec: mov %edi, 0x7a9aac84
            0xd2bcf2: mov 0x3189a9, %edx
            0xd2bcf7: push %edx
            0xd2bcf8: ret 
Generated JIT code for LLInt program prologue thunk:
    Code at [0xd2bd00, 0xd2bd20):
            0xd2bd00: mov 0x5032cd, %eax
            0xd2bd05: jmp %eax
Generated JIT code for LLInt function for call prologue thunk:
    Code at [0xd2bd20, 0xd2bd40):
            0xd2bd20: mov 0x50333d, %eax
            0xd2bd25: jmp %eax
Generated JIT code for LLInt function for call with arity check prologue thunk:
    Code at [0xd2bd40, 0xd2bd60):
            0xd2bd40: mov 0x5034b2, %eax
            0xd2bd45: jmp %eax
Generated JIT code for JIT CTI native call:
    Code at [0xd2bd60, 0xd2bdc0):
            0xd2bd60: mov 0x0, -0x8(%edi)
            0xd2bd67: mov %edi, 0x7a9aac84
            0xd2bd6d: mov -0x28(%edi), %eax
            0xd2bd70: mov -0x18(%eax), %edx
            0xd2bd73: mov 0xfffffffb, -0x14(%edi)
            0xd2bd7a: mov %edx, -0x18(%edi)
            0xd2bd7d: mov (%esp), %edx
            0xd2bd80: mov %edx, -0x10(%edi)
            0xd2bd83: mov %edi, %ecx
            0xd2bd85: sub 0xc, %esp
            0xd2bd88: mov %eax, %edi
            0xd2bd8a: call 0x19a2d0
            0xd2bd8f: add 0xc, %esp
            0xd2bd92: cmp 0xfa, 0x7a9aba70
            0xd2bd99: jnz 0xd2bda0
            0xd2bd9f: ret 
            0xd2bda0: pop %edx
            0xd2bda1: mov 0x7a9aba84, %ecx
            0xd2bda6: mov %edx, (%ecx)
            0xd2bda8: mov %edi, 0x58(%esp)
            0xd2bdac: mov %edi, 0x7a9aac84
            0xd2bdb2: mov 0x3189a9, %edx
            0xd2bdb7: push %edx
            0xd2bdb8: ret 
Generated JIT code for Baseline JIT code for CodeBlock 0x7b9b4c00:
    Code at [0xd2bdc0, 0xd2bfc0):
            0xd2bdc0: pop %ecx
            0xd2bdc1: mov %ecx, -0x10(%edi)
            0xd2bdc4: mov 0x7b9b4c00, -0x8(%edi)
            0xd2bdcb: mov -0x38(%edi), %eax
            0xd2bdce: mov -0x34(%edi), %edx
            0xd2bdd1: mov %eax, 0x7b013d68
            0xd2bdd6: mov %edx, 0x7b013d6c
            0xd2bddc: mov -0x40(%edi), %eax
            0xd2bddf: mov -0x3c(%edi), %edx
            0xd2bde2: mov %eax, 0x7b013d90
            0xd2bde7: mov %edx, 0x7b013d94
            0xd2bded: mov -0x48(%edi), %eax
            0xd2bdf0: mov -0x44(%edi), %edx
            0xd2bdf3: mov %eax, 0x7b013db8
            0xd2bdf8: mov %edx, 0x7b013dbc
            0xd2bdfe: mov -0x50(%edi), %eax
            0xd2be01: mov -0x4c(%edi), %edx
            0xd2be04: mov %eax, 0x7b013de0
            0xd2be09: mov %edx, 0x7b013de4
            0xd2be0f: lea 0x58(%edi), %edx
            0xd2be12: cmp %edx, 0x7b1118ac
            0xd2be18: jb 0xd2bf5c
            0xd2be1e: add 0x1, 0x7b9b51b8
            0xd2be25: mov 0x117fb40, %eax
            0xd2be2a: mov 0x7b015e60, %ebx
            0xd2be2f: mov (%ebx), %edx
            0xd2be31: cmp 0x4(%eax), %edx
            0xd2be34: jnz 0xd2bf07
            0xd2be3a: mov 0x8(%eax), %ecx
            0xd2be3d: mov 0x4(%ebx), %ebx
            0xd2be40: mov (%ecx,%ebx,8), %eax
            0xd2be43: mov 0x4(%ecx,%ebx,8), %edx
            0xd2be47: mov %eax, 0x7b9b4e4c
            0xd2be4c: mov %edx, 0x7b9b4e50
            0xd2be52: mov %eax, (%edi)
            0xd2be54: mov %edx, 0x4(%edi)
            0xd2be57: mov -0x40(%edi), %eax
            0xd2be5a: mov -0x3c(%edi), %edx
            0xd2be5d: mov %eax, 0x18(%edi)
            0xd2be60: mov %edx, 0x1c(%edi)
            0xd2be63: mov -0x48(%edi), %eax
            0xd2be66: mov -0x44(%edi), %edx
            0xd2be69: mov %eax, 0x10(%edi)
            0xd2be6c: mov %edx, 0x14(%edi)
            0xd2be6f: mov -0x50(%edi), %eax
            0xd2be72: mov -0x4c(%edi), %edx
            0xd2be75: mov %eax, 0x8(%edi)
            0xd2be78: mov %edx, 0xc(%edi)
            0xd2be7b: lea 0x58(%edi), %ebx
            0xd2be7e: mov 0x4, -0x30(%ebx)
            0xd2be85: mov 0x7b011ff8, -0x2c(%edi)
            0xd2be8c: mov (%edi), %eax
            0xd2be8e: mov 0x4(%edi), %edx
            0xd2be91: mov %edi, -0x28(%ebx)
            0xd2be94: mov %eax, -0x20(%ebx)
            0xd2be97: mov %edx, -0x1c(%ebx)
            0xd2be9a: mov %ebx, %edi
            0xd2be9c: cmp 0x0, %eax
            0xd2bea2: jnz 0xd2bf4b
            0xd2bea8: cmp 0xfb, %edx
            0xd2beab: jnz 0xd2bf4b
            0xd2beb1: mov 0x34(%eax), %edx
            0xd2beb4: mov 0xfffffffb, -0x14(%edi)
            0xd2bebb: mov %edx, -0x18(%edi)
            0xd2bebe: call 0xd2bec3
            0xd2bec3: mov %eax, 0x7b9b4e74
            0xd2bec8: mov %edx, 0x7b9b4e78
            0xd2bece: mov %eax, 0x28(%edi)
            0xd2bed1: mov %edx, 0x2c(%edi)
            0xd2bed4: add 0xf, 0x7b9b5218
            0xd2bedb: js 0xd2bef9
            0xd2bee1: mov %esp, %ecx
            0xd2bee3: mov %edi, 0x58(%esp)
            0xd2bee7: mov 0x7b012020, -0x2c(%edi)
            0xd2beee: mov %edi, 0x7a9aac84
            0xd2bef4: call 0x31edb0
            0xd2bef9: mov 0x28(%edi), %eax
            0xd2befc: mov 0x2c(%edi), %edx
            0xd2beff: mov -0x10(%edi), %ecx
            0xd2bf02: mov -0x28(%edi), %edi
            0xd2bf05: push %ecx
            0xd2bf06: ret 
            0xd2bf07: mov 0x7b011800, 0x4(%esp)
            0xd2bf0f: mov 0x0, 0xc(%esp)
            0xd2bf17: mov %esp, %ecx
            0xd2bf19: mov %edi, 0x58(%esp)
            0xd2bf1d: mov 0x7b011fc0, -0x2c(%edi)
            0xd2bf24: mov %edi, 0x7a9aac84
            0xd2bf2a: call 0x322ae0
            0xd2bf2f: mov %eax, 0x7b9b4e4c
            0xd2bf34: mov %edx, 0x7b9b4e50
            0xd2bf3a: mov %eax, (%edi)
            0xd2bf3c: mov %edx, 0x4(%edi)
            0xd2bf3f: add 0x1, 0x7b9b5014
            0xd2bf46: jmp 0xd2be57
            0xd2bf4b: call 0xd2b070
            0xd2bf50: add 0x1, 0x7b9b501c
            0xd2bf57: jmp 0xd2bec3
            0xd2bf5c: mov %esp, %ecx
            0xd2bf5e: mov %edi, 0x58(%esp)
            0xd2bf62: mov %edi, 0x7a9aac84
            0xd2bf68: call 0x31b0d0
            0xd2bf6d: jmp 0xd2be1e
            0xd2bf72: pop %ecx
            0xd2bf73: mov %ecx, -0x10(%edi)
            0xd2bf76: mov 0x7b9b4c00, -0x8(%edi)
            0xd2bf7d: mov -0x30(%edi), %edx
            0xd2bf80: cmp 0x4, %edx
            0xd2bf83: jae 0xd2bdcb
            0xd2bf89: mov %esp, %ecx
            0xd2bf8b: mov %edi, 0x58(%esp)
            0xd2bf8f: mov %edi, 0x7a9aac84
            0xd2bf95: call 0x31fa50
            0xd2bf9a: mov %eax, %edi
            0xd2bf9c: jmp 0xd2bdcb
Generated JIT code for LLInt function for construct prologue thunk:
    Code at [0xd2bfc0, 0xd2bfe0):
            0xd2bfc0: mov 0x5033f6, %eax
            0xd2bfc5: jmp %eax
Generated JIT code for LLInt function for construct with arity check prologue thunk:
    Code at [0xd2bfe0, 0xd2c000):
            0xd2bfe0: mov 0x503534, %eax
            0xd2bfe5: jmp %eax
Generated JIT code for Specialized thunk for abs:
    Code at [0xd2c000, 0xd2c0a0):
            0xd2c000: cmp 0x2, -0x30(%edi)
            0xd2c004: jnz 0xd2b1b0
            0xd2c00a: mov -0x40(%edi), %eax
            0xd2c00d: cmp 0xff, -0x3c(%edi)
            0xd2c011: jnz 0xd2c035
            0xd2c017: mov %eax, %edx
            0xd2c019: sar 0x1f, %edx
            0xd2c01c: add %edx, %eax
            0xd2c01e: xor %edx, %eax
            0xd2c020: cmp 0x80000000, %eax
            0xd2c026: jz 0xd2b1b0
            0xd2c02c: mov 0xffffffff, %edx
            0xd2c031: mov -0x28(%edi), %edi
            0xd2c034: ret 
            0xd2c035: mov -0x3c(%edi), %eax
            0xd2c038: cmp 0xf9, %eax
            0xd2c03b: jb 0xd2c056
            0xd2c041: cmp 0xff, %eax
            0xd2c044: jnz 0xd2b1b0
            0xd2c04a: mov -0x40(%edi), %eax
            0xd2c04d: cvtsi2sd %eax, %xmm0
            0xd2c051: jmp 0xd2c05b
            0xd2c056: movsd -0x40(%edi), %xmm0
            0xd2c05b: movsd 0x630ae8, %xmm1
            0xd2c063: andnpd %xmm0, %xmm1
            0xd2c067: movsd %xmm1, -0x8(%esp)
            0xd2c06d: mov -0x4(%esp), %edx
            0xd2c071: mov -0x8(%esp), %eax
            0xd2c075: test %edx, %edx
            0xd2c077: jnz 0xd2c08c
            0xd2c07d: test %eax, %eax
            0xd2c07f: jnz 0xd2c08c
            0xd2c085: xor %eax, %eax
            0xd2c087: mov 0xffffffff, %edx
            0xd2c08c: mov -0x28(%edi), %edi
            0xd2c08f: ret 
Generated JIT code for Specialized thunk for sqrt:
    Code at [0xd2c0a0, 0xd2c100):
            0xd2c0a0: cmp 0x2, -0x30(%edi)
            0xd2c0a4: jnz 0xd2b1b0
            0xd2c0aa: mov -0x3c(%edi), %eax
            0xd2c0ad: cmp 0xf9, %eax
            0xd2c0b0: jb 0xd2c0cb
            0xd2c0b6: cmp 0xff, %eax
            0xd2c0b9: jnz 0xd2b1b0
            0xd2c0bf: mov -0x40(%edi), %eax
            0xd2c0c2: cvtsi2sd %eax, %xmm0
            0xd2c0c6: jmp 0xd2c0d0
            0xd2c0cb: movsd -0x40(%edi), %xmm0
            0xd2c0d0: sqrtsd %xmm0, %xmm0
            0xd2c0d4: movsd %xmm0, -0x8(%esp)
            0xd2c0da: mov -0x4(%esp), %edx
            0xd2c0de: mov -0x8(%esp), %eax
            0xd2c0e2: test %edx, %edx
            0xd2c0e4: jnz 0xd2c0f9
            0xd2c0ea: test %eax, %eax
            0xd2c0ec: jnz 0xd2c0f9
            0xd2c0f2: xor %eax, %eax
            0xd2c0f4: mov 0xffffffff, %edx
            0xd2c0f9: mov -0x28(%edi), %edi
            0xd2c0fc: ret 
Generated JIT code for String get_by_val stub:
    Code at [0xd2c100, 0xd2c160):
            0xd2c100: cmp 0x669324, (%eax)
            0xd2c106: jnz 0xd2c15b
            0xd2c10c: mov 0xc(%eax), %edx
            0xd2c10f: mov 0x10(%eax), %eax
            0xd2c112: test %eax, %eax
            0xd2c114: jz 0xd2c15b
            0xd2c11a: cmp %edx, %ecx
            0xd2c11c: jae 0xd2c15b
            0xd2c122: mov 0x10(%eax), %edx
            0xd2c125: mov 0x8(%eax), %eax
            0xd2c128: test 0x40, %edx
            0xd2c12e: jz 0xd2c13d
            0xd2c134: movzx (%eax,%ecx), %eax
            0xd2c138: jmp 0xd2c141
            0xd2c13d: movzx (%eax,%ecx,2), %eax
            0xd2c141: cmp 0x100, %eax
            0xd2c147: jae 0xd2c15b
            0xd2c14d: mov 0x7a9aad58, %edx
            0xd2c152: mov (%edx,%eax,4), %eax
            0xd2c155: mov 0xfffffffb, %edx
            0xd2c15a: ret 
            0xd2c15b: xor %eax, %eax
            0xd2c15d: ret
Comment 2 Filip Pizlo 2012-06-19 17:57:46 PDT
Created attachment 148476 [details]
patch for landing

The previous one wasn't properly rebased so I've rebased this one.
Comment 3 WebKit Review Bot 2012-06-19 18:00:19 PDT
Attachment 148476 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/CMakeLists.txt', u'S..." exit_code: 1
Source/JavaScriptCore/assembler/LinkBuffer.h:234:  The parameter name "effort" adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/assembler/LinkBuffer.h:243:  The parameter name "size" adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/disassembler/Disassembler.h:38:  The parameter name "size" adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 3 in 27 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 4 Filip Pizlo 2012-06-19 18:33:55 PDT
Landed in http://trac.webkit.org/changeset/120786
Comment 5 Thiago Marcos P. Santos 2012-06-19 22:55:21 PDT
This patch broke CMake build. disassembler/ folder should have been added to the include path.
Comment 6 Filip Pizlo 2012-06-19 22:58:39 PDT
(In reply to comment #5)
> This patch broke CMake build. disassembler/ folder should have been added to the include path.

It was added to the include paths in a bunch of CMake files.  In a previous commit.  Can you add it to wherever it needs to be added?