March 6, 2009

Thunderbird 3.0 Beta2 and Firefox 3.0.7 plan

Thunderbird 3.0 beta2 for Windows x64 was released. You can get from download menu. Also, now, although Firefox 3.0.7 isn't released yet, I will release within 1 week....

December 16, 2008

Java Plugin for Windows x64

Sun released Java plugin for Windows x64. So you can use Java applet on Firefox x64.

You can download it from Javaâ„¢ Platform, Standard Edition 6u12 Binary Snapshot Releases. This JDK release has 64-bit plugin.

Reference: Bug ID: 4802695: Support 64-bit Java Plug-in and Java webstart on Windows/Linux on AMD64

July 31, 2008

15% faster JPEG decoding on Windows x64 with IJG's JPEG library

Although Mozilla's JPEG library uses IJG's libjpeg6b, they adds native SSE2 optimization code for DCT using Intel's sample (AP-945. Origianl documents is removed from Intel server, but there is Japanese document in Intel Japan site). But this code in Mozilla is for MSVC for x86 only (Even if they make Linux version, most distributor uses system's libjpeg6b for their Firefox. So its result may becomes waste...).

How faster for decoding if its optimization is implemented for AMD64 platform? Although SSE2 of AMD CPU (Trion, Althon64 and Opetron. Not Intel CPU) is slower than Intel CPU (except to Pentium M), since MMX assembler doesn't work on MSVC for AMD64, I should try it.


It is 15% faster than original!

Benchmark program

cinfo.err = jpeg_std_error(&jerr);
cinfo.dct_method = JDCT_ISLOW;

jpeg_stdio_src(&cinfo, input_file);
jpeg_read_header(&cinfo, TRUE);


width = cinfo.output_width;
height = cinfo.output_height;

img = (JSAMPARRAY)malloc(sizeof(JSAMPROW)*height);

for(i = 0; i < height; ++i)
	img[i] = (JSAMPROW)calloc(sizeof(JSAMPLE), 3 * width);

while (cinfo.output_scanline < cinfo.output_height)
	jpeg_read_scanlines(&cinfo, img + cinfo.output_scanline, cinfo.output_height - cinfo.output_scanline);


Also, source code is available on See jpeg directory.

December 28, 2007

Mozilla build system with Windows Vista x64

I bought new note PC (Dell XPS M1210). So although I installed Vista x64 on this PC, I tried re-newal build system.

Latest Mozilla build system uses MSYS. But current stable version of MSYS doesn't work on Vista x64. Since latest Mozilla build system package uses stable version, it doesn't work well.

This issue is a famous issue. Because this is compatibility issue of Vista's WOW6432. To fork thread/process on Cygwin/MSYS, it uses CreateProcess() API and STARTUPINFO parameter. Due to a lack of Vista WOW6432 compatibility, it cannot pass fork information to waiting funtion. So sicne The wait object become invalid, fork always failed.

This issue already fix on latest code (version "1.0.11"). But it isn't released as stabled package. So you have to replace MSYS-1.0.DLL into \mozilla-build\msys\bin with 1.0.11 binaries. MSYS team has released 1.0.11 version DLL as MSYS-1.0.11-20071204.tar.bz2. After installing Mozilla build system, you extract it and have to replace DLLs.

June 12, 2007

new build for Minefield

Since place which is new bookmark manager using SQLite is enabled again, I built Win64 binaries with /O1 option (optimized). There is the installer package in download page.

Notes: NSIS is 32-bits, so default install path is \Program Files (x86) directory.

October 8, 2006

New Build

I forgot posting new build information, there is new build on Download Page. From Firefox 2.0, Firefox team replaced a installer with Nullsoft Scriptable Install System. Since Win64 build uses this Win32 installer, default install path becomes C:\Program Files (x86).

February 21, 2006

Do you want Thunderbird Win64?

You can download from here.


  • Must select custom setup and un-check "Quality Feedback Agent". If you select it, setup shows error dialog and doesn't finish.
  • This is a test binary. So we don't file a bug to bugzilla.

February 14, 2006

Post new Binary

Since some trouble was resolved, I posted new binary for FireFox x64 using latest thunk CVS tree. So, this isn't based on 1.5 and this is as well-known as "Deer Park". Try it from Download Page (firefox-1.6a1.en-US.win64.installer.20060214.exe).

February 12, 2006

Research high CPU issue for x64 build

Since I don't resolve high CPU on DOM/XUL for x64 build, I cannot release new binaries. Although I built FireFox with x64 patch, this version keeps this problem. So I back to 2005/09/01 code, then, I reseach this problem. So it is more time to resolve this issue.

Also, when I built XULRunner, this seems to works fine. Why does this issue occurs on Firefox only??

January 28, 2006

Current status of x86-64 version

  • NSPR port is checked in thunk branch
  • JavaScript port is checked in thunk branch
  • XPT code that depends on CPU is checked in thunk branch
  • We don't check in port code into toolkit, widget, gfx, browser, plugin, NSS tree and etc.
  • Current thunk build into my build machine doesn't work well. XUL code spends more CPU time. But Gecko core engine works fine.

July 1, 2005

Implement IME attributes color to Gecko

Here is a current rendering on 1.8b2 on win32 build. (Japanese text means "Today is nice")

I don't know why underline is red on non-convert mode and style of convertion is reverted. (Maybe, this reason is into Frank/Bob's brain:-<).

Although Text rendering is into layout/generic/nsTextFrame.cpp, curernt implementation only decorates underline and revert for IME strings. So we must add each color settings to selection object. And custom color must get LookAndFeel service because this color depends on platform/IME.

Also, we excepted GTK+ platform from this behaivouir. Becasue AIX has some compatibility problems into XIM (see bug #195944). This code has some logical problem as long as I reference (Japanese). If I replace current XIM code with immodule code, I must fix this.

Here is new style with ATOK17. This is cool!

Also, on MS-IME2002

MS-IME2000/2002 has a bug that it returns that underline style is solid and dotted only. In other word, we cannot get thick style...

For Mac users, I cannot find true ways to get custom color each IME such as Kotoeri. But we can customaize color using prefs.js. If you want it, modify prefs.js. Of cource, prefs.js settins is enabled on Windows.

Patch will be ported to bugzilla. Please check my bug link.

June 3, 2005

FireFox 1.1 alpha1 version

Although Deer Park Alpha 1 is available on, I have posted new x64 binary to download page. Of course, this binary is built on latest source tree (1.1 level). Also ,new package is EXE format like x86 package.

I hope that I will check in several codes for x64 if I have many time. But It isn't easy :-<...

May 2, 2005

Post new binary that SVG is enabled

I posted new binary that name is This binary is that SVG is enabled since official is enabled.

Also, there is a SVG sample Try this with x64 build!.

April 22, 2005

New binary will work on XP x64 release

Today, I posted a new binary. As long as I test, This binary will work on XP x64 release.

It seems that x86 arch must be set arrayment to 16 byte per each function.

March 22, 2005

XPTCALL checked in

I checked in XPTCALL code for Windows x64. But, since it had invalied CRLF, I re-checked in...

February 4, 2005

Post new build tools for x64

I posted new build tools for x64 build.

When you read integer value from *.IDL file, XPIDL.EXE sometimes returns error "unsigned const declaration xxxxx initialized with negative constant" aginst integer. Because, although lexer.l/lexer.c uses scanf(), I don't set "I64" for 64-bit value.

So, for a fix, I modified IDL.h file...

Reference... scanf Format Specifiers from MSDN.

January 24, 2005

Post new binary

You can download 2005-01-23 binary of FireFox x64.

December 31, 2004

Port new build at 12/31

I ported new FireFox build for x64 platfrom. See download page.


  • Windows XP for x64 build 1289 (RC1) may not works current build with XP theme. This will be a complier bug.
    If you enable theme, you may meet the following crash.
    0:000> r
    rax=0000000001010058 rbx=0000000000000000 rcx=0000000000000000
    rdx=0000000000000000 rsi=0000000003f4ebc0 rdi=000000000012b3c8
    rip=000007ff772384a5 rsp=000000000012b258 rbp=0000000001010058
    r8=000000000012b250 r9=0000000000000001 r10=0000000000000000
    r11=0000000000000246 r12=0000000002cb1e38 r13=0000000000000001
    r14=0000000000000000 r15=0000000000000000 iopl=0 nv up ei pl zr na po nc
    cs=0033 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010246
    000007ff`772384a5 660f7f742450 movdqa oword ptr [rsp+0x50],xmm6 ss:00000000`0012 b2a8=00000000009400000000000002cb1e40
  • This build is disabled compiler optimize. Because /O1 options causes invalied SSE code.

December 9, 2004

Build with same option as x86 firefox 1.0

I built FireFox 1.0+ for WinXP x64 by latest CVS. Binaries are

December 5, 2004

new build at 2004/12/05

New build is here. This is built on latest CVS.

May 29, 2004

Try to wrtite MPI assembler code

Today, I try to write MPI assembler code for Win64+AMD64. Although I wrote it using simply x86-64 code, should I use MMX/SSE? I don't know MMX assembler...

; mp_err s_mpv_div_2dx1d(mp_digit Nhi, mp_digit Nlo, mp_digit divisor, mp_digit *qp, mp_digit *rp)

_s_mpv_div_2dx1d PROC
    mov     rax, rdx      ; Nlo
    mov     rdx, rcx      ; Nhi

    div     r8

    mov     [r9], rax

    mov     r8, [rsp+40]
    mov     [r8], rdx

    xor     rax, rax

_s_mpv_div_2dx1d ENDP


May 9, 2004

Good code for 64 Bit platform

Although I file a bug for liveconnect, this check in is good!

bash-2.05b$ cvs log nsIThreadManager.h

RCS file: /cvsroot/mozilla/modules/oji/public/nsIThreadManager.h,v
Working file: nsIThreadManager.h
head: 1.10
locks: strict
access list:
revision 1.10
date: 2004/05/09 10:22:18; author:; state: Exp; lines: +3 -2
Bug 136729 64bit problems in CreateThread/PostEvent r=joshua.xia+kyle.yuan, sr=brendan, patch by Changes PRUint32 to PRThread* in CreateThread/PostEvent.

May 7, 2004

Good check in for VC++ 64bit

C:\mozilla>cvs log nsprpub/config/

revision 1.32
date: 2004/05/06 14:01:42; author:; state: Exp; lines: +1-0
Bugzilla bug 242741: MSVC .NET 2003 does not support the /PDB:NONE linker option, so we need to generate PDB files and ship them with our binary distributions when compiling with MSVC version > 6.0. r=cls.
Modified Files: configure

May 2, 2004

progress NSS port

Now, I am testing new patch. Comming soon :-).

April 29, 2004

check in port code for mozilla/db

It is simple patch.

Checking in mdb/public/mdb.h;
/cvsroot/mozilla/db/mdb/public/mdb.h,v <-- mdb.h
new revision: 1.38; previous revision: 1.37
Checking in mork/src/mork.h;
/cvsroot/mozilla/db/mork/src/mork.h,v <-- mork.h
new revision: 1.15; previous revision: 1.14

April 20, 2004

Good code for 64bit platform by Brendan

Good code for 64bit platform is checked in js/src/jsapi.c and jsapi.h

revision 3.168
date: 2004/04/20 02:21:27; author:; state: Exp; lines: +3 -3
Fix intN vs. jsword leftover confusion in context-thread API.

This code will works when you use JavaVM, but there is no JavaVM on WinXP for AMD64 now. (May be Sun may develop it?)

April 15, 2004

liveconnect fix for WinXP AMD64

According to bug 227170...

The implementations of liveconnect/nsCLiveConnect.cpp methods that take jsobject obj parameters all cast obj to (JSObjectHandle*) right away. Why not just use that type? Or void* if you want to hide that type?

I think the jsobject name is quite wrong for this typedef, and it invades the JS engine's namespace (see for naming conventions). I'd rather you rename it lcobject or some such name, while you're fixing this. Thanks,


Humm, I will use simply typedef....

April 9, 2004


comment for my proposal fix....

(From update of attachment 145401)
1. Please don't use PRWord here. see the comment in prtypes.h about PRWord.
2. Whenever you want to change the data type of jsobject, please also change its name. see bug 227170 comment 4.
3. In bug 227170, we all intend to use a pointer type for jsobject, rather than just define it as an integer type on 32/64 bit platform.
4. Please make all patches together next time. That would be much easier for reviewing.

To begin with, PRWord is only type for pointer....

April 3, 2004

Tracking bug for AMD64 issue.

Bug 237203 is useful for tracking bug for AMD64 issue. Also, I filed a bug as bug 239499 for porting issue for mozilla/content.

Checked in bug #229722

revision 3.81
date: 2004/04/03 08:53:36;  author:;  state: Exp; lines
: +1 -1
Port issue for WinXP 64bit b=229722 r+sr=jst

March 11, 2004

1st check in for Linux AMD64 code

from check in log... Great!!. I work hard, too!

revision 1.1
date: 2004/03/09 03:10:32; author:; state: Exp; branches: 1.1.2;
Bugzilla bug 232742: added Linux/amd64 support. The patch came from Gentoo Linux's portage and was sent by Henrik Lynggaard Hansen . r=wtc.
Modified Files: configure prprf.c _linux.cfg linux.h
Added Files: os_Linux_x86_64.s
date: 2004/03/09 03:18:19; author:; state: Exp; lines: +0-0
Bugzilla bug 232742: added Linux/amd64 support. The patch came from Gentoo Linux's portage and was sent by Henrik Lynggaard Hansen . r=wtc.
Modified Files: configure prprf.c _linux.cfg linux.h
Added Files: os_Linux_x86_64.s

November 10, 2003

Port to AMD64

Past years, I joined Mozilla comminuty for developemnt of Mozilla Suite. I wrote IME code such as Active IMM and fixed many I18N bugs. But, for my private issue, I detached it sudenlly.

But now, I got AMD64 PC because I am interesting in 64bit architecture. Although I got WinXP 64bit from MSDN, there is no native applications... So I decide to port several application to WinxP 64bit.

At first, I will port Mozilla to WinXP 64bit.