[ia32] Support root relative access of external references
Change-Id: I51dee467f5b843e96ffccbe6e99ba203e8c3bf10 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3111266 Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#76754}
This commit is contained in:
parent
25d5e50812
commit
5bf82ba424
@ -199,7 +199,11 @@ void TurboAssembler::PushArray(Register array, Register size, Register scratch,
|
||||
|
||||
Operand TurboAssembler::ExternalReferenceAsOperand(ExternalReference reference,
|
||||
Register scratch) {
|
||||
// TODO(jgruber): Add support for enable_root_relative_access.
|
||||
if (root_array_available() && options().enable_root_relative_access) {
|
||||
intptr_t delta =
|
||||
RootRegisterOffsetForExternalReference(isolate(), reference);
|
||||
return Operand(kRootRegister, delta);
|
||||
}
|
||||
if (root_array_available() && options().isolate_independent_code) {
|
||||
if (IsAddressableThroughRootRegister(isolate(), reference)) {
|
||||
// Some external references can be efficiently loaded as an offset from
|
||||
|
Loading…
Reference in New Issue
Block a user