You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by nw...@apache.org on 2014/12/04 22:46:00 UTC
[2/8] lucy-clownfish git commit: Optimize CFCClass_fresh_methods
Optimize CFCClass_fresh_methods
Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/a761adcb
Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/a761adcb
Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/a761adcb
Branch: refs/heads/markdown_v2
Commit: a761adcb5a906014964cdaa6d2feda738b0068dc
Parents: 2aeb8db
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Wed Dec 3 19:24:21 2014 +0100
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Wed Dec 3 19:24:21 2014 +0100
----------------------------------------------------------------------
compiler/src/CFCBindClass.c | 4 ----
compiler/src/CFCC.c | 2 --
compiler/src/CFCCHtml.c | 2 --
compiler/src/CFCCMan.c | 2 --
compiler/src/CFCClass.c | 3 +--
compiler/src/CFCClass.h | 2 ++
compiler/src/CFCPerl.c | 1 -
compiler/src/CFCPerlClass.c | 3 ---
compiler/src/CFCTestClass.c | 4 +---
9 files changed, 4 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/a761adcb/compiler/src/CFCBindClass.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCBindClass.c b/compiler/src/CFCBindClass.c
index 5f2ef24..cb8a1db 100644
--- a/compiler/src/CFCBindClass.c
+++ b/compiler/src/CFCBindClass.c
@@ -587,8 +587,6 @@ CFCBindClass_callback_decs(CFCBindClass *self) {
}
}
- FREEMEM(fresh_methods);
-
return cb_decs;
}
@@ -643,7 +641,6 @@ S_sub_declarations(CFCBindClass *self) {
declarations = CFCUtil_cat(declarations, dec, "\n\n", NULL);
FREEMEM(dec);
}
- FREEMEM(fresh_methods);
return declarations;
}
@@ -723,7 +720,6 @@ S_short_names(CFCBindClass *self) {
short_names = CFCUtil_cat(short_names, " #define ", short_imp,
" ", full_imp, "\n", NULL);
}
- FREEMEM(fresh_methods);
CFCMethod **methods = CFCClass_methods(client);
for (int i = 0; methods[i] != NULL; i++) {
http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/a761adcb/compiler/src/CFCC.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCC.c b/compiler/src/CFCC.c
index 96408d6..cf9a4cf 100644
--- a/compiler/src/CFCC.c
+++ b/compiler/src/CFCC.c
@@ -143,8 +143,6 @@ S_callback_decs(CFCClass *klass) {
}
}
- FREEMEM(fresh_methods);
-
return cb_decs;
}
http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/a761adcb/compiler/src/CFCCHtml.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCCHtml.c b/compiler/src/CFCCHtml.c
index da02942..76b8109 100644
--- a/compiler/src/CFCCHtml.c
+++ b/compiler/src/CFCCHtml.c
@@ -546,7 +546,6 @@ S_html_create_methods(CFCClass *klass) {
}
FREEMEM(methods_html);
- FREEMEM(fresh_methods);
return result;
}
@@ -598,7 +597,6 @@ S_html_create_fresh_methods(CFCClass *klass, CFCClass *invoker) {
result = CFCUtil_cat(result, "</dl>\n", NULL);
}
- FREEMEM(fresh_methods);
return result;
}
http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/a761adcb/compiler/src/CFCCMan.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCCMan.c b/compiler/src/CFCCMan.c
index 650eab5..e559d6b 100644
--- a/compiler/src/CFCCMan.c
+++ b/compiler/src/CFCCMan.c
@@ -250,7 +250,6 @@ S_man_create_methods(CFCClass *klass) {
FREEMEM(methods_man);
FREEMEM(novel_man);
- FREEMEM(fresh_methods);
return result;
}
@@ -280,7 +279,6 @@ S_man_create_inherited_methods(CFCClass *klass) {
FREEMEM(full_method_sym);
}
- FREEMEM(fresh_methods);
return result;
}
http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/a761adcb/compiler/src/CFCClass.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCClass.c b/compiler/src/CFCClass.c
index 10f4e92..b0a47c8 100644
--- a/compiler/src/CFCClass.c
+++ b/compiler/src/CFCClass.c
@@ -667,8 +667,7 @@ S_fresh_syms(CFCClass *self, CFCSymbol **syms) {
CFCMethod**
CFCClass_fresh_methods(CFCClass *self) {
- // TODO: Return self->fresh_methods
- return (CFCMethod**)S_fresh_syms(self, (CFCSymbol**)self->methods);
+ return self->fresh_methods;
}
CFCVariable**
http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/a761adcb/compiler/src/CFCClass.h
----------------------------------------------------------------------
diff --git a/compiler/src/CFCClass.h b/compiler/src/CFCClass.h
index 8d7f4d8..5d0701c 100644
--- a/compiler/src/CFCClass.h
+++ b/compiler/src/CFCClass.h
@@ -158,11 +158,13 @@ CFCClass**
CFCClass_tree_to_ladder(CFCClass *self);
/** Return an array of all methods implemented in this class.
+ * Must not be freed by the caller.
*/
struct CFCMethod**
CFCClass_fresh_methods(CFCClass *self);
/** Return an array of all member variables declared in this class.
+ * Must be freed by the caller.
*/
struct CFCVariable**
CFCClass_fresh_member_vars(CFCClass *self);
http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/a761adcb/compiler/src/CFCPerl.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCPerl.c b/compiler/src/CFCPerl.c
index a04bb61..6637dee 100644
--- a/compiler/src/CFCPerl.c
+++ b/compiler/src/CFCPerl.c
@@ -610,7 +610,6 @@ S_write_callbacks_c(CFCPerl *self) {
FREEMEM(cb_def);
}
}
- FREEMEM(fresh_methods);
}
content = CFCUtil_cat(content, self->c_footer, NULL);
http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/a761adcb/compiler/src/CFCPerlClass.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCPerlClass.c b/compiler/src/CFCPerlClass.c
index bb8e4de..782f719 100644
--- a/compiler/src/CFCPerlClass.c
+++ b/compiler/src/CFCPerlClass.c
@@ -264,8 +264,6 @@ CFCPerlClass_method_bindings(CFCClass *klass) {
bound[num_bound] = NULL;
}
- FREEMEM(fresh_methods);
-
return bound;
}
@@ -515,7 +513,6 @@ CFCPerlClass_method_metadata_code(CFCPerlClass *self) {
}
}
- FREEMEM(fresh_methods);
return code;
}
http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/a761adcb/compiler/src/CFCTestClass.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCTestClass.c b/compiler/src/CFCTestClass.c
index a4e5ddc..1bdc5e4 100644
--- a/compiler/src/CFCTestClass.c
+++ b/compiler/src/CFCTestClass.c
@@ -169,7 +169,6 @@ S_run_tests(CFCTest *test) {
OK(test, fresh_member_vars[0] == thing, "fresh_member_vars[0]");
OK(test, fresh_member_vars[1] == NULL, "fresh_member_vars[1]");
- FREEMEM(fresh_methods);
FREEMEM(fresh_member_vars);
}
@@ -193,7 +192,6 @@ S_run_tests(CFCTest *test) {
{
CFCMethod **fresh_methods = CFCClass_fresh_methods(final_foo);
OK(test, fresh_methods[0] == NULL, "fresh_methods[0]");
- FREEMEM(fresh_methods);
}
{
@@ -279,7 +277,7 @@ S_run_tests(CFCTest *test) {
CFCSymbol **inert_vars = (CFCSymbol**)CFCClass_inert_vars(klass);
CFCSymbol **member_vars = (CFCSymbol**)CFCClass_member_vars(klass);
CFCSymbol **functions = (CFCSymbol**)CFCClass_functions(klass);
- CFCSymbol **methods = (CFCSymbol**)CFCClass_methods(klass);
+ CFCSymbol **methods = (CFCSymbol**)CFCClass_fresh_methods(klass);
OK(test, S_has_symbol(inert_vars, "num_dogs"), "parsed inert var");
OK(test, S_has_symbol(inert_vars, "top_dog"), "parsed public inert var");
OK(test, S_has_symbol(member_vars, "mom"), "parsed member var");