hi, Iam looking at the arm assembly for a storeic monomorphic stub. its not clear to me which step does direct access to the property and also where the hidden class is accessed (i assume the map somehow represents the hidden class). could you pls give some pointers.
Also assuming unique stub is generated for each property, much of the code seems common checks, isnt it possible to share or am i wrong. thanks, Zaheer kind = STORE_IC ic_state = MONOMORPHIC ic_in_loop = 0 type = FIELD name = c Instructions (size = 116) 0xf5ac5a00 0 e3110001 tst r1, #1 0xf5ac5a04 4 0a000014 beq +88 -> 92 (0xf5ac5a5c) 0xf5ac5a08 8 e5113001 ldr r3, [r1, #-1] 0xf5ac5a0c 12 e59fc054 ldr ip, [pc, #+84] ;; object: 0xf5b26ae1 <Map> 0xf5ac5a10 16 e153000c cmp r3, ip 0xf5ac5a14 20 1a000010 bne +72 -> 92 (0xf5ac5a5c) 0xf5ac5a18 24 e5810013 str r0, [r1, #+19] 0xf5ac5a1c 28 e3100001 tst r0, #1 0xf5ac5a20 32 0a00000c beq +56 -> 88 (0xf5ac5a58) 0xf5ac5a24 36 e3a02014 mov r2, #20 0xf5ac5a28 40 e20134ff and r3, r1, #-16777216 0xf5ac5a2c 44 e35304f6 cmp r3, #-167772160 0xf5ac5a30 48 0a000008 beq +40 -> 88 (0xf5ac5a58) 0xf5ac5a34 52 e59fc030 ldr ip, [pc, #+48] 0xf5ac5a38 56 e0812002 add r2, r1, r2 0xf5ac5a3c 60 e002200c and r2, r2, ip 0xf5ac5a40 64 e1a02422 mov r2, r2, lsr #8 0xf5ac5a44 68 e1c1100c bic r1, r1, ip 0xf5ac5a48 72 e5913008 ldr r3, [r1, #+8] 0xf5ac5a4c 76 e3a0c001 mov ip, #1 0xf5ac5a50 80 e183321c orr r3, r3, ip, lsl r2 0xf5ac5a54 84 e5813008 str r3, [r1, #+8] 0xf5ac5a58 88 e12fff1e bx lr 0xf5ac5a5c 92 e59fc00c ldr ip, [pc, #+12] ;; code: BUILTIN, StoreIC_Miss 0xf5ac5a60 96 e12fff1c bx ip 0xf5ac5a64 100 03000003 constant pool begin 0xf5ac5a68 104 f5b26ae1 constant 0xf5ac5a6c 108 00001fff constant 0xf5ac5a70 112 f5b45280 constant thanks, Zaheer -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users
