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