Hi,

in x64 implementation I can see that code

const Register kRootRegister = { 13 };         // r13 (callee save).
// Actual value of root register is offset from the root array's start
// to take advantage of negitive 8-bit displacement values.

What does it mean?

It used here:
Label convert_global_proxy;
        __ JumpIfRoot(rcx, Heap::kUndefinedValueRootIndex,
                      &convert_global_proxy, Label::kNear);
        __ JumpIfNotRoot(rcx, Heap::kNullValueRootIndex, &convert_to_object,
                         Label::kNear);

In asm this code is:

0x2ecf4661ca9a    58 493b4da8       REX.W cmpq rcx,[r13-0x58]
0x2ecf4661ca9e    62 7406           jz 70  (0x2ecf4661caa6)
0x2ecf4661caa0    64 493b4db8       REX.W cmpq rcx,[r13-0x48]
0x2ecf4661caa4    68 750d           jnz 83  (0x2ecf4661cab3)

Somebody knows what are purposes for r13 (root register)?

-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" 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.

Reply via email to