< prev index next >

test/native/code/test_dependencyContext.cpp

Print this page
rev 12483 : 8172098: A lot of gtests uses TEST instead of TEST_VM
Reviewed-by: duke


  69   TestDependencyContext c;
  70   DependencyContext depContext = c.dependencies();
  71   NOT_PRODUCT(ASSERT_FALSE(TestDependencyContext::find_stale_entries(depContext)));
  72   ASSERT_FALSE(TestDependencyContext::has_stale_entries(depContext));
  73 
  74   nmethod* nm = c._nmethods[id];
  75   depContext.remove_dependent_nmethod(nm, delete_immediately);
  76 
  77   if (!delete_immediately) {
  78     NOT_PRODUCT(ASSERT_TRUE(TestDependencyContext::find_stale_entries(depContext)));
  79     ASSERT_TRUE(TestDependencyContext::has_stale_entries(depContext));
  80     NOT_PRODUCT(ASSERT_TRUE(depContext.is_dependent_nmethod(nm)));
  81     depContext.expunge_stale_entries();
  82   }
  83 
  84   NOT_PRODUCT(ASSERT_FALSE(TestDependencyContext::find_stale_entries(depContext)));
  85   ASSERT_FALSE(TestDependencyContext::has_stale_entries(depContext));
  86   NOT_PRODUCT(ASSERT_FALSE(depContext.is_dependent_nmethod(nm)));
  87 }
  88 
  89 TEST(code, dependency_context) {
  90   test_remove_dependent_nmethod(0, false);
  91   test_remove_dependent_nmethod(1, false);
  92   test_remove_dependent_nmethod(2, false);
  93 
  94   test_remove_dependent_nmethod(0, true);
  95   test_remove_dependent_nmethod(1, true);
  96   test_remove_dependent_nmethod(2, true);
  97 }


  69   TestDependencyContext c;
  70   DependencyContext depContext = c.dependencies();
  71   NOT_PRODUCT(ASSERT_FALSE(TestDependencyContext::find_stale_entries(depContext)));
  72   ASSERT_FALSE(TestDependencyContext::has_stale_entries(depContext));
  73 
  74   nmethod* nm = c._nmethods[id];
  75   depContext.remove_dependent_nmethod(nm, delete_immediately);
  76 
  77   if (!delete_immediately) {
  78     NOT_PRODUCT(ASSERT_TRUE(TestDependencyContext::find_stale_entries(depContext)));
  79     ASSERT_TRUE(TestDependencyContext::has_stale_entries(depContext));
  80     NOT_PRODUCT(ASSERT_TRUE(depContext.is_dependent_nmethod(nm)));
  81     depContext.expunge_stale_entries();
  82   }
  83 
  84   NOT_PRODUCT(ASSERT_FALSE(TestDependencyContext::find_stale_entries(depContext)));
  85   ASSERT_FALSE(TestDependencyContext::has_stale_entries(depContext));
  86   NOT_PRODUCT(ASSERT_FALSE(depContext.is_dependent_nmethod(nm)));
  87 }
  88 
  89 TEST_VM(code, dependency_context) {
  90   test_remove_dependent_nmethod(0, false);
  91   test_remove_dependent_nmethod(1, false);
  92   test_remove_dependent_nmethod(2, false);
  93 
  94   test_remove_dependent_nmethod(0, true);
  95   test_remove_dependent_nmethod(1, true);
  96   test_remove_dependent_nmethod(2, true);
  97 }
< prev index next >