Hi,
I'm trying to track down an eager deoptimization in my node.js code, and it
seems to be directly related to a keyed lookup on an object using a string.
There is a comment on an issue from May
(https://code.google.com/p/v8/issues/detail?id=3183#c12) that seems to
indicate that the assumption is that keyed lookups are by number. Is that
the case? Is it not possible for me to optimize this method if I require a
keyed lookup by string?
versions:
node: v0.12.7
v8: 3.28.71.19
This is the stack for the triggered DEOPT, please let me know if further
information would help:
[optimizing 0x2d3900bd1609 <JS Function Codec.encode (SharedFunctionInfo
0x2d3900b27af9)> - took 0.820, 0.509, 0.214 ms]
[deoptimizing (DEOPT eager): begin 0x2d3900bd1609 Codec.encode (opt #34)
@40, FP to SP delta: 56]
Deferred TaggedToI: NaN
translating Codec.encode => node=136, height=24
0x7fff5fbff0a0: [top + 80] <- 0x373656140201 ; [sp + 96] 0x373656140201
<JS Object>
0x7fff5fbff098: [top + 72] <- 0x331bd6004161 ; rbx 0x331bd6004161 <true>
0x7fff5fbff090: [top + 64] <- 0x3736561487c1 ; [sp + 80] 0x3736561487c1
<a BufferBuilder with map 0x28dbca62ad71>
0x7fff5fbff088: [top + 56] <- 0xeb789d0f7f1 ; rdx 0xeb789d0f7f1
<String[7]: boolean>
0x7fff5fbff080: [top + 48] <- 0x31a4d47f5f88 ; caller's pc
0x7fff5fbff078: [top + 40] <- 0x7fff5fbff0e0 ; caller's fp
0x7fff5fbff070: [top + 32] <- 0x2d3900b7d7f9; context
0x7fff5fbff068: [top + 24] <- 0x2d3900bd1609; function
0x7fff5fbff060: [top + 16] <- 0x331bd6004121 <undefined> ; literal
0x7fff5fbff058: [top + 8] <- 0x331bd6004121 <undefined> ; literal
0x7fff5fbff050: [top + 0] <- 0x331bd6004121 <undefined> ; literal
[deoptimizing (eager): end 0x2d3900bd1609 Codec.encode @40 => node=136,
pc=0x31a4d47f4edf, state=NO_REGISTERS, alignment=no padding, took 0.062 ms]
[deoptimizer unlinked: Codec.encode / 2d3900bd1609]
Regards,
Matt
--
--
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
---
You received this message because you are subscribed to the Google Groups
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.