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 2016/06/01 12:01:59 UTC

[08/13] lucy-clownfish git commit: Use XS_INTERNAL for XSUBs

Use XS_INTERNAL for XSUBs

This marks XS functions as static, reducing the size of the Perl
binaries.


Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/75752926
Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/75752926
Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/75752926

Branch: refs/heads/master
Commit: 757529264259a95a2a60a2c5fe15608d648bb630
Parents: 37aa3d3
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Mon May 30 14:20:30 2016 +0200
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Mon May 30 15:13:26 2016 +0200

----------------------------------------------------------------------
 compiler/src/CFCPerl.c            | 7 +++++++
 compiler/src/CFCPerlConstructor.c | 4 ++--
 compiler/src/CFCPerlMethod.c      | 8 ++++----
 3 files changed, 13 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/75752926/compiler/src/CFCPerl.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCPerl.c b/compiler/src/CFCPerl.c
index d14cf84..551220b 100644
--- a/compiler/src/CFCPerl.c
+++ b/compiler/src/CFCPerl.c
@@ -631,6 +631,13 @@ CFCPerl_write_bindings(CFCPerl *self) {
     }
     generated_xs = CFCUtil_cat(generated_xs, "\n", NULL);
 
+    generated_xs = CFCUtil_cat(generated_xs,
+        "#ifndef XS_INTERNAL\n"
+        "  #define XS_INTERNAL XS\n"
+        "#endif\n"
+        "\n",
+        NULL);
+
     for (size_t i = 0; ordered[i] != NULL; i++) {
         CFCClass *klass = ordered[i];
         if (CFCClass_included(klass)) { continue; }

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/75752926/compiler/src/CFCPerlConstructor.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCPerlConstructor.c b/compiler/src/CFCPerlConstructor.c
index 1345113..83dfe83 100644
--- a/compiler/src/CFCPerlConstructor.c
+++ b/compiler/src/CFCPerlConstructor.c
@@ -142,8 +142,8 @@ CFCPerlConstructor_xsub_def(CFCPerlConstructor *self, CFCClass *klass) {
     }
 
     const char pattern[] =
-        "XS(%s);\n"
-        "XS(%s) {\n"
+        "XS_INTERNAL(%s);\n"
+        "XS_INTERNAL(%s) {\n"
         "    dXSARGS;\n"
         "%s" // param_specs
         "%s" // locs_decl

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/75752926/compiler/src/CFCPerlMethod.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCPerlMethod.c b/compiler/src/CFCPerlMethod.c
index 2b8b3e8..9f25f92 100644
--- a/compiler/src/CFCPerlMethod.c
+++ b/compiler/src/CFCPerlMethod.c
@@ -263,8 +263,8 @@ S_xsub_def_labeled_params(CFCPerlMethod *self, CFCClass *klass) {
     }
 
     char pattern[] =
-        "XS(%s);\n"
-        "XS(%s) {\n"
+        "XS_INTERNAL(%s);\n"
+        "XS_INTERNAL(%s) {\n"
         "    dXSARGS;\n"
         "%s"        // param_specs
         "    int32_t locations[%d];\n"
@@ -361,8 +361,8 @@ S_xsub_def_positional_args(CFCPerlMethod *self, CFCClass *klass) {
     }
 
     char pattern[] =
-        "XS(%s);\n"
-        "XS(%s) {\n"
+        "XS_INTERNAL(%s);\n"
+        "XS_INTERNAL(%s) {\n"
         "    dXSARGS;\n"
         "%s" // working_sv
         "%s" // arg_decls