Commit 2ac866d9 authored by Marja Hölttä's avatar Marja Hölttä Committed by Commit Bot

[super speed] Ship --super-ic

Bug: v8:9237
Change-Id: I60b016617d468e6a04ef48998e59c80f58d16863
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2642245Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72246}
parent 3f1177c5
...@@ -1386,7 +1386,7 @@ DEFINE_INT(max_valid_polymorphic_map_count, 4, ...@@ -1386,7 +1386,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, false, "use an IC for super property loads") DEFINE_BOOL(super_ic, true, "use an IC for super property loads")
// objects.cc // objects.cc
DEFINE_BOOL(thin_strings, true, "Enable ThinString support") DEFINE_BOOL(thin_strings, true, "Enable ThinString support")
......
...@@ -20,18 +20,14 @@ snippet: " ...@@ -20,18 +20,14 @@ snippet: "
test(); test();
})(); })();
" "
frame size: 5 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 27 bytecode array length: 17
bytecodes: [ bytecodes: [
/* 104 S> */ B(LdaImmutableCurrentContextSlot), U8(2), /* 104 S> */ B(LdaImmutableCurrentContextSlot), U8(2),
B(Star), R(3), /* 117 E> */ B(LdaNamedPropertyFromSuper), R(this), U8(0), U8(1),
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),
B(Star), R(0), 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), /* 126 E> */ B(AddSmi), I8(1), U8(0),
/* 130 S> */ B(Return), /* 130 S> */ B(Return),
] ]
...@@ -58,7 +54,7 @@ snippet: " ...@@ -58,7 +54,7 @@ snippet: "
" "
frame size: 4 frame size: 4
parameter count: 1 parameter count: 1
bytecode array length: 37 bytecode array length: 27
bytecodes: [ bytecodes: [
/* 130 S> */ B(LdaImmutableCurrentContextSlot), U8(2), /* 130 S> */ B(LdaImmutableCurrentContextSlot), U8(2),
B(Star), R(1), B(Star), R(1),
...@@ -69,11 +65,7 @@ bytecodes: [ ...@@ -69,11 +65,7 @@ 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),
B(Star), R(1), /* 156 E> */ B(LdaNamedPropertyFromSuper), R(this), U8(0), U8(0),
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),
/* 158 S> */ B(Return), /* 158 S> */ B(Return),
] ]
constant pool: [ constant pool: [
......
...@@ -2592,10 +2592,6 @@ TEST(ClassDeclarations) { ...@@ -2592,10 +2592,6 @@ TEST(ClassDeclarations) {
} }
TEST(ClassAndSuperClass) { 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; InitializedIgnitionHandleScope scope;
BytecodeExpectationsPrinter printer(CcTest::isolate()); BytecodeExpectationsPrinter printer(CcTest::isolate());
printer.set_wrap(false); printer.set_wrap(false);
......
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