[pypy-commit] pypy stmgc-c8: allow duhton to translate by adding some dummy implementations for missing features in c8

Raemi noreply at buildbot.pypy.org
Thu Jan 22 11:37:55 CET 2015


Author: Remi Meier <remi.meier at inf.ethz.ch>
Branch: stmgc-c8
Changeset: r75480:8453464f9ab4
Date: 2015-01-22 11:00 +0100
http://bitbucket.org/pypy/pypy/changeset/8453464f9ab4/

Log:	allow duhton to translate by adding some dummy implementations for
	missing features in c8

diff --git a/rpython/translator/stm/src_stm/stmgcintf.c b/rpython/translator/stm/src_stm/stmgcintf.c
--- a/rpython/translator/stm/src_stm/stmgcintf.c
+++ b/rpython/translator/stm/src_stm/stmgcintf.c
@@ -9,6 +9,14 @@
 __thread uintptr_t pypy_stm_nursery_low_fill_mark;
 __thread uintptr_t pypy_stm_nursery_low_fill_mark_saved;
 
+
+/* C8: not implemented properly yet: */
+void (*stmcb_light_finalizer)(object_t *o);
+void (*stmcb_finalizer)(object_t *o);
+/* C8: not implemented properly yet ^^^^^^^^^^^^^^^^^^ */
+
+
+
 extern Signed pypy_stmcb_size_rounded_up(void*);
 extern void pypy_stmcb_get_card_base_itemsize(void*, uintptr_t[]);
 extern void pypy_stmcb_trace(void*, void(*)(void*));
diff --git a/rpython/translator/stm/src_stm/stmgcintf.h b/rpython/translator/stm/src_stm/stmgcintf.h
--- a/rpython/translator/stm/src_stm/stmgcintf.h
+++ b/rpython/translator/stm/src_stm/stmgcintf.h
@@ -39,6 +39,23 @@
 
 long _pypy_stm_count(void);
 
+/* C8: not implemented properly yet: */
+typedef struct {
+    stm_thread_local_t *tl;
+    char *segment_base;    /* base to interpret the 'object' below */
+    uintptr_t odd_number;  /* marker odd number, or 0 if marker is missing */
+    object_t *object;      /* marker object, or NULL if marker is missing */
+} stm_loc_marker_t;
+extern void (*stmcb_light_finalizer)(object_t *o);
+extern void (*stmcb_finalizer)(object_t *o);
+static inline object_t *stm_allocate_with_finalizer(ssize_t size_rounded_up) {
+    return stm_allocate(size_rounded_up);
+}
+static inline void stm_enable_light_finalizer(object_t *o) {};
+static inline int stm_set_timing_log(const char *profiling_file_name,
+                       int expand_marker(stm_loc_marker_t *, char *, int)) {return 0;}
+/* C8: not implemented properly yet ^^^^^^^^^^^^^^^^^^ */
+
 
 static inline void pypy_stm_become_inevitable(const char *msg)
 {


More information about the pypy-commit mailing list