23 !block_it.
Done(); block_it.Advance()) {
26 if (it.Current()->IsCheckBoundBase()) {
36static std::pair<intptr_t, intptr_t>
ApplyBCE(
const char* script_chars,
41 Invoke(root_library,
"main");
42 std::initializer_list<CompilerPass::Id> passes = {
43 CompilerPass::kComputeSSA,
44 CompilerPass::kTypePropagation,
45 CompilerPass::kApplyICData,
46 CompilerPass::kInlining,
47 CompilerPass::kTypePropagation,
48 CompilerPass::kApplyICData,
49 CompilerPass::kSelectRepresentations,
50 CompilerPass::kCanonicalize,
51 CompilerPass::kConstantPropagation,
63 return {num_bc_before, num_bc_after};
67 intptr_t expected_before,
68 intptr_t expected_after) {
70 EXPECT_EQ(expected_before, jit_result.first);
71 EXPECT_EQ(expected_after, jit_result.second);
79 const char* kScriptChars =
81 import 'dart:typed_data';
86 foo(new Float64List(1));
93 const char* kScriptChars =
95 import 'dart:typed_data';
100 foo(new Float64List(2));
107 const char* kScriptChars =
109 import 'dart:typed_data';
111 for (int i = 0; i < l.length; i++) {
114 for (int i = 10; i <= l.length - 5; i++) {
119 foo(new Float64List(100));
126 const char* kScriptChars =
128 import 'dart:typed_data';
130 for (int i = l.length - 1; i >= 0; i--) {
133 for (int i = l.length - 5; i >= 10; i--) {
138 foo(new Float64List(100));
145 const char* kScriptChars =
148 var l = List<int>.filled(3, 0);
149 return l[i % 3] ?? l[i % (-3)];
159 const char* kScriptChars =
161 import 'dart:typed_data';
163 for (int i = 0; i < l.length; i++) {
164 for (int j = 0; j <= i; j++) {
170 foo(new Float64List(100));
177 const char* kScriptChars =
179 import 'dart:typed_data';
181 for (int i = 0; i < l.length; i++) {
182 for (int j = i; j < l.length; j++) {
188 foo(new Float64List(100));
195 const char* kScriptChars =
197 import 'dart:typed_data';
199 for (int i = l.length - 1; i >= 0; i--) {
200 for (int j = i; j >= 0; j--) {
206 foo(new Float64List(100));
213 const char* kScriptChars =
215 import 'dart:typed_data';
216 Int8List foo(int count) {
217 var x = new Int8List(count);
218 for (int i = 0; i < count; i++) {
231 const char* kScriptChars =
233 import 'dart:typed_data';
236 for (int i = len - 2; i >= 0; i--) {
237 for (int j = 0; j <= i; j++) {
248 foo(new Float64List(100));
255 const char* kScriptChars =
257 import 'dart:typed_data';
258 const kMax = 0x7fffffffffffffff;
260 for (int i = kMax - 10; i < kMax; i++) {
261 for (int j = i + 10; j < a.length; j++) {
262 // Don't be fooled: j in [-minint, len).
269 foo(new Float64List(100));
278 const char* kScriptChars =
280 List<int> foo(int count) {
281 var x = new List<int>.filled(count, 42);
282 for (int i = 0; i < count; i++) {
285 for (int i = 0; i < x.length; i++) {
BlockIterator reverse_postorder_iterator() const
FlowGraph * RunPasses(std::initializer_list< CompilerPass::Id > passes)
Dart_NativeFunction function
LibraryPtr LoadTestScript(const char *script, Dart_NativeEntryResolver resolver, const char *lib_uri)
static void TestScriptJIT(const char *script_chars, intptr_t expected_before, intptr_t expected_after)
ObjectPtr Invoke(const Library &lib, const char *name)
FunctionPtr GetFunction(const Library &lib, const char *name)
ISOLATE_UNIT_TEST_CASE(StackAllocatedDestruction)
static intptr_t CountBoundChecks(FlowGraph *flow_graph)
static std::pair< intptr_t, intptr_t > ApplyBCE(const char *script_chars, CompilerPass::PipelineMode mode)
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive mode