Author: leo
Date: Mon Nov 14 12:37:00 2005
New Revision: 9974
Modified:
trunk/classes/parrotinterpreter.pmc
trunk/src/string.c
Log:
added some source comments wrt
* utf8:unicode:"foo"
* interpreter freeze/thaw
Modified: trunk/classes/parrotinterpreter.pmc
==============================================================================
--- trunk/classes/parrotinterpreter.pmc (original)
+++ trunk/classes/parrotinterpreter.pmc Mon Nov 14 12:37:00 2005
@@ -612,7 +612,29 @@ Finish thawing.
void visit(visit_info *info) {
PMC **pos;
- /* 1. HLL_info */
+ /*
+ * the information frozen here is part of all PBCs
+ * we probably need to freeze all dynamic extensible
+ * mappings (or at least the dynamic part)
+ * e.g.
+ * charsets idx - name
+ * encodings idx - name
+ * pmc types idx - name
+ * dynamic oplibs opcode nr - opname
+ *
+ * The machine thawing this info still needs to load
+ * these extensions, but the order of loading could be
+ * relaxed.
+ *
+ * creating all these info as standard PMCs would vastly
+ * simplify this process
+ *
+ * thaw would then need a merge operation:
+ * - compare existing for sanity
+ * - extend new
+ */
+
+ /* HLL_info */
pos = &INTERP->HLL_info;
info->thaw_ptr = pos;
/* pass in the existing structure
Modified: trunk/src/string.c
==============================================================================
--- trunk/src/string.c (original)
+++ trunk/src/string.c Mon Nov 14 12:37:00 2005
@@ -2397,6 +2397,15 @@ string_unescape_cstring(Interp * interpr
internal_exception(UNIMPLEMENTED,
"Can't make '%s' charset strings", p + 1);
}
+ /*
+ * XXX this is just wrong
+ * we still need to unescape the string, then verify
+ * that it is valid in the passed in encoding
+ * then append the bytes w/o further processing to
+ * the string buffer
+ *
+ * that is currently just fixed_8 encodings are correct
+ */
result = string_make_direct(interpreter, cstring, clength,
encoding, charset, flags);
string_compute_strlen(interpreter, result);