Reviewers: Michail Naganov,

Description:
Allow List::sort, with an integer comparison function, to sort 64-bit pointers
in profile-generator.  Change a static const int member to be declared and
defined only inside the class declaration in class Runtime.

Please review this at http://codereview.chromium.org/3424002/show

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
  M     src/profile-generator.cc
  M     src/runtime.cc


Index: src/profile-generator.cc
===================================================================
--- src/profile-generator.cc    (revision 5451)
+++ src/profile-generator.cc    (working copy)
@@ -2449,10 +2449,18 @@

 template<typename T>
 inline static int SortUsingEntryValue(const T* x, const T* y) {
-  return reinterpret_cast<intptr_t>((*x)->value) -
-      reinterpret_cast<intptr_t>((*y)->value);
+  uintptr_t x_uint = reinterpret_cast<uintptr_t>((*x)->value);
+  uintptr_t y_uint = reinterpret_cast<uintptr_t>((*y)->value);
+  if (x > y) {
+    return 1;
+  } else if (x == y) {
+    return 0;
+  } else {
+    return -1;
+  }
 }

+
 void HeapSnapshotJSONSerializer::SortHashMap(
     HashMap* map, List<HashMap::Entry*>* sorted_entries) {
   for (HashMap::Entry* p = map->Start(); p != NULL; p = map->Next(p))
Index: src/runtime.cc
===================================================================
--- src/runtime.cc      (revision 5451)
+++ src/runtime.cc      (working copy)
@@ -10106,9 +10106,6 @@
 };


-const int Runtime::kNotFound;
-
-
 Object* Runtime::InitializeIntrinsicFunctionNames(Object* dictionary) {
   ASSERT(dictionary != NULL);
   ASSERT(StringDictionary::cast(dictionary)->NumberOfElements() == 0);


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to