Closed Bug 190538 Opened 22 years ago Closed 21 years ago

Size/Speed optimizations for OS/2

Categories

(NSPR :: NSPR, defect, P1)

x86
OS/2
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: jhpedemonte, Assigned: wtc)

Details

Attachments

(1 file, 2 obsolete files)

By tweaking how we create import libraries on OS/2, we can achieve around 25%
speedup on load of the DLLs.  Also, by taking advantage of the DEF files already
in the tree, we can make it so the DLLs export less functions, reducing size and
maybe increasing speed.
Attached patch patch (obsolete) — Splinter Review
Had to make some changes to the DEF files in NSPR, which seem to only be used
by SunOS at the moment.  I made changes consistent with the DEF files in NSS,
so althought I don't think there will be any problems on that platform, someone
should test with this patch.
Attachment #112557 - Flags: review?(wtc)
Comment on attachment 112557 [details] [diff] [review]
patch

Kaply, could you check this out and see if the patch works for you?  If so,
then I'll ask for an sr from wtc.
Attachment #112557 - Flags: review?(wtc) → review?(mkaply)
Comment on attachment 112557 [details] [diff] [review]
patch

I built our 1.3b with this and it works fine.
Attachment #112557 - Flags: review?(mkaply) → review+
Attachment #112557 - Flags: superreview?(wtc)
Status: NEW → ASSIGNED
Priority: -- → P1
Target Milestone: --- → 4.3
Attached patch patch v1.1 (obsolete) — Splinter Review
Cleaned up patch based on trunk.  WTC, can you test this on Solaris?  I think
they are the only other platform that uses the NSPR def files.
Attachment #112557 - Attachment is obsolete: true
Comment on attachment 118807 [details] [diff] [review]
patch v1.1

It turns out that this patch somehow fixes a crash on our GCC build that we
have been experiencing for about 2 weeks.  Can you take a look at this so we
can check it in as soon as possible?  Thanks.
Attachment #118807 - Flags: review?(wtc)
This is apparently new in nspr.def:

+;+} NSPR_4.1;

+;+}NSPR_4.4 {
+;+	global:
		PR_GetPathSeparator;
+;+} NSPR_4.3;

as I had to add the + convention but I don't know if the +'s are correct.
Andy
Attached patch patch v1.2Splinter Review
Please try this patch on the current tip of the
NSPRPUB_PRE_4_2_CLIENT_BRANCH.
Attachment #118807 - Attachment is obsolete: true
Comment on attachment 119878 [details] [diff] [review]
patch v1.2

I checked in this patch, but it broke the OS2VACPP tinderbox, so
I had to back it out.  The error message is:

ilink  /O:nspr4.dll /DLL /INC:_dllentry /MAP:nspr4.map /L /NOL /OPTFUNC
/EXEPACK:2 /PACKCODE /PACKDATA	./prvrsion.obj io/./prfdcach.obj
io/./prmwait.obj io/./prmapopt.obj io/./priometh.obj io/./pripv6.obj
io/./prlayer.obj io/./prlog.obj io/./prmmap.obj io/./prpolevt.obj
io/./prprf.obj io/./prscanf.obj io/./prstdio.obj threads/./prcmon.obj
threads/./prrwlock.obj threads/./prtpd.obj linking/./prlink.obj
malloc/./prmem.obj md/./prosdep.obj memory/./prshm.obj memory/./prshma.obj
memory/./prseg.obj misc/./pralarm.obj misc/./pratom.obj misc/./prcountr.obj
misc/./prdtoa.obj misc/./prenv.obj misc/./prerr.obj misc/./prerror.obj
misc/./prerrortable.obj misc/./prinit.obj misc/./prinrval.obj misc/./pripc.obj
misc/./prlog2.obj misc/./prlong.obj misc/./prnetdb.obj misc/./prolock.obj
misc/./prrng.obj misc/./prsystem.obj misc/./prthinfo.obj misc/./prtpool.obj
misc/./prtrace.obj misc/./prtime.obj io/./prdir.obj io/./prfile.obj
io/./prio.obj io/./prsocket.obj misc/./pripcsem.obj threads/./prcthr.obj th
reads/./prdump.obj threads/./prmon.obj threads/./prsem.obj
threads/combined/./prucpu.obj threads/combined/./prucv.obj
threads/combined/./prulock.obj threads/combined/./prustack.obj
threads/combined/./pruthr.obj md/os2/./os2io.obj md/os2/./os2sock.obj
md/os2/./os2thred.obj md/os2/./os2cv.obj md/os2/./os2gc.obj
md/os2/./os2misc.obj md/os2/./os2inrval.obj md/os2/./os2sem.obj
md/os2/./os2_errors.obj md/os2/./os2poll.obj md/os2/./os2rng.obj
md/os2/./os2vacpp.obj so32dll.lib tcp32dll.lib so32dll.lib tcp32dll.lib
./nspr4.def
E:\OS2_2.45_Clobber\mozilla\obj\nsprpub\pr\src\nspr4.def(6) : fatal error
LNK1034: syntax error
wtc rechecked in the patch, and we were able to resolve the build break. 
Marking FIXED.
Status: ASSIGNED → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Whiteboard: [4.3.1]
Comment on attachment 112557 [details] [diff] [review]
patch

clearing obsolete review requests
Attachment #112557 - Flags: superreview?(wtc)
Attachment #118807 - Flags: review?(wtc)
Whiteboard: [4.3.1]
Target Milestone: 4.3 → 4.4
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: