On Wed, Nov 13, 2013 at 6:17 AM, Steve Jonghee Yun <[email protected]>wrote:

> [...] 1. Why does subtract kHeapObjectTag in FIELD_ADDR() ?
>

We use a tagged representation to distinguish pointers and integral values,
so all our pointers are off by 1 and the integers are scaled by a factor of
2 (see e.g.
http://wingolog.org/archives/2011/05/18/value-representation-in-javascript-implementations
).


> 2. Why cast to Object**?
>

Our objects typically contain several pointers to other objects, so
FIELD_ADDR points into one object, and that location contains a pointer to
the other object => Object**. The layout of the objects is described (well,
actually obscured ;-) in objects.h via tons of constants.

-- 
-- 
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/groups/opt_out.

Reply via email to