I'm doing research and using Frida for dynamic binary instrumentation v8 in Chromium. I'm interested in how the v8::String (or v8::internal::String) object is stored in memory. I call setTimeout("console.log ('12339');", 100); on the web page and I intercept the setTimeoutMethodCallback call at the interpreter level. After that I get access to the String object from FunctionCallbackInfo <v8 :: Value> args.
The first call the String object in memory looks like this: <https://lh3.googleusercontent.com/-CdFJoQ1izkE/WvRFwz1X9yI/AAAAAAAAACc/snMn50OjU2Q3KdIhIl4TNOOFEfTnZm-BgCLcBGAs/s1600/first.png> You can see that there is a line through 23 bytes, and before it its length. But already with the repeated call setTimeout ("console.log ('12339');", 100); the String object looks like this: <https://lh3.googleusercontent.com/-qxFoeD7D19U/WvRGAgZXedI/AAAAAAAAACk/Wo4_tMv5aG0bnvetTE7TNWAZ1Nj1EYdggCLcBGAs/s1600/second.png> The length of the line is also visible, but the line itself is no longer visible. What is it? Is this caching? Is it a feature of v8 or Chromium? Why does this happen and what is the structure of the String object now? And where is the line now? Please help with research. I did not find the documentation for something like this. -- -- v8-users mailing list v8-users@googlegroups.com 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 v8-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.