diff options
| author | Patrick Walton <[email protected]> | 2010-08-19 16:50:18 -0700 |
|---|---|---|
| committer | Patrick Walton <[email protected]> | 2010-08-19 16:50:18 -0700 |
| commit | b6b348a13ce33227a01839d41b8ae055a9eacdca (patch) | |
| tree | 56383b66578863d193075004f1bd58b9ab8c742e /src/boot/be | |
| parent | Export glue as stabs on Windows as well (diff) | |
| download | rust-b6b348a13ce33227a01839d41b8ae055a9eacdca.tar.xz rust-b6b348a13ce33227a01839d41b8ae055a9eacdca.zip | |
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.ml | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/boot/be/pe.ml b/src/boot/be/pe.ml index 3e95be2c..b85cb1a9 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 |