| ... |
... |
@@ -1033,8 +1033,8 @@ findPtr(P_ p, int follow) |
|
1033
|
1033
|
{
|
|
1034
|
1034
|
uint32_t g, n;
|
|
1035
|
1035
|
bdescr *bd;
|
|
1036
|
|
- const int arr_size = 1024;
|
|
1037
|
|
- StgPtr arr[arr_size];
|
|
|
1036
|
+#define ARR_SIZE 1024
|
|
|
1037
|
+ StgPtr arr[ARR_SIZE];
|
|
1038
|
1038
|
int i = 0;
|
|
1039
|
1039
|
searched = 0;
|
|
1040
|
1040
|
|
| ... |
... |
@@ -1044,24 +1044,24 @@ findPtr(P_ p, int follow) |
|
1044
|
1044
|
// just before a block is used.
|
|
1045
|
1045
|
for (n = 0; n < getNumCapabilities(); n++) {
|
|
1046
|
1046
|
bd = nurseries[i].blocks;
|
|
1047
|
|
- i = findPtrBlocks(p,bd,arr,arr_size,i);
|
|
1048
|
|
- if (i >= arr_size) return;
|
|
|
1047
|
+ i = findPtrBlocks(p,bd,arr,ARR_SIZE,i);
|
|
|
1048
|
+ if (i >= ARR_SIZE) return;
|
|
1049
|
1049
|
}
|
|
1050
|
1050
|
#endif
|
|
1051
|
1051
|
|
|
1052
|
1052
|
for (g = 0; g < RtsFlags.GcFlags.generations; g++) {
|
|
1053
|
1053
|
bd = generations[g].blocks;
|
|
1054
|
|
- i = findPtrBlocks(p,bd,arr,arr_size,i);
|
|
|
1054
|
+ i = findPtrBlocks(p,bd,arr,ARR_SIZE,i);
|
|
1055
|
1055
|
bd = generations[g].large_objects;
|
|
1056
|
|
- i = findPtrBlocks(p,bd,arr,arr_size,i);
|
|
1057
|
|
- if (i >= arr_size) return;
|
|
|
1056
|
+ i = findPtrBlocks(p,bd,arr,ARR_SIZE,i);
|
|
|
1057
|
+ if (i >= ARR_SIZE) return;
|
|
1058
|
1058
|
for (n = 0; n < getNumCapabilities(); n++) {
|
|
1059
|
1059
|
i = findPtrBlocks(p, gc_threads[n]->gens[g].part_list,
|
|
1060
|
|
- arr, arr_size, i);
|
|
|
1060
|
+ arr, ARR_SIZE, i);
|
|
1061
|
1061
|
i = findPtrBlocks(p, gc_threads[n]->gens[g].todo_bd,
|
|
1062
|
|
- arr, arr_size, i);
|
|
|
1062
|
+ arr, ARR_SIZE, i);
|
|
1063
|
1063
|
}
|
|
1064
|
|
- if (i >= arr_size) return;
|
|
|
1064
|
+ if (i >= ARR_SIZE) return;
|
|
1065
|
1065
|
}
|
|
1066
|
1066
|
if (follow && i == 1) {
|
|
1067
|
1067
|
debugBelch("-->\n");
|