[super speed] Ship --super-ic

Bug: v8:9237
Change-Id: I60b016617d468e6a04ef48998e59c80f58d16863
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2642245
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72246}
This commit is contained in:
Marja Hölttä 2021-01-21 14:35:04 +01:00 committed by Commit Bot
parent 3f1177c5a0
commit 2ac866d9e1
3 changed files with 7 additions and 19 deletions

View File

@ -1386,7 +1386,7 @@ DEFINE_INT(max_valid_polymorphic_map_count, 4,
DEFINE_BOOL(native_code_counters, DEBUG_BOOL,
"generate extra code for manipulating stats counters")
DEFINE_BOOL(super_ic, false, "use an IC for super property loads")
DEFINE_BOOL(super_ic, true, "use an IC for super property loads")
// objects.cc
DEFINE_BOOL(thin_strings, true, "Enable ThinString support")

View File

@ -20,18 +20,14 @@ snippet: "
test();
})();
"
frame size: 5
frame size: 1
parameter count: 1
bytecode array length: 27
bytecode array length: 17
bytecodes: [
/* 104 S> */ B(LdaImmutableCurrentContextSlot), U8(2),
B(Star), R(3),
B(LdaConstant), U8(0),
B(Star), R(4),
B(Mov), R(this), R(2),
/* 117 E> */ B(CallRuntime), U16(Runtime::kLoadFromSuper), R(2), U8(3),
/* 117 E> */ B(LdaNamedPropertyFromSuper), R(this), U8(0), U8(1),
B(Star), R(0),
/* 117 E> */ B(CallAnyReceiver), R(0), R(this), U8(1), U8(1),
/* 117 E> */ B(CallAnyReceiver), R(0), R(this), U8(1), U8(3),
/* 126 E> */ B(AddSmi), I8(1), U8(0),
/* 130 S> */ B(Return),
]
@ -58,7 +54,7 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 37
bytecode array length: 27
bytecodes: [
/* 130 S> */ B(LdaImmutableCurrentContextSlot), U8(2),
B(Star), R(1),
@ -69,11 +65,7 @@ bytecodes: [
B(Mov), R(this), R(0),
/* 138 E> */ B(CallRuntime), U16(Runtime::kStoreToSuper), R(0), U8(4),
/* 143 S> */ B(LdaImmutableCurrentContextSlot), U8(2),
B(Star), R(1),
B(LdaConstant), U8(0),
B(Star), R(2),
B(Mov), R(this), R(0),
/* 156 E> */ B(CallRuntime), U16(Runtime::kLoadFromSuper), R(0), U8(3),
/* 156 E> */ B(LdaNamedPropertyFromSuper), R(this), U8(0), U8(0),
/* 158 S> */ B(Return),
]
constant pool: [

View File

@ -2592,10 +2592,6 @@ TEST(ClassDeclarations) {
}
TEST(ClassAndSuperClass) {
// Different bytecodes are generated with and without --future temporarily,
// see crbug.com/v8/9237 . TODO(marja): remove this hack once --super-ic is on
// by default.
FLAG_super_ic = false;
InitializedIgnitionHandleScope scope;
BytecodeExpectationsPrinter printer(CcTest::isolate());
printer.set_wrap(false);