about summary refs log tree commit diff
path: root/src/boot/be
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2010-08-19 16:50:18 -0700
committerPatrick Walton <pcwalton@mimiga.net>2010-08-19 16:50:18 -0700
commitb6b348a13ce33227a01839d41b8ae055a9eacdca (patch)
tree56383b66578863d193075004f1bd58b9ab8c742e /src/boot/be
parent31aceda09eb0541c97a6adeaf41b041da3c7fd18 (diff)
Export all item code to stabs on Windows (including e.g. object methods)
Diffstat (limited to 'src/boot/be')
-rw-r--r--src/boot/be/pe.ml8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/boot/be/pe.ml b/src/boot/be/pe.ml
index 3e95be2c3f0..b85cb1a95d6 100644
--- a/src/boot/be/pe.ml
+++ b/src/boot/be/pe.ml
@@ -792,9 +792,10 @@ let crate_exports (sem:Semant.ctxt) : pe_export array =
       pe_export_address_fixup = fixup
     }
   in
-  let export_stab_of_fn (node_id, fixup) =
+  let export_stab_of_item (node_id, code) =
     let name = Hashtbl.find sem.Semant.ctxt_all_item_names node_id in
-    export_stab ("fn$" ^ (Semant.string_of_name name)) fixup
+    let name' = "item$" ^ (Semant.string_of_name name) in
+    export_stab name' code.Semant.code_fixup
   in
   let export_stab_of_glue (glue, code) =
     export_stab (Semant.glue_str sem glue) code.Semant.code_fixup
@@ -802,7 +803,8 @@ let crate_exports (sem:Semant.ctxt) : pe_export array =
 
   let stabs =
     Array.of_list (List.concat [
-      (List.map export_stab_of_fn (htab_pairs sem.Semant.ctxt_fn_fixups));
+      (List.map export_stab_of_item
+        (htab_pairs sem.Semant.ctxt_all_item_code));
       (List.map export_stab_of_glue (htab_pairs sem.Semant.ctxt_glue_code))
     ])
   in