summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-09-13 05:14:51 +0000
committernormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-09-13 05:14:51 +0000
commitd2e3c034091ce3772e9cc12d2cbb4b0fe99b25bb (patch)
tree123d8479e54f2e779f7a24e8c3b3fd3112374a14
parent161deb2196ecaca67d00ce64e3eb871946fab4aa (diff)
simplify some trivial rb_data_type_t callbacks
* process.c (free_exec_arg): remove (memsize_exec_arg): ptr is never NULL (exec_arg_data_type): use RUBY_TYPED_DEFAULT_FREE * variable.c (autoload_i_free): remove (autoload_data_i_type): use RUBY_TYPED_DEFAULT_FREE (autoload_memsize): ptr is never NULL * vm_backtrace.c (location_free): remove (location_mark): ptr is never NULL (location_data_type): use RUBY_TYPED_DEFAULT_FREE (backtrace_mark): ditto (backtrace_free): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog16
-rw-r--r--process.c10
-rw-r--r--variable.c11
-rw-r--r--vm_backtrace.c39
4 files changed, 32 insertions, 44 deletions
diff --git a/ChangeLog b/ChangeLog
index b1bd93ab99..051a199f2f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+Sat Sep 13 14:14:00 2014 Eric Wong <e@80x24.org>
+
+ * process.c (free_exec_arg): remove
+ (memsize_exec_arg): ptr is never NULL
+ (exec_arg_data_type): use RUBY_TYPED_DEFAULT_FREE
+
+ * variable.c (autoload_i_free): remove
+ (autoload_data_i_type): use RUBY_TYPED_DEFAULT_FREE
+ (autoload_memsize): ptr is never NULL
+
+ * vm_backtrace.c (location_free): remove
+ (location_mark): ptr is never NULL
+ (location_data_type): use RUBY_TYPED_DEFAULT_FREE
+ (backtrace_mark): ditto
+ (backtrace_free): ditto
+
Sat Sep 13 13:43:07 2014 Eric Wong <e@80x24.org>
* doc/NEWS-2.0.0: fix typo for default RUBY_FIBER_MACHINE_STACK_SIZE
diff --git a/process.c b/process.c
index 590a21fa45..c4965eca7e 100644
--- a/process.c
+++ b/process.c
@@ -1348,21 +1348,15 @@ mark_exec_arg(void *ptr)
rb_gc_mark(eargp->chdir_dir);
}
-static void
-free_exec_arg(void *ptr)
-{
- xfree(ptr);
-}
-
static size_t
memsize_exec_arg(const void *ptr)
{
- return ptr ? sizeof(struct rb_execarg) : 0;
+ return sizeof(struct rb_execarg);
}
static const rb_data_type_t exec_arg_data_type = {
"exec_arg",
- {mark_exec_arg, free_exec_arg, memsize_exec_arg},
+ {mark_exec_arg, RUBY_TYPED_DEFAULT_FREE, memsize_exec_arg},
NULL, NULL, RUBY_TYPED_FREE_IMMEDIATELY
};
diff --git a/variable.c b/variable.c
index 64a0556780..b32a6ffe59 100644
--- a/variable.c
+++ b/variable.c
@@ -1543,7 +1543,7 @@ static size_t
autoload_memsize(const void *ptr)
{
const st_table *tbl = ptr;
- return tbl ? st_memsize(tbl) : 0;
+ return st_memsize(tbl);
}
static const rb_data_type_t autoload_data_type = {
@@ -1584,13 +1584,6 @@ autoload_i_mark(void *ptr)
rb_gc_mark(p->value);
}
-static void
-autoload_i_free(void *ptr)
-{
- struct autoload_data_i *p = ptr;
- xfree(p);
-}
-
static size_t
autoload_i_memsize(const void *ptr)
{
@@ -1599,7 +1592,7 @@ autoload_i_memsize(const void *ptr)
static const rb_data_type_t autoload_data_i_type = {
"autoload_i",
- {autoload_i_mark, autoload_i_free, autoload_i_memsize,},
+ {autoload_i_mark, RUBY_TYPED_DEFAULT_FREE, autoload_i_memsize,},
NULL, NULL, RUBY_TYPED_FREE_IMMEDIATELY
};
diff --git a/vm_backtrace.c b/vm_backtrace.c
index 7355a5f973..9948654ad2 100644
--- a/vm_backtrace.c
+++ b/vm_backtrace.c
@@ -72,10 +72,8 @@ struct valued_frame_info {
static void
location_mark(void *ptr)
{
- if (ptr) {
- struct valued_frame_info *vfi = (struct valued_frame_info *)ptr;
- rb_gc_mark(vfi->btobj);
- }
+ struct valued_frame_info *vfi = (struct valued_frame_info *)ptr;
+ rb_gc_mark(vfi->btobj);
}
static void
@@ -93,15 +91,6 @@ location_mark_entry(rb_backtrace_location_t *fi)
}
}
-static void
-location_free(void *ptr)
-{
- if (ptr) {
- rb_backtrace_location_t *fi = (rb_backtrace_location_t *)ptr;
- ruby_xfree(fi);
- }
-}
-
static size_t
location_memsize(const void *ptr)
{
@@ -111,7 +100,7 @@ location_memsize(const void *ptr)
static const rb_data_type_t location_data_type = {
"frame_info",
- {location_mark, location_free, location_memsize,},
+ {location_mark, RUBY_TYPED_DEFAULT_FREE, location_memsize,},
NULL, NULL, RUBY_TYPED_FREE_IMMEDIATELY
};
@@ -378,26 +367,22 @@ typedef struct rb_backtrace_struct {
static void
backtrace_mark(void *ptr)
{
- if (ptr) {
- rb_backtrace_t *bt = (rb_backtrace_t *)ptr;
- size_t i, s = bt->backtrace_size;
+ rb_backtrace_t *bt = (rb_backtrace_t *)ptr;
+ size_t i, s = bt->backtrace_size;
- for (i=0; i<s; i++) {
- location_mark_entry(&bt->backtrace[i]);
- }
- rb_gc_mark(bt->strary);
- rb_gc_mark(bt->locary);
+ for (i=0; i<s; i++) {
+ location_mark_entry(&bt->backtrace[i]);
}
+ rb_gc_mark(bt->strary);
+ rb_gc_mark(bt->locary);
}
static void
backtrace_free(void *ptr)
{
- if (ptr) {
- rb_backtrace_t *bt = (rb_backtrace_t *)ptr;
- if (bt->backtrace) ruby_xfree(bt->backtrace_base);
- ruby_xfree(bt);
- }
+ rb_backtrace_t *bt = (rb_backtrace_t *)ptr;
+ if (bt->backtrace) ruby_xfree(bt->backtrace_base);
+ ruby_xfree(bt);
}
static size_t