\r
+ listener:\r
\r
+- backspace overzealous\r
- fedit broken with listener\r
- maple-like: press enter at old commands to evaluate there\r
\r
$CC $CFLAGS -o f native/*.c
strip f
-
-#export CC=gcc
-#export CFLAGS="-pedantic -Wall -g"
-#
-#$CC $CFLAGS -o f-debug native/*.c
[ t ] [ 10 callcc1-test 10 count = ] unit-test
[ t ] [ callcc-namespace-test ] unit-test
+
+! This caused the Java Factor to run out of memory
+[ ] [ 10000 [ [ call ] callcc0 ] times ] unit-test
--- /dev/null
+IN: scratchpad
+USE: kernel
+USE: namespaces
+USE: parser
+USE: strings
+USE: test
+
+! Various things that broke the CFactor GC at various times.
+! This should run without issue (and tests nothing useful)
+! in Java Factor
+
+! This was bloody stupid of me
+"20 <sbuf> \"foo\" set" eval
+"garbage-collection" eval
+
"Running Factor test suite..." print
"vocabularies" get [ f "scratchpad" set ] bind
[
+ "garbage-collection"
"lists/cons"
"lists/lists"
"lists/assoc"
#define BYTES 1
/* Memory heap size */
-#define DEFAULT_ARENA (128 * 1024 * 1024)
+#define DEFAULT_ARENA (32 * 1024 * 1024)
#define STACK_SIZE 1024
#include "error.h"
#endif
}
-/* Given a pointer to a pointer to oldspace, copy it to newspace. */
+/* Given a pointer to oldspace, copy it to newspace. */
void* copy_untagged_object(void* pointer, CELL size)
{
void* newpointer = allot(size);
newpointer = UNTAG(header);
gc_debug("FORWARDING",newpointer);
}
+ else if(TAG(pointer) == GC_COLLECTED)
+ {
+ critical_error("asked to copy forwarding pointer",pointer);
+ newpointer = 0; /* to shut up gcc */
+ }
else
{
gc_debug("copy_object",pointer);
void collect_sbuf(SBUF* sbuf)
{
- sbuf->string = copy_untagged_object(sbuf->string,
- sizeof(sbuf->string) + sbuf->string->capacity);
+ sbuf->string = copy_untagged_object(sbuf->string,SSIZE(sbuf->string));
}