Last Comment Bug 723797 - Delayload oleacc.dll
: Delayload oleacc.dll
Status: RESOLVED FIXED
[inbound]
:
Product: Core
Classification: Components
Component: Disability Access APIs (show other bugs)
: Trunk
: All Windows Vista
: -- normal (vote)
: mozilla13
Assigned To: Makoto Kato [:m_kato] (PTO 6/20-21, 6/24)
:
Mentors:
Depends on:
Blocks: 710125
  Show dependency treegraph
 
Reported: 2012-02-02 18:43 PST by Masatoshi Kimura [:emk]
Modified: 2012-02-07 12:01 PST (History)
8 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
fix (640 bytes, patch)
2012-02-02 18:56 PST, Makoto Kato [:m_kato] (PTO 6/20-21, 6/24)
khuey: review+
Details | Diff | Review

Description Masatoshi Kimura [:emk] 2012-02-02 18:43:51 PST
+++ This bug was initially created as a clone of Bug #710125 +++

Masatoshi Kimura [:emk] 2012-02-02 18:39:31 PST

(In reply to Makoto Kato from comment #4)
> oleacc.dll is already loaded on nspr4 and xul.dll's startup due to
> dependencies of shell32, comctl32 and others.
Incorrect. oleacc.dll is delay loaded from system DLLs. I didn't see oleacc.dll in the address space of firefox.exe (using Process Explorer).
Comment 1 Makoto Kato [:m_kato] (PTO 6/20-21, 6/24) 2012-02-02 18:50:30 PST
(In reply to Masatoshi Kimura [:emk] from comment #0)
> +++ This bug was initially created as a clone of Bug #710125 +++
> 
> Masatoshi Kimura [:emk] 2012-02-02 18:39:31 PST
> 
> (In reply to Makoto Kato from comment #4)
> > oleacc.dll is already loaded on nspr4 and xul.dll's startup due to
> > dependencies of shell32, comctl32 and others.
> Incorrect. oleacc.dll is delay loaded from system DLLs. I didn't see
> oleacc.dll in the address space of firefox.exe (using Process Explorer).

Ah, windows vista is loaded.  but windows 7 isn't loaded.
Comment 2 Makoto Kato [:m_kato] (PTO 6/20-21, 6/24) 2012-02-02 18:56:26 PST
Created attachment 594052 [details] [diff] [review]
fix
Comment 3 alexander :surkov 2012-02-02 19:07:46 PST
Comment on attachment 594052 [details] [diff] [review]
fix

Review of attachment 594052 [details] [diff] [review]:
-----------------------------------------------------------------

Maybe I'm not right person to review this. Does this change mean that oleacc library is loaded dynamically when the code calls any functions of this library? Btw, doesn't it overlap with OS_LIBS += $(call EXPAND_LIBNAME,oleacc) introduced in bug 710125?
Comment 4 Makoto Kato [:m_kato] (PTO 6/20-21, 6/24) 2012-02-02 20:46:08 PST
(In reply to alexander :surkov from comment #3)
> Comment on attachment 594052 [details] [diff] [review]
> fix
> 
> Review of attachment 594052 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> Maybe I'm not right person to review this. Does this change mean that oleacc
> library is loaded dynamically when the code calls any functions of this
> library? Btw, doesn't it overlap with OS_LIBS += $(call
> EXPAND_LIBNAME,oleacc) introduced in bug 710125?

-DELAYLOAD means that linker generates LoadLibrary when code uses the function of library.  Since previous code has some LoadLibrary call, it can reduce this call.

EXPAND_LIBNAME dones't generate DELAYLOAD flag since all libs doesn't need DELAYLOAD.  If adding DELAYLOAD for all libs, it will spend more startup time.
Comment 5 Makoto Kato [:m_kato] (PTO 6/20-21, 6/24) 2012-02-06 18:56:19 PST
https://hg.mozilla.org/integration/mozilla-inbound/rev/50727e830c7b
Comment 6 Ed Morley [:emorley] 2012-02-07 12:01:11 PST
https://hg.mozilla.org/mozilla-central/rev/50727e830c7b

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