Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(567)

Unified Diff: test/cctest/interpreter/test-bytecode-generator.cc

Issue 1688283003: [Interpreter] Implements calls through CallICStub in the interpreter. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: test/cctest/interpreter/test-bytecode-generator.cc
diff --git a/test/cctest/interpreter/test-bytecode-generator.cc b/test/cctest/interpreter/test-bytecode-generator.cc
index a7cb9c5d181818544f2d6165ac525239566a316e..b4465b4b21474a862ecc718fb43dc8fc3e56a4c5 100644
--- a/test/cctest/interpreter/test-bytecode-generator.cc
+++ b/test/cctest/interpreter/test-bytecode-generator.cc
@@ -1597,7 +1597,7 @@ TEST(PropertyCall) {
B(Star), R(1), //
B(LoadICSloppy), R(1), U8(0), U8(vector->GetIndex(slot2)), //
B(Star), R(0), //
- B(Call), R(0), R(1), U8(1), U8(vector->GetIndex(slot1)), //
+ B(CallIC), R(0), R(1), U8(1), U8(vector->GetIndex(slot1)), //
B(Return), //
},
1,
@@ -1616,7 +1616,7 @@ TEST(PropertyCall) {
B(Star), R(2), //
B(Ldar), A(3, 4), //
B(Star), R(3), //
- B(Call), R(0), R(1), U8(3), U8(vector->GetIndex(slot1)), //
+ B(CallIC), R(0), R(1), U8(3), U8(vector->GetIndex(slot1)), //
B(Return) //
},
1,
@@ -1638,7 +1638,7 @@ TEST(PropertyCall) {
B(Star), R(2), //
B(Ldar), A(2, 3), //
B(Star), R(3), //
- B(Call), R(0), R(1), U8(3), U8(vector->GetIndex(slot1)), //
+ B(CallIC), R(0), R(1), U8(3), U8(vector->GetIndex(slot1)), //
B(Return), //
},
1,
@@ -1662,7 +1662,7 @@ TEST(PropertyCall) {
B(Star), R(1), //
B(LoadICSloppyWide), R(1), U16(0), U16(wide_idx + 4), //
B(Star), R(0), //
- B(CallWide), R16(0), R16(1), U16(1), U16(wide_idx + 2), //
+ B(CallICWide), R16(0), R16(1), U16(1), U16(wide_idx + 2), //
B(Return), //
},
1,
@@ -1947,13 +1947,13 @@ TEST(CallGlobal) {
1,
15,
{
- B(StackCheck), //
- B(LdaUndefined), //
- B(Star), R(1), //
- B(LdaGlobalSloppy), U8(0), U8(vector->GetIndex(slot2)), //
- B(Star), R(0), //
- B(Call), R(0), R(1), U8(1), U8(vector->GetIndex(slot1)), //
- B(Return) //
+ B(StackCheck), //
+ B(LdaUndefined), //
+ B(Star), R(1), //
+ B(LdaGlobalSloppy), U8(0), U8(vector->GetIndex(slot2)), //
+ B(Star), R(0), //
+ B(CallIC), R(0), R(1), U8(1), U8(vector->GetIndex(slot1)), //
+ B(Return) //
},
1,
{"t"}},
@@ -1962,19 +1962,19 @@ TEST(CallGlobal) {
1,
27,
{
- B(StackCheck), //
- B(LdaUndefined), //
- B(Star), R(1), //
- B(LdaGlobalSloppy), U8(0), U8(vector->GetIndex(slot2)), //
- B(Star), R(0), //
- B(LdaSmi8), U8(1), //
- B(Star), R(2), //
- B(LdaSmi8), U8(2), //
- B(Star), R(3), //
- B(LdaSmi8), U8(3), //
- B(Star), R(4), //
- B(Call), R(0), R(1), U8(4), U8(vector->GetIndex(slot1)), //
- B(Return) //
+ B(StackCheck), //
+ B(LdaUndefined), //
+ B(Star), R(1), //
+ B(LdaGlobalSloppy), U8(0), U8(vector->GetIndex(slot2)), //
+ B(Star), R(0), //
+ B(LdaSmi8), U8(1), //
+ B(Star), R(2), //
+ B(LdaSmi8), U8(2), //
+ B(Star), R(3), //
+ B(LdaSmi8), U8(3), //
+ B(Star), R(4), //
+ B(CallIC), R(0), R(1), U8(4), U8(vector->GetIndex(slot1)), //
+ B(Return) //
},
1,
{"t"}},
@@ -2422,7 +2422,7 @@ TEST(DeclareGlobals) {
B(LdaGlobalSloppy), U8(1), //
/* */ U8(load_vector->GetIndex(load_slot_1)), //
B(Star), R(1), //
- B(Call), R(1), R(2), U8(1), //
+ B(CallIC), R(1), R(2), U8(1), //
/* */ U8(load_vector->GetIndex(call_slot_1)), //
B(Star), R(0), //
B(Return) //
@@ -3914,13 +3914,13 @@ TEST(FunctionLiterals) {
1,
15,
{
- B(StackCheck), //
- B(LdaUndefined), //
- B(Star), R(1), //
- B(CreateClosure), U8(0), U8(0), //
- B(Star), R(0), //
- B(Call), R(0), R(1), U8(1), U8(vector->GetIndex(slot)), //
- B(Return) //
+ B(StackCheck), //
+ B(LdaUndefined), //
+ B(Star), R(1), //
+ B(CreateClosure), U8(0), U8(0), //
+ B(Star), R(0), //
+ B(CallIC), R(0), R(1), U8(1), U8(vector->GetIndex(slot)), //
+ B(Return) //
},
1,
{InstanceType::SHARED_FUNCTION_INFO_TYPE}},
@@ -3929,15 +3929,15 @@ TEST(FunctionLiterals) {
1,
19,
{
- B(StackCheck), //
- B(LdaUndefined), //
- B(Star), R(1), //
- B(CreateClosure), U8(0), U8(0), //
- B(Star), R(0), //
- B(LdaSmi8), U8(1), //
- B(Star), R(2), //
- B(Call), R(0), R(1), U8(2), U8(vector->GetIndex(slot)), //
- B(Return) //
+ B(StackCheck), //
+ B(LdaUndefined), //
+ B(Star), R(1), //
+ B(CreateClosure), U8(0), U8(0), //
+ B(Star), R(0), //
+ B(LdaSmi8), U8(1), //
+ B(Star), R(2), //
+ B(CallIC), R(0), R(1), U8(2), U8(vector->GetIndex(slot)), //
+ B(Return) //
},
1,
{InstanceType::SHARED_FUNCTION_INFO_TYPE}},
@@ -4001,7 +4001,7 @@ TEST(RegExpLiterals) {
B(Star), R(0), //
B(LdaConstant), U8(2), //
B(Star), R(2), //
- B(Call), R(0), R(1), U8(2), U8(vector->GetIndex(slot1)), //
+ B(CallIC), R(0), R(1), U8(2), U8(vector->GetIndex(slot1)), //
B(Return), //
},
3,
@@ -5174,17 +5174,17 @@ TEST(ContextVariables) {
1,
25,
{
- B(CallRuntime), U16(Runtime::kNewFunctionContext), //
- /* */ R(closure), U8(1), //
- B(PushContext), R(0), //
- B(StackCheck), //
- B(LdaUndefined), //
- B(Star), R(2), //
- B(CreateClosure), U8(0), U8(0), //
- B(Star), R(1), //
- B(Call), R(1), R(2), U8(1), U8(vector->GetIndex(slot)), //
- B(LdaContextSlot), R(context), U8(first_context_slot), //
- B(Return), //
+ B(CallRuntime), U16(Runtime::kNewFunctionContext), //
+ /* */ R(closure), U8(1), //
+ B(PushContext), R(0), //
+ B(StackCheck), //
+ B(LdaUndefined), //
+ B(Star), R(2), //
+ B(CreateClosure), U8(0), U8(0), //
+ B(Star), R(1), //
+ B(CallIC), R(1), R(2), U8(1), U8(vector->GetIndex(slot)), //
+ B(LdaContextSlot), R(context), U8(first_context_slot), //
+ B(Return), //
},
1,
{InstanceType::SHARED_FUNCTION_INFO_TYPE}},
@@ -5225,7 +5225,7 @@ TEST(ContextVariables) {
"return b",
3 * kPointerSize,
1,
- 1042,
+ 1041,
{
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), //
/* */ U8(1), //
@@ -5244,7 +5244,7 @@ TEST(ContextVariables) {
B(Star), R(2), //
B(LdaGlobalStrict), U8(0), U8(1), //
B(Star), R(1), //
- B(Call), R(1), R(2), U8(1), U8(0), //
+ B(Call), R(1), R(2), U8(1), //
B(LdaSmi8), U8(100), //
B(StaContextSlotWide), R(context), U16(256), //
B(LdaContextSlotWide), R(context), U16(256), //
@@ -6460,13 +6460,13 @@ TEST(ForOf) {
B(LdaConstant), U8(1), //
B(KeyedLoadICSloppy), R(5), U8(vector->GetIndex(slot2)), //
B(Star), R(4), //
- B(Call), R(4), R(5), U8(1), U8(vector->GetIndex(slot1)), //
+ B(CallIC), R(4), R(5), U8(1), U8(vector->GetIndex(slot1)), //
B(Star), R(1), //
B(Ldar), R(1), //
B(Star), R(6), //
B(LoadICSloppy), R(6), U8(2), U8(vector->GetIndex(slot4)), //
B(Star), R(5), //
- B(Call), R(5), R(6), U8(1), U8(vector->GetIndex(slot3)), //
+ B(CallIC), R(5), R(6), U8(1), U8(vector->GetIndex(slot3)), //
B(Star), R(2), //
B(Star), R(4), //
B(CallRuntime), U16(Runtime::kInlineIsJSReceiver), R(4), U8(1), //
@@ -6509,13 +6509,13 @@ TEST(ForOf) {
B(LdaConstant), U8(1), //
B(KeyedLoadICSloppy), R(6), U8(vector->GetIndex(slot2)), //
B(Star), R(5), //
- B(Call), R(5), R(6), U8(1), U8(vector->GetIndex(slot1)), //
+ B(CallIC), R(5), R(6), U8(1), U8(vector->GetIndex(slot1)), //
B(Star), R(1), //
B(Ldar), R(1), //
B(Star), R(7), //
B(LoadICSloppy), R(7), U8(2), U8(vector->GetIndex(slot4)), //
B(Star), R(6), //
- B(Call), R(6), R(7), U8(1), U8(vector->GetIndex(slot3)), //
+ B(CallIC), R(6), R(7), U8(1), U8(vector->GetIndex(slot3)), //
B(Star), R(2), //
B(Star), R(5), //
B(CallRuntime), U16(Runtime::kInlineIsJSReceiver), R(5), U8(1), //
@@ -6560,13 +6560,13 @@ TEST(ForOf) {
B(LdaConstant), U8(1), //
B(KeyedLoadICSloppy), R(5), U8(vector->GetIndex(slot2)), //
B(Star), R(4), //
- B(Call), R(4), R(5), U8(1), U8(vector->GetIndex(slot1)), //
+ B(CallIC), R(4), R(5), U8(1), U8(vector->GetIndex(slot1)), //
B(Star), R(1), //
B(Ldar), R(1), //
B(Star), R(6), //
B(LoadICSloppy), R(6), U8(2), U8(vector->GetIndex(slot4)), //
B(Star), R(5), //
- B(Call), R(5), R(6), U8(1), U8(vector->GetIndex(slot3)), //
+ B(CallIC), R(5), R(6), U8(1), U8(vector->GetIndex(slot3)), //
B(Star), R(2), //
B(Star), R(4), //
B(CallRuntime), U16(Runtime::kInlineIsJSReceiver), R(4), U8(1), //
@@ -6622,13 +6622,13 @@ TEST(ForOf) {
B(LdaConstant), U8(2), //
B(KeyedLoadICSloppy), R(4), U8(vector->GetIndex(slot2)), //
B(Star), R(3), //
- B(Call), R(3), R(4), U8(1), U8(vector->GetIndex(slot1)), //
+ B(CallIC), R(3), R(4), U8(1), U8(vector->GetIndex(slot1)), //
B(Star), R(0), //
B(Ldar), R(0), //
B(Star), R(5), //
B(LoadICSloppy), R(5), U8(3), U8(vector->GetIndex(slot4)), //
B(Star), R(4), //
- B(Call), R(4), R(5), U8(1), U8(vector->GetIndex(slot3)), //
+ B(CallIC), R(4), R(5), U8(1), U8(vector->GetIndex(slot3)), //
B(Star), R(1), //
B(Star), R(3), //
B(CallRuntime), U16(Runtime::kInlineIsJSReceiver), R(3), U8(1), //
@@ -7576,7 +7576,7 @@ TEST(Eval) {
{"return eval('1;');",
9 * kPointerSize,
1,
- 65,
+ 64,
{
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), //
/* */ U8(1), //
@@ -7604,7 +7604,7 @@ TEST(Eval) {
B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), //
/* */ U8(5), //
B(Star), R(1), //
- B(Call), R(1), R(2), U8(2), U8(0), //
+ B(Call), R(1), R(2), U8(2), //
B(Return), //
},
2,
@@ -7634,7 +7634,7 @@ TEST(LookupSlot) {
{"eval('var x = 10;'); return x;",
9 * kPointerSize,
1,
- 67,
+ 66,
{
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), //
/* */ U8(1), //
@@ -7662,7 +7662,7 @@ TEST(LookupSlot) {
B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), //
U8(5), //
B(Star), R(1), //
- B(Call), R(1), R(2), U8(2), U8(0), //
+ B(Call), R(1), R(2), U8(2), //
B(LdaLookupSlot), U8(2), //
B(Return), //
},
@@ -7671,7 +7671,7 @@ TEST(LookupSlot) {
{"eval('var x = 10;'); return typeof x;",
9 * kPointerSize,
1,
- 68,
+ 67,
{
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), //
/* */ U8(1), //
@@ -7699,7 +7699,7 @@ TEST(LookupSlot) {
B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), //
/* */ U8(5), //
B(Star), R(1), //
- B(Call), R(1), R(2), U8(2), U8(0), //
+ B(Call), R(1), R(2), U8(2), //
B(LdaLookupSlotInsideTypeof), U8(2), //
B(TypeOf), //
B(Return), //
@@ -7709,7 +7709,7 @@ TEST(LookupSlot) {
{"x = 20; return eval('');",
9 * kPointerSize,
1,
- 69,
+ 68,
{
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), //
U8(1), //
@@ -7739,7 +7739,7 @@ TEST(LookupSlot) {
B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), //
/* */ U8(5), //
B(Star), R(1), //
- B(Call), R(1), R(2), U8(2), U8(0), //
+ B(Call), R(1), R(2), U8(2), //
B(Return), //
},
3,
@@ -7760,14 +7760,6 @@ TEST(CallLookupSlot) {
BytecodeGeneratorHelper helper;
Zone zone;
- FeedbackVectorSpec feedback_spec(&zone);
- FeedbackVectorSlot slot1 = feedback_spec.AddLoadICSlot();
- FeedbackVectorSlot slot2 = feedback_spec.AddCallICSlot();
- USE(slot1);
-
- Handle<i::TypeFeedbackVector> vector =
- i::NewTypeFeedbackVector(helper.isolate(), &feedback_spec);
-
int closure = Register::function_closure().index();
int context = Register::current_context().index();
int new_target = Register::new_target().index();
@@ -7777,7 +7769,7 @@ TEST(CallLookupSlot) {
{"g = function(){}; eval(''); return g();",
9 * kPointerSize,
1,
- 85,
+ 83,
{
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), //
/* */ U8(1), //
@@ -7807,12 +7799,12 @@ TEST(CallLookupSlot) {
B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), //
U8(5), //
B(Star), R(1), //
- B(Call), R(1), R(2), U8(2), U8(0), //
+ B(Call), R(1), R(2), U8(2), //
B(LdaConstant), U8(1), //
B(Star), R(3), //
B(CallRuntimeForPair), U16(Runtime::kLoadLookupSlotForCall), //
R(3), U8(1), R(1), //
- B(Call), R(1), R(2), U8(1), U8(vector->GetIndex(slot2)), //
+ B(Call), R(1), R(2), U8(1), //
B(Return), //
},
4,

Powered by Google App Engine
This is Rietveld 408576698