Skip to content

Commit a87eaf8

Browse files
committed
* gc.c: change terminlogy "..._num" to "..._slots" about slot opetaion.
* final_num -> final_slots * objspace_live_num() -> objspace_live_slots() * objspace_limit_num() -> objspace_limit_slots() * objspace_free_num() -> objspace_free_slots() git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1 parent f060022 commit a87eaf8

File tree

2 files changed

+38
-30
lines changed

2 files changed

+38
-30
lines changed

ChangeLog

+8
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
Mon Nov 25 04:16:09 2013 Koichi Sasada <ko1@atdot.net>
2+
3+
* gc.c: change terminlogy "..._num" to "..._slots" about slot opetaion.
4+
* final_num -> final_slots
5+
* objspace_live_num() -> objspace_live_slots()
6+
* objspace_limit_num() -> objspace_limit_slots()
7+
* objspace_free_num() -> objspace_free_slots()
8+
19
Mon Nov 25 04:03:12 2013 Koichi Sasada <ko1@atdot.net>
210

311
* gc.c (gc_stat): add internal information.

gc.c

+30-30
Original file line numberDiff line numberDiff line change
@@ -419,7 +419,7 @@ typedef struct rb_objspace {
419419
size_t max_free_slots;
420420

421421
/* final */
422-
size_t final_num;
422+
size_t final_slots;
423423
RVALUE *deferred_final;
424424
} heap_pages;
425425

@@ -538,7 +538,7 @@ struct heap_page {
538538
struct heap_page_body *body;
539539
RVALUE *freelist;
540540
RVALUE *start;
541-
size_t final_num;
541+
size_t final_slots;
542542
size_t limit;
543543
struct heap_page *next;
544544
struct heap_page *prev;
@@ -590,7 +590,7 @@ VALUE *ruby_initial_gc_stress_ptr = &rb_objspace.gc_stress;
590590
#define heap_pages_increment objspace->heap_pages.increment
591591
#define heap_pages_min_free_slots objspace->heap_pages.min_free_slots
592592
#define heap_pages_max_free_slots objspace->heap_pages.max_free_slots
593-
#define heap_pages_final_num objspace->heap_pages.final_num
593+
#define heap_pages_final_slots objspace->heap_pages.final_slots
594594
#define heap_pages_deferred_final objspace->heap_pages.deferred_final
595595
#define heap_eden (&objspace->eden_heap)
596596
#define heap_tomb (&objspace->tomb_heap)
@@ -977,7 +977,7 @@ heap_pages_free_unused_pages(rb_objspace_t *objspace)
977977
for (i = j = 1; j < heap_pages_used; i++) {
978978
struct heap_page *page = heap_pages_sorted[i];
979979

980-
if (page->heap == heap_tomb && page->final_num == 0) {
980+
if (page->heap == heap_tomb && page->final_slots == 0) {
981981
if (heap_pages_swept_slots - page->limit > heap_pages_max_free_slots) {
982982
if (0) fprintf(stderr, "heap_pages_free_unused_pages: %d free page %p, heap_pages_swept_slots: %d, heap_pages_max_free_slots: %d\n",
983983
(int)i, page, (int)heap_pages_swept_slots, (int)heap_pages_max_free_slots);
@@ -1995,7 +1995,7 @@ run_final(rb_objspace_t *objspace, VALUE obj)
19951995
RUBY_DATA_FUNC free_func = 0;
19961996
st_data_t key, table;
19971997

1998-
heap_pages_final_num--;
1998+
heap_pages_final_slots--;
19991999

20002000
RBASIC_CLEAR_CLASS(obj);
20012001

@@ -2025,7 +2025,7 @@ finalize_list(rb_objspace_t *objspace, RVALUE *p)
20252025
run_final(objspace, (VALUE)p);
20262026
objspace->profile.total_freed_object_num++;
20272027

2028-
page->final_num--;
2028+
page->final_slots--;
20292029
heap_page_add_freeobj(objspace, GET_HEAP_PAGE(p), (VALUE)p);
20302030
heap_pages_swept_slots++;
20312031

@@ -2625,21 +2625,21 @@ lazy_sweep_enable(void)
26252625
}
26262626

26272627
static size_t
2628-
objspace_live_num(rb_objspace_t *objspace)
2628+
objspace_live_slot(rb_objspace_t *objspace)
26292629
{
26302630
return objspace->profile.total_allocated_object_num - objspace->profile.total_freed_object_num;
26312631
}
26322632

26332633
static size_t
2634-
objspace_limit_num(rb_objspace_t *objspace)
2634+
objspace_limit_slot(rb_objspace_t *objspace)
26352635
{
26362636
return heap_eden->limit + heap_tomb->limit;
26372637
}
26382638

26392639
static size_t
2640-
objspace_free_num(rb_objspace_t *objspace)
2640+
objspace_free_slot(rb_objspace_t *objspace)
26412641
{
2642-
return objspace_limit_num(objspace) - (objspace_live_num(objspace) - heap_pages_final_num);
2642+
return objspace_limit_slot(objspace) - (objspace_live_slot(objspace) - heap_pages_final_slots);
26432643
}
26442644

26452645
static void
@@ -2658,7 +2658,7 @@ static inline void
26582658
gc_page_sweep(rb_objspace_t *objspace, rb_heap_t *heap, struct heap_page *sweep_page)
26592659
{
26602660
int i;
2661-
size_t empty_num = 0, freed_num = 0, final_num = 0;
2661+
size_t empty_slots = 0, freed_slots = 0, final_slots = 0;
26622662
RVALUE *p, *pend,*offset;
26632663
bits_t *bits, bitset;
26642664

@@ -2687,22 +2687,22 @@ gc_page_sweep(rb_objspace_t *objspace, rb_heap_t *heap, struct heap_page *sweep_
26872687
if (rgengc_remembered(objspace, (VALUE)p)) rb_bug("page_sweep: %p (%s) is remembered.\n", p, obj_type_name((VALUE)p));
26882688
#endif
26892689
if (obj_free(objspace, (VALUE)p)) {
2690-
final_num++;
2690+
final_slots++;
26912691
}
26922692
else if (FL_TEST(p, FL_FINALIZE)) {
26932693
RDATA(p)->dfree = 0;
26942694
make_deferred(objspace,p);
2695-
final_num++;
2695+
final_slots++;
26962696
}
26972697
else {
26982698
(void)VALGRIND_MAKE_MEM_UNDEFINED((void*)p, sizeof(RVALUE));
26992699
heap_page_add_freeobj(objspace, sweep_page, (VALUE)p);
27002700
rgengc_report(3, objspace, "page_sweep: %p (%s) is added to freelist\n", p, obj_type_name((VALUE)p));
2701-
freed_num++;
2701+
freed_slots++;
27022702
}
27032703
}
27042704
else {
2705-
empty_num++;
2705+
empty_slots++;
27062706
}
27072707
}
27082708
p++;
@@ -2716,28 +2716,28 @@ gc_page_sweep(rb_objspace_t *objspace, rb_heap_t *heap, struct heap_page *sweep_
27162716
#if GC_PROFILE_MORE_DETAIL
27172717
if (objspace->profile.run) {
27182718
gc_profile_record *record = gc_prof_record(objspace);
2719-
record->removing_objects += final_num + freed_num;
2720-
record->empty_objects += empty_num;
2719+
record->removing_objects += final_slots + freed_slots;
2720+
record->empty_objects += empty_slots;
27212721
}
27222722
#endif
27232723

2724-
if (final_num + freed_num + empty_num == sweep_page->limit) {
2724+
if (final_slots + freed_slots + empty_slots == sweep_page->limit) {
27252725
/* there are no living objects -> move this page to tomb heap */
27262726
heap_unlink_page(objspace, heap, sweep_page);
27272727
heap_add_page(objspace, heap_tomb, sweep_page);
27282728
}
27292729
else {
2730-
if (freed_num + empty_num > 0) {
2730+
if (freed_slots + empty_slots > 0) {
27312731
heap_add_freepage(objspace, heap, sweep_page);
27322732
}
27332733
else {
27342734
sweep_page->free_next = NULL;
27352735
}
27362736
}
2737-
heap_pages_swept_slots += freed_num + empty_num;
2738-
objspace->profile.total_freed_object_num += freed_num;
2739-
heap_pages_final_num += final_num;
2740-
sweep_page->final_num = final_num;
2737+
heap_pages_swept_slots += freed_slots + empty_slots;
2738+
objspace->profile.total_freed_object_num += freed_slots;
2739+
heap_pages_final_slots += final_slots;
2740+
sweep_page->final_slots = final_slots;
27412741

27422742
if (heap_pages_deferred_final && !finalizing) {
27432743
rb_thread_t *th = GET_THREAD();
@@ -2787,7 +2787,7 @@ static void
27872787
gc_before_sweep(rb_objspace_t *objspace)
27882788
{
27892789
rb_heap_t *heap;
2790-
size_t total_limit_num;
2790+
size_t total_limit_slot;
27912791

27922792
rgengc_report(1, objspace, "gc_before_sweep\n");
27932793

@@ -2797,13 +2797,13 @@ gc_before_sweep(rb_objspace_t *objspace)
27972797
}
27982798

27992799
heap_pages_swept_slots = 0;
2800-
total_limit_num = objspace_limit_num(objspace);
2800+
total_limit_slot = objspace_limit_slot(objspace);
28012801

2802-
heap_pages_min_free_slots = (size_t)(total_limit_num * 0.30);
2802+
heap_pages_min_free_slots = (size_t)(total_limit_slot * 0.30);
28032803
if (heap_pages_min_free_slots < gc_params.heap_free_slots) {
28042804
heap_pages_min_free_slots = gc_params.heap_free_slots;
28052805
}
2806-
heap_pages_max_free_slots = (size_t)(total_limit_num * 0.80);
2806+
heap_pages_max_free_slots = (size_t)(total_limit_slot * 0.80);
28072807
if (heap_pages_max_free_slots < gc_params.heap_init_slots) {
28082808
heap_pages_max_free_slots = gc_params.heap_init_slots;
28092809
}
@@ -5132,9 +5132,9 @@ gc_stat(int argc, VALUE *argv, VALUE self)
51325132
SET(heap_used, heap_pages_used);
51335133
SET(heap_length, heap_pages_length);
51345134
SET(heap_increment, heap_pages_increment);
5135-
SET(heap_live_slot, objspace_live_num(objspace));
5136-
SET(heap_free_slot, objspace_free_num(objspace));
5137-
SET(heap_final_slot, heap_pages_final_num);
5135+
SET(heap_live_slot, objspace_live_slot(objspace));
5136+
SET(heap_free_slot, objspace_free_slot(objspace));
5137+
SET(heap_final_slot, heap_pages_final_slots);
51385138
SET(heap_swept_slot, heap_pages_swept_slots);
51395139
SET(total_allocated_object, objspace->profile.total_allocated_object_num);
51405140
SET(total_freed_object, objspace->profile.total_freed_object_num);

0 commit comments

Comments
 (0)