Last Comment Bug 190538 - Size/Speed optimizations for OS/2
: Size/Speed optimizations for OS/2
Status: RESOLVED FIXED
:
Product: NSPR
Classification: Components
Component: NSPR (show other bugs)
: other
: x86 OS/2
: P1 normal (vote)
: 4.4
Assigned To: Wan-Teh Chang
: Wan-Teh Chang
:
Mentors:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2003-01-24 14:55 PST by jhp (no longer active)
Modified: 2003-11-26 16:40 PST (History)
1 user (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---


Attachments
patch (13.89 KB, patch)
2003-01-24 14:58 PST, jhp (no longer active)
mozilla: review+
Details | Diff | Splinter Review
patch v1.1 (12.59 KB, patch)
2003-03-28 14:38 PST, jhp (no longer active)
no flags Details | Diff | Splinter Review
patch v1.2 (12.57 KB, patch)
2003-04-08 15:46 PDT, Wan-Teh Chang
no flags Details | Diff | Splinter Review

Description jhp (no longer active) 2003-01-24 14:55:43 PST
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.
Comment 1 jhp (no longer active) 2003-01-24 14:58:39 PST
Created attachment 112557 [details] [diff] [review]
patch

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.
Comment 2 jhp (no longer active) 2003-02-21 14:05:31 PST
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.
Comment 3 Mike Kaply [:mkaply] 2003-03-03 10:03:49 PST
Comment on attachment 112557 [details] [diff] [review]
patch

I built our 1.3b with this and it works fine.
Comment 4 jhp (no longer active) 2003-03-28 14:38:56 PST
Created attachment 118807 [details] [diff] [review]
patch v1.1

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.
Comment 5 jhp (no longer active) 2003-03-31 15:49:26 PST
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.
Comment 6 Andy Willis (abwillis) 2003-04-04 18:17:39 PST
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
Comment 7 Wan-Teh Chang 2003-04-08 15:46:31 PDT
Created attachment 119878 [details] [diff] [review]
patch v1.2

Please try this patch on the current tip of the
NSPRPUB_PRE_4_2_CLIENT_BRANCH.
Comment 8 Wan-Teh Chang 2003-04-08 19:55:20 PDT
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
Comment 9 jhp (no longer active) 2003-04-10 14:40:18 PDT
wtc rechecked in the patch, and we were able to resolve the build break. 
Marking FIXED.
Comment 10 Matthias Versen [:Matti] 2003-04-23 23:07:51 PDT
Comment on attachment 112557 [details] [diff] [review]
patch

clearing obsolete review requests

Note You need to log in before you can comment on or make changes to this bug.