Changeset 301
- Timestamp:
- 04/23/08 11:58:53 (7 months ago)
- Files:
-
- trunk/ddl/DynamicLibrary.d (modified) (1 diff)
- trunk/ddl/DynamicModule.d (modified) (1 diff)
- trunk/ddl/ExpContainer.d (modified) (1 diff)
- trunk/ddl/omf/OMFBinary.d (modified) (1 diff)
- trunk/ddl/omf/OMFLibrary.d (modified) (2 diffs)
- trunk/ddl/omf/OMFModule.d (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/ddl/DynamicLibrary.d
r288 r301 106 106 */ 107 107 public ubyte[] getResource(char[] name); 108 109 110 public void makePrivate() { 111 } 108 112 109 113 trunk/ddl/DynamicModule.d
r224 r301 147 147 */ 148 148 public bool isLinking; 149 150 151 public void makePrivate() { 152 } 153 149 154 } 150 155 trunk/ddl/ExpContainer.d
r260 r301 82 82 } 83 83 84 public void deleteData() { 85 delete data; 86 len = 0; 87 } 88 84 89 public ContainerType opCatAssign(BaseType elem){ 85 90 if(this.length < data.length){ trunk/ddl/omf/OMFBinary.d
r299 r301 884 884 885 885 static char[][uint] recordNameLookup; 886 887 888 void deleteData() { 889 delete impdefs; 890 delete weakExterns; 891 delete externs; 892 delete publics; 893 delete lineNumbers; 894 delete segments; 895 delete groups; 896 fixups.deleteData(); 897 delete iteratedData; 898 delete enumeratedData; 899 delete communalDefinitions; 900 delete communalExterns; 901 delete communalData; 902 delete comdatLineNumbers; 903 904 delete names; 905 delete externNames; 906 907 delete defaultLibSearch; 908 } 909 886 910 887 911 static this(){ trunk/ddl/omf/OMFLibrary.d
r299 r301 38 38 private import tango.io.model.IConduit; 39 39 40 import tango.io.Stdout; 41 40 42 class OMFLibrary : DynamicLibrary{ 41 43 DynamicModule[] modules; … … 95 97 return (ubyte[]).init; 96 98 } 99 100 101 public override void makePrivate() { 102 foreach (mod; modules) { 103 mod.makePrivate(); 104 } 105 crossReference = crossReference.init; 106 } 107 97 108 98 109 package void addModule(OMFModule mod){ trunk/ddl/omf/OMFModule.d
r300 r301 66 66 ExportSymbol[] symbols; 67 67 char[] moduleName; 68 char[] symNamesBuffer; 68 69 bool resolved; 70 71 72 public override void makePrivate() { 73 delete fixups; 74 delete symbols; 75 delete symNamesBuffer; 76 } 77 69 78 70 79 this(FileBuffer buffer){ … … 191 200 } 192 201 resolved = true; 202 193 203 return true; 194 204 } … … 471 481 // Pack all symbol names together into a new buffer 472 482 473 char[] symNamesBuffer;474 483 size_t totalSymNameLength = 0; 475 484 foreach (sym; symbols) { … … 484 493 name2[] = sym.name[]; 485 494 sym.name = name2; 495 } 496 497 debug{} else{ 498 binary.deleteData(); 486 499 } 487 500
