Revision f230a1cf deps/v8/test/cctest/test-deoptimization.cc

View differences:

deps/v8/test/cctest/test-deoptimization.cc
104 104
// Abort any ongoing incremental marking to make sure that all weak global
105 105
// handle callbacks are processed.
106 106
static void NonIncrementalGC() {
107
  HEAP->CollectAllGarbage(i::Heap::kAbortIncrementalMarkingMask);
107
  CcTest::heap()->CollectAllGarbage(i::Heap::kAbortIncrementalMarkingMask);
108 108
}
109 109

  
110 110

  
......
134 134

  
135 135
  CHECK_EQ(1, env->Global()->Get(v8_str("count"))->Int32Value());
136 136
  CHECK(!GetJSFunction(env->Global(), "f")->IsOptimized());
137
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(Isolate::Current()));
137
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(CcTest::i_isolate()));
138 138

  
139 139
  // Test lazy deoptimization of a simple function. Call the function after the
140 140
  // deoptimization while it is still activated further down the stack.
......
150 150

  
151 151
  CHECK_EQ(1, env->Global()->Get(v8_str("count"))->Int32Value());
152 152
  CHECK(!GetJSFunction(env->Global(), "f")->IsOptimized());
153
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(Isolate::Current()));
153
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(CcTest::i_isolate()));
154 154
}
155 155

  
156 156

  
......
172 172

  
173 173
  CHECK_EQ(1, env->Global()->Get(v8_str("count"))->Int32Value());
174 174
  CHECK(!GetJSFunction(env->Global(), "f")->IsOptimized());
175
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(Isolate::Current()));
175
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(CcTest::i_isolate()));
176 176

  
177 177
  // Test lazy deoptimization of a simple function with some arguments. Call the
178 178
  // function after the deoptimization while it is still activated further down
......
189 189

  
190 190
  CHECK_EQ(1, env->Global()->Get(v8_str("count"))->Int32Value());
191 191
  CHECK(!GetJSFunction(env->Global(), "f")->IsOptimized());
192
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(Isolate::Current()));
192
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(CcTest::i_isolate()));
193 193
}
194 194

  
195 195

  
......
213 213
    CHECK_EQ(1, env->Global()->Get(v8_str("count"))->Int32Value());
214 214
    CHECK_EQ(6, env->Global()->Get(v8_str("result"))->Int32Value());
215 215
    CHECK(!GetJSFunction(env->Global(), "f")->IsOptimized());
216
    CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(Isolate::Current()));
216
    CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(CcTest::i_isolate()));
217 217
  }
218 218
}
219 219

  
......
237 237

  
238 238
  CHECK_EQ(1, env->Global()->Get(v8_str("count"))->Int32Value());
239 239
  CHECK_EQ(11, env->Global()->Get(v8_str("calls"))->Int32Value());
240
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(Isolate::Current()));
240
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(CcTest::i_isolate()));
241 241

  
242 242
  v8::Local<v8::Function> fun =
243 243
      v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
......
269 269

  
270 270
  CHECK_EQ(1, env->Global()->Get(v8_str("count"))->Int32Value());
271 271
  CHECK_EQ(14, env->Global()->Get(v8_str("result"))->Int32Value());
272
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(Isolate::Current()));
272
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(CcTest::i_isolate()));
273 273
}
274 274

  
275 275

  
......
290 290

  
291 291
  CHECK_EQ(1, env->Global()->Get(v8_str("count"))->Int32Value());
292 292
  CHECK(env->Global()->Get(v8_str("result"))->IsTrue());
293
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(Isolate::Current()));
293
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(CcTest::i_isolate()));
294 294

  
295 295
  {
296 296
    AlwaysOptimizeAllowNativesSyntaxNoInlining options;
......
307 307

  
308 308
  CHECK_EQ(1, env->Global()->Get(v8_str("count"))->Int32Value());
309 309
  CHECK_EQ(3, env->Global()->Get(v8_str("result"))->Int32Value());
310
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(Isolate::Current()));
310
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(CcTest::i_isolate()));
311 311
}
312 312

  
313 313

  
......
336 336

  
337 337
  CHECK_EQ(1, env->Global()->Get(v8_str("count"))->Int32Value());
338 338
  CHECK_EQ(14, env->Global()->Get(v8_str("result"))->Int32Value());
339
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(Isolate::Current()));
339
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(CcTest::i_isolate()));
340 340
}
341 341

  
342 342

  
......
367 367
    i::FLAG_always_opt = true;
368 368
    CompileRun(f_source);
369 369
    CompileRun("f('a+', new X());");
370
    CHECK(!i::Isolate::Current()->use_crankshaft() ||
370
    CHECK(!CcTest::i_isolate()->use_crankshaft() ||
371 371
          GetJSFunction(env->Global(), "f")->IsOptimized());
372 372

  
373 373
    // Call f and force deoptimization while processing the binary operation.
......
382 382
  CHECK(result->IsString());
383 383
  v8::String::Utf8Value utf8(result);
384 384
  CHECK_EQ("a+an X", *utf8);
385
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(Isolate::Current()));
385
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(CcTest::i_isolate()));
386 386
}
387 387

  
388 388

  
......
419 419
  i::FLAG_always_opt = true;
420 420
  CompileRun(f_source);
421 421
  CompileRun("f(7, new X());");
422
  CHECK(!i::Isolate::Current()->use_crankshaft() ||
422
  CHECK(!CcTest::i_isolate()->use_crankshaft() ||
423 423
        GetJSFunction((*env)->Global(), "f")->IsOptimized());
424 424

  
425 425
  // Call f and force deoptimization while processing the binary operation.
......
438 438

  
439 439
  CHECK_EQ(1, env->Global()->Get(v8_str("count"))->Int32Value());
440 440
  CHECK_EQ(15, env->Global()->Get(v8_str("result"))->Int32Value());
441
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(Isolate::Current()));
441
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(CcTest::i_isolate()));
442 442
}
443 443

  
444 444

  
......
450 450

  
451 451
  CHECK_EQ(1, env->Global()->Get(v8_str("count"))->Int32Value());
452 452
  CHECK_EQ(-1, env->Global()->Get(v8_str("result"))->Int32Value());
453
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(Isolate::Current()));
453
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(CcTest::i_isolate()));
454 454
}
455 455

  
456 456

  
......
462 462

  
463 463
  CHECK_EQ(1, env->Global()->Get(v8_str("count"))->Int32Value());
464 464
  CHECK_EQ(56, env->Global()->Get(v8_str("result"))->Int32Value());
465
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(Isolate::Current()));
465
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(CcTest::i_isolate()));
466 466
}
467 467

  
468 468

  
......
474 474

  
475 475
  CHECK_EQ(1, env->Global()->Get(v8_str("count"))->Int32Value());
476 476
  CHECK_EQ(0, env->Global()->Get(v8_str("result"))->Int32Value());
477
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(Isolate::Current()));
477
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(CcTest::i_isolate()));
478 478
}
479 479

  
480 480

  
......
486 486

  
487 487
  CHECK_EQ(1, env->Global()->Get(v8_str("count"))->Int32Value());
488 488
  CHECK_EQ(7, env->Global()->Get(v8_str("result"))->Int32Value());
489
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(Isolate::Current()));
489
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(CcTest::i_isolate()));
490 490
}
491 491

  
492 492

  
......
517 517
    i::FLAG_always_opt = true;
518 518
    CompileRun(f_source);
519 519
    CompileRun("f('a', new X());");
520
    CHECK(!i::Isolate::Current()->use_crankshaft() ||
520
    CHECK(!CcTest::i_isolate()->use_crankshaft() ||
521 521
          GetJSFunction(env->Global(), "f")->IsOptimized());
522 522

  
523 523
    // Call f and force deoptimization while processing the comparison.
......
529 529
  CHECK(!GetJSFunction(env->Global(), "f")->IsOptimized());
530 530
  CHECK_EQ(1, env->Global()->Get(v8_str("count"))->Int32Value());
531 531
  CHECK_EQ(true, env->Global()->Get(v8_str("result"))->BooleanValue());
532
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(Isolate::Current()));
532
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(CcTest::i_isolate()));
533 533
}
534 534

  
535 535

  
......
587 587
    CompileRun("g1(new X());");
588 588
    CompileRun("f2(new X(), 'z');");
589 589
    CompileRun("g2(new X(), 'z');");
590
    if (i::Isolate::Current()->use_crankshaft()) {
590
    if (CcTest::i_isolate()->use_crankshaft()) {
591 591
      CHECK(GetJSFunction(env->Global(), "f1")->IsOptimized());
592 592
      CHECK(GetJSFunction(env->Global(), "g1")->IsOptimized());
593 593
      CHECK(GetJSFunction(env->Global(), "f2")->IsOptimized());
......
609 609
  CHECK(!GetJSFunction(env->Global(), "g2")->IsOptimized());
610 610
  CHECK_EQ(4, env->Global()->Get(v8_str("count"))->Int32Value());
611 611
  CHECK_EQ(13, env->Global()->Get(v8_str("result"))->Int32Value());
612
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(Isolate::Current()));
612
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(CcTest::i_isolate()));
613 613
}
614 614

  
615 615

  
......
671 671
    CompileRun("g1(new X());");
672 672
    CompileRun("f2(new X(), 'z');");
673 673
    CompileRun("g2(new X(), 'z');");
674
    if (i::Isolate::Current()->use_crankshaft()) {
674
    if (CcTest::i_isolate()->use_crankshaft()) {
675 675
      CHECK(GetJSFunction(env->Global(), "f1")->IsOptimized());
676 676
      CHECK(GetJSFunction(env->Global(), "g1")->IsOptimized());
677 677
      CHECK(GetJSFunction(env->Global(), "f2")->IsOptimized());
......
690 690
  CHECK(!GetJSFunction(env->Global(), "g2")->IsOptimized());
691 691
  CHECK_EQ(1, env->Global()->Get(v8_str("count"))->Int32Value());
692 692
  CHECK_EQ(13, env->Global()->Get(v8_str("result"))->Int32Value());
693
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(Isolate::Current()));
693
  CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(CcTest::i_isolate()));
694 694
}

Also available in: Unified diff