Hello,

[email protected] writes:

> I'm interested in the ability to restrict V8 from generating
> particular instructions use of input/output registers to an
> [artificial] subset of available allocatable registers, and I was
> curious if the constraint system has this ability?

I don't think the constraint system itself has this ability but you
should be able to do this as part of the CallDescriptor associated with
the function you're compiling by giving it a set of restricted registers
to work with:

https://cs.chromium.org/chromium/src/v8/src/compiler/linkage.h?rcl=6fa327e3816b12f7efe1a3fd600c0fff72e8cb8a&l=356

So if you want to change the available registers for all JS function for
instance, you could probably change the JS call descriptor here:
https://cs.chromium.org/chromium/src/v8/src/compiler/linkage.cc?rcl=6fa327e3816b12f7efe1a3fd600c0fff72e8cb8a&l=347

As an example, we restrict registers for the RecordWrite builtin, as
this builtin can be called "out-of-line" from generated code, and we
don't know which registers are live at this level:

https://cs.chromium.org/chromium/src/v8/src/compiler/backend/arm64/code-generator-arm64.cc?l=908&rcl=6fa327e3816b12f7efe1a3fd600c0fff72e8cb8a

Hope this helps!

Thanks,
Pierre

-- 
-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/v8-dev/878soik8ot.fsf%40arm.com.

Reply via email to