Commit c6b68cbf authored by Marja Hölttä's avatar Marja Hölttä Committed by V8 LUCI CQ

[super IC] Turn off super ICs

They make assumptions which don't hold for API handlers.

Bug: v8:9237,chromium:1308360
Change-Id: I9f122c4e75a24d83ef3653cbf7a223ed522e4d13
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3548899Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/main@{#79614}
parent 0981e91a
...@@ -1669,7 +1669,7 @@ DEFINE_INT(max_valid_polymorphic_map_count, 4, ...@@ -1669,7 +1669,7 @@ DEFINE_INT(max_valid_polymorphic_map_count, 4,
DEFINE_BOOL(native_code_counters, DEBUG_BOOL, DEFINE_BOOL(native_code_counters, DEBUG_BOOL,
"generate extra code for manipulating stats counters") "generate extra code for manipulating stats counters")
DEFINE_BOOL(super_ic, true, "use an IC for super property loads") DEFINE_BOOL(super_ic, false, "use an IC for super property loads")
DEFINE_BOOL(enable_mega_dom_ic, false, "use MegaDOM IC state for API objects") DEFINE_BOOL(enable_mega_dom_ic, false, "use MegaDOM IC state for API objects")
......
...@@ -20,14 +20,18 @@ snippet: " ...@@ -20,14 +20,18 @@ snippet: "
test(); test();
})(); })();
" "
frame size: 1 frame size: 5
parameter count: 1 parameter count: 1
bytecode array length: 16 bytecode array length: 24
bytecodes: [ bytecodes: [
/* 104 S> */ B(LdaImmutableCurrentContextSlot), U8(2), /* 104 S> */ B(LdaImmutableCurrentContextSlot), U8(2),
/* 117 E> */ B(GetNamedPropertyFromSuper), R(this), U8(0), U8(1), B(Star3),
B(LdaConstant), U8(0),
B(Star4),
B(Mov), R(this), R(2),
/* 117 E> */ B(CallRuntime), U16(Runtime::kLoadFromSuper), R(2), U8(3),
B(Star0), B(Star0),
/* 117 E> */ B(CallAnyReceiver), R(0), R(this), U8(1), U8(3), /* 117 E> */ B(CallAnyReceiver), R(0), R(this), U8(1), U8(1),
/* 126 E> */ B(AddSmi), I8(1), U8(0), /* 126 E> */ B(AddSmi), I8(1), U8(0),
/* 130 S> */ B(Return), /* 130 S> */ B(Return),
] ]
...@@ -54,7 +58,7 @@ snippet: " ...@@ -54,7 +58,7 @@ snippet: "
" "
frame size: 4 frame size: 4
parameter count: 1 parameter count: 1
bytecode array length: 24 bytecode array length: 32
bytecodes: [ bytecodes: [
/* 130 S> */ B(LdaImmutableCurrentContextSlot), U8(2), /* 130 S> */ B(LdaImmutableCurrentContextSlot), U8(2),
B(Star1), B(Star1),
...@@ -65,7 +69,11 @@ bytecodes: [ ...@@ -65,7 +69,11 @@ bytecodes: [
B(Mov), R(this), R(0), B(Mov), R(this), R(0),
/* 138 E> */ B(CallRuntime), U16(Runtime::kStoreToSuper), R(0), U8(4), /* 138 E> */ B(CallRuntime), U16(Runtime::kStoreToSuper), R(0), U8(4),
/* 143 S> */ B(LdaImmutableCurrentContextSlot), U8(2), /* 143 S> */ B(LdaImmutableCurrentContextSlot), U8(2),
/* 156 E> */ B(GetNamedPropertyFromSuper), R(this), U8(0), U8(0), B(Star1),
B(LdaConstant), U8(0),
B(Star2),
B(Mov), R(this), R(0),
/* 156 E> */ B(CallRuntime), U16(Runtime::kLoadFromSuper), R(0), U8(3),
/* 158 S> */ B(Return), /* 158 S> */ B(Return),
] ]
constant pool: [ constant pool: [
......
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