Firefox 4 PGO BUILD with Intel C++ Compiler 12

환경: VS2010SP 1, ICC 12.0.2.154, Core i5 - 480 M, 4GB RAM
결과: 성능 은 Firefox 4 공식 판 에 비해 10 - 20% 향상 되 었 다.다운로드 주소http://115.com/file/czdy8cwu
단계:
  1 원본 코드 의 js / src / ctpes / libffi / msvcc. sh 를 수정 하여 cl 을 icl 로 대체 합 니 다.
  2 autoconf 를 실행 한 후 다음 configure 스 크 립 트 를 수정 합 니 다.
      configure
      js/src/configure
      js/src/ctypes/libffi/configure
      nsprpub/configure
    다음 과 같은 패 치 사용 하기:
*** configure-org Mon Mar 21 18:14:10 2011
--- configure Mon Mar 21 18:54:02 2011
***************
*** 4,9 ****
--- 4,13 ----
    msyshost=1
  fi
  
+ export CC=icl
+ export CXX=icl
+ export AR='xilib -NOLOGO -OUT:"$@"'
+ export LD=xilink
  
  # Read the user's .mozconfig script.  We can't do this in
  # configure.in: autoconf puts the argument parsing code above anything
***************
*** 3242,3248 ****
  #define _CRT_NONSTDC_NO_WARNINGS 1
  EOF
  
!         elif test "$_CC_MAJOR_VERSION" = "16"; then
              _CC_SUITE=10
              CXXFLAGS="$CXXFLAGS -Zc:wchar_t-"
              cat >> confdefs.h <<\EOF
--- 3246,3252 ----
  #define _CRT_NONSTDC_NO_WARNINGS 1
  EOF
  
!         else
              _CC_SUITE=10
              CXXFLAGS="$CXXFLAGS -Zc:wchar_t-"
              cat >> confdefs.h <<\EOF
***************
*** 3253,3260 ****
  #define _CRT_NONSTDC_NO_WARNINGS 1
  EOF
  
-         else
-             { echo "configure: error: This version ($CC_VERSION) of the MSVC compiler is unsupported. See https://developer.mozilla.org/en/Windows_Build_Prerequisites." 1>&2; exit 1; }
          fi
  
          _MOZ_RTTI_FLAGS_ON='-GR'
--- 3257,3262 ----

  3 첫 번 째 configure 와 make:
../mozilla/configure --enable-application=browser --enable-official-branding --with-l10n-base=/lang --enable-ui-locale=zh-CN\
 --enable-optimize="-fast -Qprof-gen -Qprof-dird:/temp/ffprof -W0" --disable-accessibility --disable-debug --disable-tests\
 --disable-installer --disable-updater --disable-update-channel --disable-crashreporter

    make 전에 다음 과 같은 수정 이 필요 합 니 다 (obj 디 렉 터 리 에서).
      Makefile 은 all 규칙 의 $(RM) 를 주석 합 니 다.
      config / autoconf. mk lib 를 xilib 로 대체 합 니 다.
      js / src / config / autoconf. mk lib 를 xilib 로 대체 합 니 다.
      nsprpub / config / autoconf. mk cl, link, lib 를 각각 icl, xilink, xilib 로 교체 합 니 다.
    또한, xptcall 과 ICC 가 호 환 되 지 않 는 문제 가 여전히 존재 하기 때문에 make 후 다음 명령 을 실행 해 야 profiling 이 있 는 Firefox 를 시작 할 수 있 습 니 다.
cd xpcom/reflect/xptcall/src/md/win32
make clean; make CC="cl.exe" CXX="cl.exe" MOZ_OPTIMIZE_FLAGS="-O2";\
cd ../../..; make; cd ..; make; cd ..; make; cd ../toolkit/library; make

  4 Firefox 를 실행 하여 프로 파일 링 데이터 생 성
  5 두번째 configure 와 make
../mozilla/configure --enable-application=browser --enable-official-branding --with-l10n-base=/lang --enable-ui-locale=zh-CN\
 --enable-optimize="-fast -Qprof-use -Qprof-dird:/temp/ffprof -W0" --disable-accessibility --disable-debug --disable-tests\
 --disable-installer --disable-updater --disable-update-channel --disable-crashreporter

    make 전에 3 의 수정 을 반복 합 니 다. xl. dll 링크 를 시작 할 때 make 를 종료 하고 다음 명령 을 실행 합 니 다.
cd modules/libpr0n/decoders; rm nsGIFDecoder2.obj  nsJPEGDecoder.obj nsPNGDecoder.obj;
make MOZ_OPTIMIZE_FLAGS="-QxHOST -O2 -Qprec-div- -Qprof-use -Qprof-dird:/temp/ffprof -W0";

    그리고 계속 make.ICC 12 의 bug 를 처리 합 니 다.
  6 make package 를 실행 하여 PGO 컴 파일 을 받 은 Firefox

좋은 웹페이지 즐겨찾기