JDK-6974402 : IE: optimize startup logic on the browser side
  • Type: Enhancement
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 7
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2010-08-04
  • Updated: 2012-10-05
  • Resolved: 2010-12-14
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 7
7 b119Fixed
Related Reports
Relates :  
Relates :  
Description
This is an umbrella item. There 2 goals here: 
   - minimize IE blocking time, i.e. time after jp2iexp.dll is loaded and the end of inPlaceActivate
   - minimize time till applet is started, i.e. startAppletAck is received

See http://j2se.sfbay.sun.com/web/bin/view/Deployment/IEPlugin for futher details on current startup sequence.

Possible approach is:
   - do as little as possible in the plugin entry calls and perform all work in the background 
   - try to execute big things concurrently, e.g. spawn client VM at the same time as initializing browser VM
   - avoid unneeded work (winsock init in the dllopen)

Comments
EVALUATION In the Java plugin (AxControl) for the IE browser, start a worker thread to perform browser vm startup and calling into java methods. A StartupSynchronization class is added for synchrnizing between the browser main thread and the worker thread. The creation of browser vm also needs to be synchronized for multiple applets on the same page scenario. Before the fix, the creation of browser vm was always performed in the browser main thread. After the fix, the creation of the browser vm is performed in the worker thread and there is one worker thread for each instance of AxControl.
29-10-2010