Allow List::sort, with an integer comparison function, to sort 64-bit pointers in...
authorwhesse@chromium.org <whesse@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 14 Sep 2010 15:16:32 +0000 (15:16 +0000)
committerwhesse@chromium.org <whesse@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 14 Sep 2010 15:16:32 +0000 (15:16 +0000)
Review URL: http://codereview.chromium.org/3424002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/profile-generator.cc
src/runtime.cc

index 71eac3d..f8fa23d 100644 (file)
@@ -2465,10 +2465,18 @@ void HeapSnapshotJSONSerializer::SerializeStrings() {
 
 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_uint > y_uint) {
+    return 1;
+  } else if (x_uint == y_uint) {
+    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 a8a51d9..627ea12 100644 (file)
@@ -10106,9 +10106,6 @@ Runtime::Function kIntrinsicFunctions[] = {
 };
 
 
-const int Runtime::kNotFound;
-
-
 Object* Runtime::InitializeIntrinsicFunctionNames(Object* dictionary) {
   ASSERT(dictionary != NULL);
   ASSERT(StringDictionary::cast(dictionary)->NumberOfElements() == 0);