v8::String object in memory

25 views
Skip to first unread message

Artem Boldyrev

unread,
May 10, 2018, 9:19:45 AM5/10/18
to v8-users
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:










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:










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.

Jakob Kummerow

unread,
May 10, 2018, 4:09:08 PM5/10/18
to v8-users

--
--
v8-users mailing list
v8-u...@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+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages