aboutsummaryrefslogtreecommitdiff
path: root/backendC/CleanCompilerSources/instructions.h
diff options
context:
space:
mode:
authorjohnvg2005-11-11 12:22:47 +0000
committerjohnvg2005-11-11 12:22:47 +0000
commit7eb27112f7323e517c417b63ae8eebfe0f2c0348 (patch)
tree74a86ae02c4b42c6428f901611faf956c82b0d9b /backendC/CleanCompilerSources/instructions.h
parentprevent crash in 'requirements_of_args' after (diff)
new selector descriptors for garbage collector
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1557 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'backendC/CleanCompilerSources/instructions.h')
-rw-r--r--backendC/CleanCompilerSources/instructions.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/backendC/CleanCompilerSources/instructions.h b/backendC/CleanCompilerSources/instructions.h
index 205e62f..da507e4 100644
--- a/backendC/CleanCompilerSources/instructions.h
+++ b/backendC/CleanCompilerSources/instructions.h
@@ -171,7 +171,11 @@ void GenConstructorFunctionDescriptorAndExportNodeAndDescriptor (SymbDef sdef);
void GenFunctionDescriptorForLazyTupleRecursion (SymbDef sdef,int tuple_result_arity);
#endif
void GenLazyRecordDescriptorAndExport (SymbDef sdef);
+#ifdef NEW_SELECTOR_DESCRIPTORS
+void GenFieldSelectorDescriptor (SymbDef sdef,StateS field_state,int a_pos,int b_pos,int record_a_size,int record_b_size);
+#else
void GenFieldSelectorDescriptor (SymbDef sdef,int has_gc_apply_entry);
+#endif
void GenRecordDescriptor (SymbDef sdef);
#ifdef STRICT_LISTS
void GenUnboxedConsRecordDescriptor (SymbDef sdef,int tail_strict);
@@ -207,7 +211,11 @@ void GenInstructions (Instructions ilist);
void GenJmpEvalUpdate (void);
+#ifdef NEW_SELECTOR_DESCRIPTORS
+void GenSelectorDescriptor (Label sellab,int element_n);
+#else
void GenSelectorDescriptor (Label sellab,char *g_pref);
+#endif
void GenGetNodeArity (int offset);
void GenPushArgNr (int argnr);
void GenPushArgB (int offset);