Commit 6aec5e7a authored by Jakob Gruber's avatar Jakob Gruber Committed by Commit Bot

Reland "[ia32,root] Disable root indirections in irregexp code"

This is a reland of fefd9230

Original change's description:
> [ia32,root] Disable root indirections in irregexp code
> 
> Irregexp code spills and restores ebx at boundaries, and clobbers it
> inbetween. Root-relative loads are disabled in this region.
> 
> Bug: v8:6666
> Change-Id: I9c68bc8ef88d324da609996a8457ac9e30a9b6fc
> Reviewed-on: https://chromium-review.googlesource.com/c/1280762
> Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
> Commit-Queue: Jakob Gruber <jgruber@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#56639}

Bug: v8:6666
Change-Id: I92fe74e790ab9b2937a3b15db85bad45e6443083
Reviewed-on: https://chromium-review.googlesource.com/c/1280226Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56666}
parent 4f023875
......@@ -93,6 +93,9 @@ RegExpMacroAssemblerIA32::RegExpMacroAssemblerIA32(Isolate* isolate, Zone* zone,
success_label_(),
backtrack_label_(),
exit_label_() {
// Irregexp code clobbers ebx and spills/restores it at all boundaries.
masm_->set_root_array_available(false);
DCHECK_EQ(0, registers_to_save % 2);
__ jmp(&entry_label_); // We'll write the entry code later.
__ bind(&start_label_); // And then continue from here.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment