Inline constant pools aren't an immediately ideal solution due to the
fact that the Power architecture does not support pc-relative loads.
I can, however, imagine a hybrid solution where:
(a) constants are emitted in the same buffer as the code (like
inline pools but most likely after the code rather than
interspersed)
Note that there was no final conclusion about inline/out-of-line constant
pools
in V8. We had quite some trouble with the OOL constant pool, and it's
currently
disabled because it (a) tanks performance and (b) breaks the marking
invariant.
The main problem we face is code patching, and we want to use the OOL
constant
pool to solve this problem. But everything else that is not subject to code
patching (i.e. double constants, references to heap objects, large integer
constants, etc.) could still live inside the code object (in as of ARM) or
after
the code object (otherwise). For PPC it probably doesn't matter anyway,
since
you need a dedicated register to point to the beginning of the constant
pool, no
matter if its inline or out-of-line.
https://codereview.chromium.org/882263003/
--
--
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.