Index: test/cctest/test-profile-generator.cc |
diff --git a/test/cctest/test-profile-generator.cc b/test/cctest/test-profile-generator.cc |
index b36220284f29279c909c7498b2afa267ca267d30..d8f1c10917fd965bf38fa41734050b20fe6e8cf6 100644 |
--- a/test/cctest/test-profile-generator.cc |
+++ b/test/cctest/test-profile-generator.cc |
@@ -89,6 +89,24 @@ TEST(ProfileNodeFindOrAddChild) { |
} |
+TEST(ProfileNodeFindOrAddChildForSameFunction) { |
+ ProfileNode node(NULL, NULL); |
+ CodeEntry entry1(i::Logger::FUNCTION_TAG, "", "aaa", "", 0, |
+ TokenEnumerator::kNoSecurityToken); |
+ ProfileNode* childNode1 = node.FindOrAddChild(&entry1); |
+ CHECK_NE(NULL, childNode1); |
+ CHECK_EQ(childNode1, node.FindOrAddChild(&entry1)); |
+ // The same function again. |
+ CodeEntry entry2(i::Logger::FUNCTION_TAG, "", "aaa", "", 0, |
+ TokenEnumerator::kNoSecurityToken); |
+ CHECK_EQ(childNode1, node.FindOrAddChild(&entry2)); |
+ // Now with a different security token. |
+ CodeEntry entry3(i::Logger::FUNCTION_TAG, "", "aaa", "", 0, |
+ TokenEnumerator::kNoSecurityToken + 1); |
+ CHECK_EQ(childNode1, node.FindOrAddChild(&entry3)); |
+} |
+ |
+ |
namespace { |
class ProfileTreeTestHelper { |