ASSERT(!map.is_null());
is_stable_ = map->is_stable();
- if (FLAG_check_elimination && is_stable_) {
+ if (is_stable_) {
map->AddDependentCompilationInfo(
DependentCode::kPrototypeCheckGroup, info);
}
void Add(Handle<Map> map, CompilationInfo* info, Zone* zone) {
map_set_.Add(Unique<Map>(map), zone);
is_stable_ = is_stable_ && map->is_stable();
-
- if (FLAG_check_elimination && is_stable_) {
+ if (is_stable_) {
map->AddDependentCompilationInfo(
DependentCode::kPrototypeCheckGroup, info);
+ } else {
+ SetDependsOnFlag(kMaps);
+ SetDependsOnFlag(kElementsKind);
}
if (!has_migration_target_ && map->is_migration_target()) {
set_representation(Representation::Tagged());
SetFlag(kUseGVN);
SetFlag(kTrackSideEffectDominators);
- SetDependsOnFlag(kMaps);
- SetDependsOnFlag(kElementsKind);
}
bool omit_;
has_transition_ = true;
is_stable_ = map->is_stable();
- if (FLAG_check_elimination && is_stable_) {
+ if (is_stable_) {
map->AddDependentCompilationInfo(
DependentCode::kPrototypeCheckGroup, info);
}
TEST(DeoptimizeLoadICStoreIC) {
i::FLAG_concurrent_recompilation = false;
- i::FLAG_check_elimination = false;
LocalContext env;
v8::HandleScope scope(env->GetIsolate());
CHECK(!GetJSFunction(env->Global(), "g2")->IsOptimized());
CHECK_EQ(4, env->Global()->Get(v8_str("count"))->Int32Value());
CHECK_EQ(13, env->Global()->Get(v8_str("result"))->Int32Value());
- CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(CcTest::i_isolate()));
}
TEST(DeoptimizeLoadICStoreICNested) {
i::FLAG_concurrent_recompilation = false;
- i::FLAG_check_elimination = false;
LocalContext env;
v8::HandleScope scope(env->GetIsolate());
CHECK(!GetJSFunction(env->Global(), "g2")->IsOptimized());
CHECK_EQ(1, env->Global()->Get(v8_str("count"))->Int32Value());
CHECK_EQ(13, env->Global()->Get(v8_str("result"))->Int32Value());
- CHECK_EQ(0, Deoptimizer::GetDeoptimizedCodeCount(CcTest::i_isolate()));
}