[svn:parrot] r49600 - in trunk: config/gen config/gen/platform/generic config/gen/platform/win32 include/parrot

bacek at svn.parrot.org bacek at svn.parrot.org
Wed Oct 20 08:50:44 UTC 2010


Author: bacek
Date: Wed Oct 20 08:50:44 2010
New Revision: 49600
URL: https://trac.parrot.org/parrot/changeset/49600

Log:
Add Parrot_sysmem_amount to get available memory.

NB: Win32 version is total stub and returns hardcoded 1GB.

Added:
   trunk/config/gen/platform/generic/sysmem.c
   trunk/config/gen/platform/win32/sysmem.c
   trunk/include/parrot/sysmem.h
Modified:
   trunk/config/gen/platform.pm

Modified: trunk/config/gen/platform.pm
==============================================================================
--- trunk/config/gen/platform.pm	Wed Oct 20 06:25:44 2010	(r49599)
+++ trunk/config/gen/platform.pm	Wed Oct 20 08:50:44 2010	(r49600)
@@ -198,6 +198,7 @@
         misc.c
         hires_timer.c
         pid.c
+        sysmem.c
         /;
 
     my $plat_c = q{src/platform.c};

Added: trunk/config/gen/platform/generic/sysmem.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/config/gen/platform/generic/sysmem.c	Wed Oct 20 08:50:44 2010	(r49600)
@@ -0,0 +1,55 @@
+/*
+ * $Id$
+ * Copyright (C) 2010, Parrot Foundation.
+ */
+
+/*
+
+=head1 NAME
+
+config/gen/platform/generic/sysmem.c
+
+=head1 DESCRIPTION
+
+Get system memory information.
+
+=head2 Functions
+
+=over 4
+
+=cut
+
+*/
+
+#include <unistd.h>
+
+/*
+
+=item C<PMC * Parrot_sysmem_amount(PARROT_INTERP)>
+
+Get information about available physycal memory.
+
+=cut
+
+*/
+
+size_t
+Parrot_sysmem_amount(PARROT_INTERP)
+{
+    return sysconf(_SC_AVPHYS_PAGES) * sysconf(_SC_PAGE_SIZE);
+}
+
+/*
+
+=back
+
+=cut
+
+*/
+
+/*
+ * Local variables:
+ *   c-file-style: "parrot"
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */

Added: trunk/config/gen/platform/win32/sysmem.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/config/gen/platform/win32/sysmem.c	Wed Oct 20 08:50:44 2010	(r49600)
@@ -0,0 +1,54 @@
+/*
+ * $Id$
+ * Copyright (C) 2010, Parrot Foundation.
+ */
+
+/*
+
+=head1 NAME
+
+config/gen/platform/win32/sysmem.c
+
+=head1 DESCRIPTION
+
+Get system memory information.
+
+=head2 Functions
+
+=over 4
+
+=cut
+
+*/
+
+/*
+
+=item C<PMC * Parrot_sysmem_amount(PARROT_INTERP)>
+
+Get information about available physycal memory.
+
+=cut
+
+*/
+
+size_t
+Parrot_sysmem_amount(PARROT_INTERP)
+{
+    /* FIXME: Stub only. Returns 1 GB */
+    return 1 * 1024 * 1024;
+}
+
+/*
+
+=back
+
+=cut
+
+*/
+
+/*
+ * Local variables:
+ *   c-file-style: "parrot"
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */

Added: trunk/include/parrot/sysmem.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/include/parrot/sysmem.h	Wed Oct 20 08:50:44 2010	(r49600)
@@ -0,0 +1,21 @@
+/* sysmem.h
+ *  Copyright (C) 2010, Parrot Foundation.
+ *     This is the api header for abstracting sysmem calls
+ */
+
+#ifndef PARROT_SYSMEM_H_GUARD
+#define PARROT_SYSMEM_H_GUARD
+
+#include "parrot/config.h"
+
+PARROT_EXPORT INTVAL Parrot_sysmem_amount(Parrot_Interp);
+
+#endif /* PARROT_SYSMEM_H_GUARD */
+
+/*
+ * Local variables:
+ *   c-file-style: "parrot"
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */
+


More information about the parrot-commits mailing list