Commit 9461aa56 authored by Mythri's avatar Mythri Committed by Commit Bot

[Interpreter] Enable sharing of load / store named property feedback

This cl enables sharing of feedback slots for load / sotre named property.
This is a follow up cl of
https://chromium-review.googlesource.com/c/v8/v8/+/966302 that introduces
this feature.

Bug: v8:7530
Change-Id: I0c056b7a3608117db2fc99ebcd6836dfeed471d8
Reviewed-on: https://chromium-review.googlesource.com/1065737Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53515}
parent 57bc75fb
......@@ -335,7 +335,7 @@ DEFINE_BOOL(ignition_elide_noneffectful_bytecodes, true,
DEFINE_BOOL(ignition_reo, true, "use ignition register equivalence optimizer")
DEFINE_BOOL(ignition_filter_expression_positions, true,
"filter expression positions before the bytecode pipeline")
DEFINE_BOOL(ignition_share_named_property_feedback, false,
DEFINE_BOOL(ignition_share_named_property_feedback, true,
"share feedback slots when loading the same named property from "
"the same object")
DEFINE_BOOL(print_bytecode, false,
......
......@@ -175,10 +175,10 @@ bytecodes: [
/* 106 E> */ B(TestEqual), R(6), U8(7),
B(JumpIfFalse), U8(4),
/* 113 S> */ B(Jump), U8(17),
/* 130 S> */ B(LdaNamedProperty), R(0), U8(2), U8(8),
/* 130 S> */ B(LdaNamedProperty), R(0), U8(2), U8(5),
B(Star), R(6),
B(LdaSmi), I8(20),
/* 136 E> */ B(TestEqual), R(6), U8(10),
/* 136 E> */ B(TestEqual), R(6), U8(8),
B(JumpIfFalse), U8(4),
/* 143 S> */ B(Jump), U8(9),
B(ForInStep), R(5),
......
......@@ -344,9 +344,9 @@ bytecodes: [
/* 1672 S> */ B(LdaNamedProperty), R(0), U8(126), U8(252),
/* 1685 S> */ B(LdaNamedProperty), R(0), U8(127), U8(254),
/* 1698 S> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(128), U16(256),
/* 1715 S> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(128), U16(258),
/* 1715 S> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(128), U16(256),
B(Star), R(1),
/* 1715 E> */ B(Wide), B(CallProperty0), R16(1), R16(arg0), U16(260),
/* 1715 E> */ B(Wide), B(CallProperty0), R16(1), R16(arg0), U16(258),
/* 1722 S> */ B(Return),
]
constant pool: [
......
......@@ -298,7 +298,7 @@ snippet: "
"
frame size: 1
parameter count: 2
bytecode array length: 538
bytecode array length: 534
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 18 S> */ B(LdaSmi), I8(1),
......@@ -434,7 +434,7 @@ bytecodes: [
/* 1686 S> */ B(LdaNamedProperty), R(0), U8(127), U8(254),
/* 1699 S> */ B(Wide), B(LdaNamedProperty), R16(0), U16(128), U16(256),
/* 1710 S> */ B(LdaSmi), I8(2),
/* 1717 E> */ B(Wide), B(StaNamedProperty), R16(arg0), U16(0), U16(258),
/* 1717 E> */ B(StaNamedProperty), R(arg0), U8(0), U8(0),
B(LdaUndefined),
/* 1722 S> */ B(Return),
]
......@@ -712,7 +712,7 @@ snippet: "
"
frame size: 1
parameter count: 2
bytecode array length: 538
bytecode array length: 534
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 33 S> */ B(LdaSmi), I8(1),
......@@ -848,7 +848,7 @@ bytecodes: [
/* 1701 S> */ B(LdaNamedProperty), R(0), U8(127), U8(254),
/* 1714 S> */ B(Wide), B(LdaNamedProperty), R16(0), U16(128), U16(256),
/* 1725 S> */ B(LdaSmi), I8(2),
/* 1732 E> */ B(Wide), B(StaNamedProperty), R16(arg0), U16(0), U16(258),
/* 1732 E> */ B(StaNamedProperty), R(arg0), U8(0), U8(0),
B(LdaUndefined),
/* 1737 S> */ B(Return),
]
......
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