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

Side by Side Diff: test/unittests/interpreter/bytecode-array-builder-unittest.cc

Issue 2122183002: [Interpreter] Collect type feedback for calls in the bytecode handler (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: updated cctest.status to mark the tests fail with ignition. Created 4 years, 5 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 unified diff | Download patch
« no previous file with comments | « test/mjsunit/regress/regress-353551.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/interpreter/bytecode-array-builder.h" 7 #include "src/interpreter/bytecode-array-builder.h"
8 #include "src/interpreter/bytecode-array-iterator.h" 8 #include "src/interpreter/bytecode-array-iterator.h"
9 #include "src/interpreter/bytecode-label.h" 9 #include "src/interpreter/bytecode-label.h"
10 #include "src/interpreter/bytecode-register-allocator.h" 10 #include "src/interpreter/bytecode-register-allocator.h"
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 factory->NewStringFromStaticChars("function_a"), MaybeHandle<Code>(), 103 factory->NewStringFromStaticChars("function_a"), MaybeHandle<Code>(),
104 false); 104 false);
105 builder.CreateClosure(shared_info, NOT_TENURED); 105 builder.CreateClosure(shared_info, NOT_TENURED);
106 106
107 // Emit literal creation operations. 107 // Emit literal creation operations.
108 builder.CreateRegExpLiteral(factory->NewStringFromStaticChars("a"), 0, 0) 108 builder.CreateRegExpLiteral(factory->NewStringFromStaticChars("a"), 0, 0)
109 .CreateArrayLiteral(factory->NewFixedArray(1), 0, 0) 109 .CreateArrayLiteral(factory->NewFixedArray(1), 0, 0)
110 .CreateObjectLiteral(factory->NewFixedArray(1), 0, 0); 110 .CreateObjectLiteral(factory->NewFixedArray(1), 0, 0);
111 111
112 // Call operations. 112 // Call operations.
113 builder.Call(reg, other, 1, 0) 113 builder.Call(reg, other, 0, 1)
114 .Call(reg, wide, 1, 0) 114 .Call(reg, wide, 0, 1)
115 .TailCall(reg, other, 1, 0) 115 .TailCall(reg, other, 0, 1)
116 .TailCall(reg, wide, 1, 0) 116 .TailCall(reg, wide, 0, 1)
117 .CallRuntime(Runtime::kIsArray, reg, 1) 117 .CallRuntime(Runtime::kIsArray, reg, 1)
118 .CallRuntime(Runtime::kIsArray, wide, 1) 118 .CallRuntime(Runtime::kIsArray, wide, 1)
119 .CallRuntimeForPair(Runtime::kLoadLookupSlotForCall, reg, 1, other) 119 .CallRuntimeForPair(Runtime::kLoadLookupSlotForCall, reg, 1, other)
120 .CallRuntimeForPair(Runtime::kLoadLookupSlotForCall, wide, 1, other) 120 .CallRuntimeForPair(Runtime::kLoadLookupSlotForCall, wide, 1, other)
121 .CallJSRuntime(Context::SPREAD_ITERABLE_INDEX, reg, 1) 121 .CallJSRuntime(Context::SPREAD_ITERABLE_INDEX, reg, 1)
122 .CallJSRuntime(Context::SPREAD_ITERABLE_INDEX, wide, 1); 122 .CallJSRuntime(Context::SPREAD_ITERABLE_INDEX, wide, 1);
123 123
124 // Emit binary operator invocations. 124 // Emit binary operator invocations.
125 builder.BinaryOperation(Token::Value::ADD, reg) 125 builder.BinaryOperation(Token::Value::ADD, reg)
126 .BinaryOperation(Token::Value::SUB, reg) 126 .BinaryOperation(Token::Value::SUB, reg)
(...skipping 712 matching lines...) Expand 10 before | Expand all | Expand 10 after
839 iterator.Advance(); 839 iterator.Advance();
840 } 840 }
841 CHECK_EQ(iterator.current_bytecode(), Bytecode::kReturn); 841 CHECK_EQ(iterator.current_bytecode(), Bytecode::kReturn);
842 iterator.Advance(); 842 iterator.Advance();
843 CHECK(iterator.done()); 843 CHECK(iterator.done());
844 } 844 }
845 845
846 } // namespace interpreter 846 } // namespace interpreter
847 } // namespace internal 847 } // namespace internal
848 } // namespace v8 848 } // namespace v8
OLDNEW
« no previous file with comments | « test/mjsunit/regress/regress-353551.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698