Advertisement
Guest User

Untitled

a guest
Oct 16th, 2013
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --- Raw source ---
  2. (arg) {
  3.  
  4.         return typeof arg === "string";
  5.  
  6.     }
  7.  
  8.  
  9. --- Optimized code ---
  10. kind = OPTIMIZED_FUNCTION
  11. name = a
  12. stack_slots = 1
  13. Instructions (size = 102)
  14. 34932F80     0  55             push ebp
  15. 34932F81     1  89e5           mov ebp,esp
  16. 34932F83     3  56             push esi
  17. 34932F84     4  57             push edi
  18. 34932F85     5  6a00           push 0x0
  19.                   ;;; <@0,#0> -------------------- B0 --------------------
  20.                   ;;; <@2,#1> context
  21. 34932F87     7  8b75fc         mov esi,[ebp-4]
  22.                   ;;; <@10,#8> -------------------- B1 --------------------
  23.                   ;;; <@12,#10> stack-check
  24. 34932F8A    10  3b2518494f00   cmp esp,[0x004f4918]
  25. 34932F90    16  7305           jnc 23  (34932F97)
  26. 34932F92    18  e8c988feff     call StackCheck  (3491B860)    ;; code: BUILTIN
  27.                   ;;; <@14,#12> gap
  28. 34932F97    23  8b4508         mov eax,[ebp+8]
  29.                   ;;; <@15,#12> typeof-is-and-branch
  30. 34932F9A    26  a801           test al,0x1
  31. 34932F9C    28  0f8417000000   jz 57  (34932FB9)
  32. 34932FA2    34  8b40ff         mov eax,[eax-1]
  33. 34932FA5    37  80780780       cmpb [eax+7],0x80
  34. 34932FA9    41  0f830a000000   jnc 57  (34932FB9)
  35. 34932FAF    47  f6400920       test_b [eax+9],0x20
  36. 34932FB3    51  0f840a000000   jz 67  (34932FC3)
  37.                   ;;; <@16,#18> -------------------- B2 --------------------
  38.                   ;;; <@18,#20> gap
  39. 34932FB9    57  b8c180401c     mov eax,0x1c4080c1            ;; object: 1C4080C1 <false>
  40.                   ;;; <@19,#20> goto
  41. 34932FBE    62  e905000000     jmp 72  (34932FC8)
  42.                   ;;; <@20,#15> -------------------- B3 --------------------
  43.                   ;;; <@22,#17> gap
  44. 34932FC3    67  b8b180401c     mov eax,0x1c4080b1            ;; object: 1C4080B1 <true>
  45.                   ;;; <@24,#22> -------------------- B4 --------------------
  46.                   ;;; <@26,#24> return
  47. 34932FC8    72  89ec           mov esp,ebp
  48. 34932FCA    74  5d             pop ebp
  49. 34932FCB    75  c20800         ret 0x8
  50. 34932FCE    78  90             nop
  51. 34932FCF    79  90             nop
  52. 34932FD0    80  90             nop
  53. 34932FD1    81  90             nop
  54. 34932FD2    82  90             nop
  55. 34932FD3    83  90             nop
  56.  
  57.  
  58. --- Raw source ---
  59. (arg) {
  60.  
  61.         var tmp = typeof arg;
  62.  
  63.         return tmp === "string";
  64.  
  65.     }
  66.  
  67.  
  68. --- Optimized code ---
  69. kind = OPTIMIZED_FUNCTION
  70. name = b
  71. stack_slots = 2
  72. Instructions (size = 156)
  73. 34932EA0     0  55             push ebp
  74. 34932EA1     1  89e5           mov ebp,esp
  75. 34932EA3     3  56             push esi
  76. 34932EA4     4  57             push edi
  77. 34932EA5     5  83ec08         sub esp,0x8
  78.                   ;;; Store dynamic frame alignment tag for spilled doubles
  79. 34932EA8     8  c745f400000000 mov [ebp-12],0x0
  80.                   ;;; <@0,#0> -------------------- B0 --------------------
  81.                   ;;; <@2,#1> context
  82. 34932EAF    15  8b45fc         mov eax,[ebp-4]
  83.                   ;;; <@3,#1> gap
  84. 34932EB2    18  8945f0         mov [ebp-16],eax
  85.                   ;;; <@10,#8> -------------------- B1 --------------------
  86.                   ;;; <@11,#8> gap
  87. 34932EB5    21  89c6           mov esi,eax
  88.                   ;;; <@12,#10> stack-check
  89. 34932EB7    23  3b2518494f00   cmp esp,[0x004f4918]
  90. 34932EBD    29  7305           jnc 36  (34932EC4)
  91. 34932EBF    31  e89c89feff     call StackCheck  (3491B860)    ;; code: BUILTIN
  92.                   ;;; <@13,#10> gap
  93. 34932EC4    36  8b75f0         mov esi,[ebp-16]
  94. 34932EC7    39  8b4508         mov eax,[ebp+8]
  95.                   ;;; <@14,#12> typeof
  96. 34932ECA    42  50             push eax
  97. 34932ECB    43  b801000000     mov eax,0x00000001
  98. 34932ED0    48  bb409a2c01     mov ebx,0x012c9a40
  99. 34932ED5    53  e88679fdff     call 0x3490a860               ;; code: STUB, CEntryStub, minor: 0
  100.                   ;;; <@16,#16> check-non-smi
  101. 34932EDA    58  a801           test al,0x1
  102. 34932EDC    60  0f842d000000   jz 111  (34932F0F)
  103.                   ;;; <@18,#17> check-instance-type
  104. 34932EE2    66  8b48ff         mov ecx,[eax-1]
  105. 34932EE5    69  f6410740       test_b [ecx+7],0x40
  106. 34932EE9    73  0f8525000000   jnz 116  (34932F14)
  107.                   ;;; <@21,#19> cmp-object-eq-and-branch
  108. 34932EEF    79  3d3dd29005     cmp eax, 0x0590d23d           ;; object: 0590D23D <String[6]: string>
  109. 34932EF4    84  0f840a000000   jz 100  (34932F04)
  110.                   ;;; <@22,#25> -------------------- B2 --------------------
  111.                   ;;; <@24,#27> gap
  112. 34932EFA    90  b8c180401c     mov eax,0x1c4080c1            ;; object: 1C4080C1 <false>
  113.                   ;;; <@25,#27> goto
  114. 34932EFF    95  e905000000     jmp 105  (34932F09)
  115.                   ;;; <@26,#22> -------------------- B3 --------------------
  116.                   ;;; <@28,#24> gap
  117. 34932F04   100  b8b180401c     mov eax,0x1c4080b1            ;; object: 1C4080B1 <true>
  118.                   ;;; <@30,#29> -------------------- B4 --------------------
  119.                   ;;; <@32,#31> return
  120. 34932F09   105  89ec           mov esp,ebp
  121. 34932F0B   107  5d             pop ebp
  122. 34932F0C   108  c20800         ret 0x8
  123.                   ;;; -------------------- Jump table --------------------
  124.                   ;;; jump table entry 0: deoptimization bailout 1.
  125. 34932F0F   111  e8f6709d0a     call 0x3f30a00a               ;; debug: position 162
  126.                                                              ;; deoptimization bailout 1
  127.                   ;;; jump table entry 1: deoptimization bailout 2.
  128. 34932F14   116  e8fb709d0a     call 0x3f30a014               ;; deoptimization bailout 2
  129. 34932F19   121  90             nop
  130. 34932F1A   122  90             nop
  131. 34932F1B   123  90             nop
  132. 34932F1C   124  90             nop
  133. 34932F1D   125  90             nop
  134. 34932F1E   126  66             nop
  135. 34932F1F   127  90             nop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement