Bug 678195 - Remove old style jemalloc. r=khuey

This commit is contained in:
Mike Hommey 2011-08-23 15:43:17 +02:00
parent bcbef9851d
commit 2d38faddec
20 changed files with 22 additions and 1215 deletions

View File

@ -88,10 +88,6 @@ endif
include $(topsrcdir)/ipc/app/defs.mk
DEFINES += -DMOZ_CHILD_PROCESS_NAME=$(MOZ_CHILD_PROCESS_NAME)
ifdef WIN32_OLD_STYLE_JEMALLOC
DEFINES += -DWIN32_OLD_STYLE_JEMALLOC=1
endif
ifneq (,$(filter aurora beta,$(MOZ_UPDATE_CHANNEL)))
DEFINES += -DSHIP_FEEDBACK=1
endif

View File

@ -60,10 +60,6 @@
@BINPATH@/@MOZ_CHILD_PROCESS_NAME@
#endif
#ifdef XP_WIN32
#ifdef WIN32_OLD_STYLE_JEMALLOC
@BINPATH@/mozcrt19.dll
@BINPATH@/mozcpp19.dll
#else
#ifdef MOZ_MEMORY
@BINPATH@/jemalloc.dll
#endif
@ -81,7 +77,6 @@
@BINPATH@/msvcp100.dll
@BINPATH@/msvcr100.dll
#endif
#endif
#endif

View File

@ -1272,15 +1272,8 @@ xpicleanup@BIN_SUFFIX@
components/nsPostUpdateWin.js
js3250.dll
plugins/npnul32.dll
#ifdef WIN32_OLD_STYLE_JEMALLOC
Microsoft.VC80.CRT.manifest
msvcm80.dll
msvcp80.dll
msvcr80.dll
#else
mozcrt19.dll
mozcpp19.dll
#endif
mozcrt19.dll
mozcpp19.dll
#endif
@DLL_PREFIX@xpcom_core@DLL_SUFFIX@
components/@DLL_PREFIX@jar50@DLL_SUFFIX@

View File

@ -64,7 +64,6 @@ endif # ENABLE_TESTS
include $(topsrcdir)/config/rules.mk
ifndef WIN32_OLD_STYLE_JEMALLOC
ifdef WIN32_REDIST_DIR
ifndef MOZ_DEBUG
@ -101,4 +100,3 @@ endif
endif # ! MOZ_DEBUG
endif # WIN32_REDIST_DIR
endif # ! MOZ_MEMORY

View File

@ -628,9 +628,7 @@ MOZ_TOOLS_DIR = @MOZ_TOOLS_DIR@
MOZ_QUANTIFY = @MOZ_QUANTIFY@
MSMANIFEST_TOOL = @MSMANIFEST_TOOL@
WIN32_REDIST_DIR = @WIN32_REDIST_DIR@
WIN32_CRT_SRC_DIR = @WIN32_CRT_SRC_DIR@
MOZ_MEMORY_LDFLAGS = @MOZ_MEMORY_LDFLAGS@
WIN32_OLD_STYLE_JEMALLOC = @WIN32_OLD_STYLE_JEMALLOC@
WIN32_CRT_LIBS = @WIN32_CRT_LIBS@
MOZ_CRT_CPU_ARCH = @MOZ_CRT_CPU_ARCH@

View File

@ -7418,54 +7418,20 @@ else
;;
*-mingw*)
AC_DEFINE(MOZ_MEMORY_WINDOWS)
AC_MSG_CHECKING([for VC2005/2008++ CRT source])
if test "$CC_VERSION" == "14.00.50727.762" -o "$CC_VERSION" == "15.00.30729.01"; then
if test -z "$WIN32_CRT_SRC_DIR" -a -n "$VCINSTALLDIR"; then
WIN32_CRT_SRC_DIR="$VCINSTALLDIR\crt\src"
fi
if test -n "$WIN32_CRT_SRC_DIR" -a -d "$WIN32_CRT_SRC_DIR"; then
AC_MSG_RESULT([yes])
dnl cpu check
case "${target_cpu}" in
i*86)
MOZ_CRT_CPU_ARCH=intel
;;
x86_64)
MOZ_CRT_CPU_ARCH=amd64
;;
*)
AC_MSG_ERROR([--enable-jemalloc not supported on ${target}])
;;
esac
AC_SUBST(MOZ_CRT_CPU_ARCH)
WIN32_OLD_STYLE_JEMALLOC=1
AC_DEFINE(WIN32_OLD_STYLE_JEMALLOC)
WIN32_CRT_SRC_DIR=`cd "$WIN32_CRT_SRC_DIR" && pwd -W`
_objdir_win=`pwd -W`
WIN32_CUSTOM_CRT_DIR="$_objdir_win/memory/jemalloc/crtsrc/build/$MOZ_CRT_CPU_ARCH"
MOZ_MEMORY_LDFLAGS="-MANIFEST:NO -LIBPATH:\"$WIN32_CUSTOM_CRT_DIR\" -NODEFAULTLIB:msvcrt -NODEFAULTLIB:msvcrtd -NODEFAULTLIB:msvcprt -NODEFAULTLIB:msvcprtd -DEFAULTLIB:mozcrt19 -DEFAULTLIB:mozcpp19"
fi
if test -z "$MOZ_DEBUG"; then
WIN32_CRT_LIBS="msvcrt.lib msvcprt.lib"
else
WIN32_CRT_LIBS="msvcrtd.lib msvcprtd.lib"
fi
if test -z "$WIN32_OLD_STYLE_JEMALLOC"; then
AC_MSG_RESULT([no])
WIN32_NEW_STYLE_JEMALLOC=1
AC_DEFINE(WIN32_NEW_STYLE_JEMALLOC)
WIN32_CRT_SRC_DIR=
if test -z "$MOZ_DEBUG"; then
WIN32_CRT_LIBS="msvcrt.lib msvcprt.lib"
else
WIN32_CRT_LIBS="msvcrtd.lib msvcprtd.lib"
fi
dnl Look for a broken crtdll.obj
WIN32_CRTDLL_FULLPATH=`lib -nologo -list $WIN32_CRT_LIBS | grep crtdll\\.obj`
lib -NOLOGO -OUT:crtdll.obj $WIN32_CRT_LIBS -EXTRACT:$WIN32_CRTDLL_FULLPATH
if grep -q '__imp__\{0,1\}free' crtdll.obj; then
MOZ_MEMORY_LDFLAGS='-LIBPATH:$(DIST)/lib -NODEFAULTLIB:msvcrt -NODEFAULTLIB:msvcrtd -NODEFAULTLIB:msvcprt -NODEFAULTLIB:msvcprtd -DEFAULTLIB:mozcrt'
else
MOZ_MEMORY_LDFLAGS='$(DIST)/../memory/jemalloc/jemalloc.lib'
fi
rm crtdll.obj
dnl Look for a broken crtdll.obj
WIN32_CRTDLL_FULLPATH=`lib -nologo -list $WIN32_CRT_LIBS | grep crtdll\\.obj`
lib -NOLOGO -OUT:crtdll.obj $WIN32_CRT_LIBS -EXTRACT:$WIN32_CRTDLL_FULLPATH
if grep -q '__imp__\{0,1\}free' crtdll.obj; then
MOZ_MEMORY_LDFLAGS='-LIBPATH:$(DIST)/lib -NODEFAULTLIB:msvcrt -NODEFAULTLIB:msvcrtd -NODEFAULTLIB:msvcprt -NODEFAULTLIB:msvcprtd -DEFAULTLIB:mozcrt'
else
MOZ_MEMORY_LDFLAGS='$(DIST)/../memory/jemalloc/jemalloc.lib'
fi
rm crtdll.obj
dnl Also pass this to NSPR/NSS
DLLFLAGS="$DLLFLAGS $MOZ_MEMORY_LDFLAGS"
@ -7485,9 +7451,7 @@ else
fi # MOZ_MEMORY
AC_SUBST(MOZ_MEMORY)
AC_SUBST(MOZ_MEMORY_LDFLAGS)
AC_SUBST(WIN32_OLD_STYLE_JEMALLOC)
AC_SUBST(WIN32_CRT_LIBS)
AC_SUBST(WIN32_CRT_SRC_DIR)
dnl Need to set this for make because NSS doesn't have configure
AC_SUBST(DLLFLAGS)

View File

@ -49,70 +49,11 @@ MODULE = jemalloc
# symbols.
VISIBILITY_FLAGS=
ifeq (WINNT,$(OS_TARGET))
ifdef WIN32_OLD_STYLE_JEMALLOC
# Building the CRT from source
CRT_OBJ_DIR = $(CURDIR)/crtsrc
MOZ_CRT_DLL_NAME = mozcrt19
MOZ_CRTCPP_DLL_NAME = mozcpp19
MOZ_CRT_STATIC_LIBS = libcmt libcpmt
MOZ_CRT_DLL = $(CRT_OBJ_DIR)/build/$(MOZ_CRT_CPU_ARCH)/$(MOZ_CRT_DLL_NAME).dll
MOZ_CRT_IMPORT_LIB = $(CRT_OBJ_DIR)/build/$(MOZ_CRT_CPU_ARCH)/$(MOZ_CRT_DLL_NAME).lib
MOZ_CRTCPP_DLL = $(CRT_OBJ_DIR)/build/$(MOZ_CRT_CPU_ARCH)/$(MOZ_CRTCPP_DLL_NAME).dll
MOZ_CRTCPP_IMPORT_LIB = $(CRT_OBJ_DIR)/build/$(MOZ_CRT_CPU_ARCH)/$(MOZ_CRTCPP_DLL_NAME).lib
# copy the CRT DLLs to dist/bin,
# copy the import libs to dist/lib
libs:: $(MOZ_CRT_DLL) $(MOZ_CRT_IMPORT_LIB)
$(INSTALL) $(MOZ_CRT_DLL) $(MOZ_CRTCPP_DLL) $(FINAL_TARGET)
$(INSTALL) $(MOZ_CRT_IMPORT_LIB) $(MOZ_CRTCPP_IMPORT_LIB) $(DIST)/lib
$(MOZ_CRT_IMPORT_LIB): $(MOZ_CRT_DLL)
define EXTRACT_CMD
cd $(CRT_OBJ_DIR)/$(MOZ_CRT_CPU_ARCH)/$(i)_lib && lib "-extract:..\\build\\$(MOZ_CRT_CPU_ARCH)\\$(i)_obj\\unhandld.obj" eh.lib
endef # don't touch the blank line. actually, don't touch anything in this file.
# patch if necessary
ifeq ($(CC_VERSION), 14.00.50727.762)
CRTDIFF=crtvc8sp1-$(MOZ_CRT_CPU_ARCH).diff
else
CRTDIFF=crtvc9sp1-$(MOZ_CRT_CPU_ARCH).diff
endif
$(CRT_OBJ_DIR)/jemalloc.c: $(srcdir)/$(CRTDIFF)
rm -rf $(CRT_OBJ_DIR)
cp -R "$(WIN32_CRT_SRC_DIR)" $(CRT_OBJ_DIR)
# per http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1189363&SiteID=1
$(foreach i,dll mt xdll xmt,$(EXTRACT_CMD))
# truly awful
#XXX: get ed into mozillabuild, bug 415123
$(PERL) $(srcdir)/apply-ed-patches.pl $(srcdir)/$(CRTDIFF) \
$(CRT_OBJ_DIR) $(srcdir)/ed.exe
$(MOZ_CRT_DLL): \
$(CRT_OBJ_DIR)/jemalloc.c $(srcdir)/jemalloc.c $(srcdir)/jemalloc.h \
$(srcdir)/jemalloc_types.h $(srcdir)/rb.h
cp $(srcdir)/jemalloc.c $(srcdir)/jemalloc.h $(srcdir)/jemalloc_types.h $(srcdir)/rb.h \
$(CRT_OBJ_DIR)
# this pretty much sucks, but nmake and make don't play well together
$(PYTHON) $(srcdir)/build-crt.py $(CRT_OBJ_DIR)
# XXX: these don't link right for some reason; the problem is likely
# that not all the standard symbols are exported; looks like MSFT
# never updated the sample.def files; could probably fix if someone
# were ever bored enough. :-)
rm -f $(addsuffix .lib, $(addprefix $(CRT_OBJ_DIR)/build/$(MOZ_CRT_CPU_ARCH)/, $(MOZ_CRT_STATIC_LIBS)))
rm -f $(addsuffix .pdb, $(addprefix $(CRT_OBJ_DIR)/build/$(MOZ_CRT_CPU_ARCH)/, $(MOZ_CRT_STATIC_LIBS)))
# but still export jemalloc.h
EXPORTS = jemalloc.h jemalloc_types.h
else
CSRCS = jemalloc.c
EXPORTS = jemalloc.h jemalloc_types.h
LIBRARY_NAME = jemalloc
ifeq (WINNT,$(OS_TARGET))
FORCE_SHARED_LIB = 1
MOZ_MEMORY_LDFLAGS = # Don't link against ourselves
@ -122,8 +63,6 @@ DEFFILE = $(srcdir)/jemalloc.def
LDFLAGS += -ENTRY:DllMain
NO_INSTALL_IMPORT_LIBRARY = 1
endif
else # Not Windows
ifeq ($(OS_ARCH),SunOS)
@ -132,8 +71,6 @@ MODULE_OPTIMIZE_FLAGS = -xO5
endif
endif
LIBRARY_NAME = jemalloc
# Build jemalloc as a shared lib. This is mandatory for Darwin, since a library
# init function is used on that platform.
ifeq ($(OS_ARCH),Darwin)
@ -143,9 +80,6 @@ DIST_INSTALL = 1
FORCE_STATIC_LIB= 1
endif
EXPORTS = jemalloc.h jemalloc_types.h
CSRCS = jemalloc.c
#XXX: PGO on Linux causes problems here
# See bug 419470
NO_PROFILE_GUIDED_OPTIMIZE = 1
@ -162,8 +96,6 @@ LDFLAGS += -init _jemalloc_darwin_init
endif
ifeq (WINNT,$(OS_TARGET))
ifndef WIN32_OLD_STYLE_JEMALLOC
# Roll our own custom logic here for the import library
###############################################################################
@ -240,6 +172,4 @@ crtdll.obj: msvc_combined.lib
# Grab both CRT libraries and combine them into one library to simplify things
msvc_combined.lib:
lib -OUT:$@ $(WIN32_CRT_LIBS)
endif
endif

View File

@ -1,84 +0,0 @@
#!/bin/perl
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla build system.
#
# The Initial Developer of the Original Code is
# Mozilla Foundation.
# Portions created by the Initial Developer are Copyright (C) 2008
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Ted Mielczarek <ted.mielczarek@gmail.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
# Usage: apply-ed-patches.pl <source patch> <target directory> <path to ed>
use FileHandle;
sub do_patch {
my ($ed, $target_file, $patch_file, $fh) = @_;
# these keep winding up read only for me
chmod 0666, $target_file;
print $fh "w\n";
$fh->close();
print "$ed -s $target_file < $patch_file\n";
system "$ed -s $target_file < $patch_file\n";
}
my $header_done = 0;
my ($target_file,$patch_file) = ('','');
my $source_patch = $ARGV[0];
my $srcdir = $ARGV[1];
my $ed = $ARGV[2];
$srcdir = "$srcdir/" unless $srcdir =~ m|/$|;
my $pfh = new FileHandle($source_patch, 'r');
while(<$pfh>) {
# skip initial comment header
next if !$header_done && /^#/;
$header_done = 1;
next if /^Only in/;
if (/^diff -re (\S+)/) {
my $new_file = $1;
$new_file =~ s|^crt/src/||;
$new_file = "$srcdir$new_file";
my $new_patch_file = "$new_file.patch";
if ($target_file ne '') {
do_patch $ed, $target_file, $patch_file, $fh;
}
$target_file = $new_file;
$patch_file = $new_patch_file;
$fh = new FileHandle($patch_file, 'w');
next;
}
print $fh $_ if $fh;
}
do_patch $ed, $target_file, $patch_file, $fh;

View File

@ -1,20 +0,0 @@
#!/usr/bin/env python
import os, sys
from subprocess import Popen, STDOUT, PIPE
if 'MAKEFLAGS' in os.environ:
del os.environ['MAKEFLAGS']
proc = Popen(['nmake', 'dll_', 'dll_p', 'mt'], stdout=PIPE, stderr=STDOUT,
cwd=sys.argv[1])
while True:
line = proc.stdout.readline()
if line == '':
break
line = line.rstrip()
# explicitly ignore this fatal-sounding non-fatal error
if line == "NMAKE : fatal error U1052: file 'makefile.sub' not found" or line == "Stop.":
continue
print line
sys.exit(proc.wait())

View File

@ -1,235 +0,0 @@
diff -re crt/src/AMD64/_sample_.def crtsrc/AMD64/_sample_.def
1160d
717,718d
663a
posix_memalign
.
637a
memalign
.
494a
malloc_usable_size
jemalloc_stats
.
330,335d
318d
307,308d
75d
9c
LIBRARY MOZCRT19
.
diff -re crt/src/_sample_.rc crtsrc/_sample_.rc
41c
VALUE "ProductName", "Mozilla Custom C Runtime"
.
39c
VALUE "OriginalFilename", "MOZCRT19.DLL"
.
37c
VALUE "OriginalFilename", "MOZCRT19D.DLL"
.
33c
VALUE "InternalName", "MOZCRT19.DLL"
.
31c
VALUE "InternalName", "MOZCRT19D.DLL"
.
27c
VALUE "CompanyName", "Mozilla Foundation"
.
Only in crtsrc/: build
diff -re crt/src/crt0.c crtsrc/crt0.c
273c
/*
* this used to happen in _mtinit, but we need it before malloc
*/
_init_pointers(); /* initialize global function pointers */
if ( malloc_init_hard() ) /* initialize heap */
.
101a
extern BOOL malloc_init_hard(void);
.
diff -re crt/src/crt0dat.c crtsrc/crt0dat.c
789d
778d
diff -re crt/src/crtexe.c crtsrc/crtexe.c
333,335d
diff -re crt/src/crtheap.c crtsrc/crtheap.c
61c
pv = calloc(count, size);
.
58,59d
diff -re crt/src/crtlib.c crtsrc/crtlib.c
781,788d
416d
400a
malloc_shutdown();
.
359d
340d
310,311d
300d
287c
/*
* this used to happen in _mtinit, but we need it before malloc
*/
_init_pointers(); /* initialize global function pointers */
if ( malloc_init_hard() ) /* initialize heap */
.
43a
extern BOOL malloc_init_hard(void);
extern void malloc_shutdown(void);
.
diff -re crt/src/dllcrt0.c crtsrc/dllcrt0.c
236,237d
183d
173d
158d
153,155d
diff -re crt/src/gs_report.c crtsrc/gs_report.c
23,41d
diff -re crt/src/internal.h crtsrc/internal.h
407a
#endif
.
403a
#if 0
.
diff -re crt/src/invarg.c crtsrc/invarg.c
103a
VOID NTAPI RtlCaptureContext (PCONTEXT ContextRecord);
.
diff -re crt/src/makefile crtsrc/makefile
1840c
-def:$(DEFFILE2_DIR)\sample_p.def
.
1816c
$(DEFFILE2_DIR)\sample_p.def $(CPPSRC_OBJS_DLL:*=dll) \
.
1745a
$(DEFFILE_DIR)\$(RETAIL_LIB_NAME).def : $(DEFFILE_DIR)\_sample_.def
copy $** $@
.
1274d
1228,1230d
754c
dll_ :: $(OBJROOT) $(OBJCPUDIR) $(OBJDIR_DLL) $(OBJDIR_DLL)\$(PURE_OBJ_DIR) \
$(OBJDIR_DLL)\$(CPP_OBJ_DIR) \
$(RELDIR_CPU) $(PDBDIR_CPU_DLL) $(MAKE_DIRS_DLL)
.
334c
CC_OPTS_BASE=-c -nologo -Zlp8 -W3 -GFy -DWIND32
.
307,309c
LINKER=link
LINKLIB=link -lib
LINKIMPLIB=link -lib
.
302,304c
LINKER=link -nologo
LINKLIB=link -lib -nologo
LINKIMPLIB=link -lib -nologo
.
209d
21,24c
RETAIL_DLL_NAME=MOZCRT19
RETAIL_LIB_NAME=mozcrt19
RETAIL_DLLCPP_NAME=MOZCPP19
RETAIL_LIBCPP_NAME=mozcpp19
.
diff -re crt/src/makefile.inc crtsrc/makefile.inc
1624a
$(OBJDIR)\unhandld.obj: $(PREOBJDIR)\unhandld.obj
copy $(PREOBJDIR)\unhandld.obj $@
.
1134a
$(OBJDIR)\memmove.obj \
.
618d
402d
342,353c
$(OBJDIR)\jemalloc.obj \
.
334,335d
329,330d
327d
323d
320d
diff -re crt/src/makefile.sub crtsrc/makefile.sub
103c
LIB=link -lib -nologo
.
69c
CFLAGS=$(CFLAGS) -O2 -DMOZ_MEMORY=1 -DMOZ_MEMORY_WINDOWS=1 -DMOZ_MEMORY_SIZEOF_PTR_2POW=3
.
67c
CFLAGS=$(CFLAGS) -O2 -DMOZ_MEMORY=1 -DMOZ_MEMORY_WINDOWS=1 -DMOZ_MEMORY_SIZEOF_PTR_2POW=3
.
diff -re crt/src/malloc.h crtsrc/malloc.h
189a
#endif
.
177a
#if 0
.
161d
83a
#endif
.
70a
#if 0
.
diff -re crt/src/mlock.c crtsrc/mlock.c
274c
#endif
.
262a
#if 0
.
diff -re crt/src/new.cpp crtsrc/new.cpp
60d
52,55d
37,38c
break;
.
diff -re crt/src/nothrownew.cpp crtsrc/nothrownew.cpp
37a
#endif
.
31a
#if 1
break;
#else
.
diff -re crt/src/sample_p.def crtsrc/sample_p.def
8c
LIBRARY MOZCPP19
.
diff -re crt/src/sample_p.rc crtsrc/sample_p.rc
41c
VALUE "ProductName", "Mozilla Custom C++ Runtime"
.
39c
VALUE "OriginalFilename", "MOZCPP19.DLL"
.
37c
VALUE "OriginalFilename", "MOZCPP19D.DLL"
.
33c
VALUE "InternalName", "MOZCPP19.DLL"
.
31c
VALUE "InternalName", "MOZCPP19D.DLL"
.
27c
VALUE "CompanyName", "Mozilla Foundation"
.
diff -re crt/src/tidtable.c crtsrc/tidtable.c
393,394d

View File

@ -1,229 +0,0 @@
# The Microsoft C Runtime source code to which this document refers is available
# directly from Microsoft Corporation, under a separate license.
# Please ensure that if you are using that source code, you have appropriate
# rights to use it. By providing you access to this file, Mozilla Corporation
# and its affiliates do not purport to grant any rights in that source code.
# Binaries are available under separate licenses at
# http://www.microsoft.com/downloads/details.aspx?familyid=200b2fd9-ae1a-4a14-984d-389c36f85647&displaylang=en
diff -re crt/src/_sample_.rc ./crtsrc/_sample_.rc
41c
VALUE "ProductName", "Mozilla Custom C Runtime"
.
39c
VALUE "OriginalFilename", "MOZCRT19.DLL"
.
37c
VALUE "OriginalFilename", "MOZCRT19D.DLL"
.
33c
VALUE "InternalName", "MOZCRT19.DLL"
.
31c
VALUE "InternalName", "MOZCRT19D.DLL"
.
27c
VALUE "CompanyName", "Mozilla Foundation"
.
diff -re crt/src/crt0.c ./crtsrc/crt0.c
273c
/*
* this used to happen in _mtinit, but we need it before malloc
*/
_init_pointers(); /* initialize global function pointers */
if ( malloc_init_hard() ) /* initialize heap */
.
101a
extern BOOL malloc_init_hard(void);
.
diff -re crt/src/crt0dat.c ./crtsrc/crt0dat.c
789d
778d
diff -re crt/src/crtexe.c ./crtsrc/crtexe.c
333,335d
diff -re crt/src/crtheap.c ./crtsrc/crtheap.c
61c
pv = calloc(count, size);
.
58,59d
diff -re crt/src/crtlib.c ./crtsrc/crtlib.c
781,788d
416d
400a
malloc_shutdown();
.
359d
340d
310,311d
300d
287c
/*
* this used to happen in _mtinit, but we need it before malloc
*/
_init_pointers(); /* initialize global function pointers */
if ( malloc_init_hard() ) /* initialize heap */
.
43a
extern BOOL malloc_init_hard(void);
extern void malloc_shutdown(void);
.
diff -re crt/src/dllcrt0.c ./crtsrc/dllcrt0.c
236,237d
183d
173d
158d
153,155d
diff -re crt/src/intel/_sample_.def ./crtsrc/intel/_sample_.def
1208d
723,724d
669a
posix_memalign
.
643a
memalign
.
500a
malloc_usable_size
jemalloc_stats
.
336,341d
324d
313,314d
81d
9c
LIBRARY MOZCRT19
.
diff -re crt/src/internal.h ./crtsrc/internal.h
407a
#endif
.
403a
#if 0
.
diff -re crt/src/makefile ./crtsrc/makefile
1840c
-def:$(DEFFILE2_DIR)\sample_p.def
.
1816c
$(DEFFILE2_DIR)\sample_p.def $(CPPSRC_OBJS_DLL:*=dll) \
.
1745a
$(DEFFILE_DIR)\$(RETAIL_LIB_NAME).def : $(DEFFILE_DIR)\_sample_.def
copy $** $@
.
1274d
1228,1230d
754c
dll_ :: $(OBJROOT) $(OBJCPUDIR) $(OBJDIR_DLL) $(OBJDIR_DLL)\$(PURE_OBJ_DIR) \
$(OBJDIR_DLL)\$(CPP_OBJ_DIR) \
$(RELDIR_CPU) $(PDBDIR_CPU_DLL) $(MAKE_DIRS_DLL)
.
334c
CC_OPTS_BASE=-c -nologo -Zlp8 -W3 -GFy -DWIND32
.
307,309c
LINKER=link
LINKLIB=link -lib
LINKIMPLIB=link -lib
.
302,304c
LINKER=link -nologo
LINKLIB=link -lib -nologo
LINKIMPLIB=link -lib -nologo
.
209d
21,24c
RETAIL_DLL_NAME=MOZCRT19
RETAIL_LIB_NAME=mozcrt19
RETAIL_DLLCPP_NAME=MOZCPP19
RETAIL_LIBCPP_NAME=mozcpp19
.
diff -re crt/src/makefile.inc ./crtsrc/makefile.inc
1624a
$(OBJDIR)\unhandld.obj: $(PREOBJDIR)\unhandld.obj
copy $(PREOBJDIR)\unhandld.obj $@
.
618d
402d
342,353c
$(OBJDIR)\jemalloc.obj \
.
334,335d
329,330d
327d
323d
320d
diff -re crt/src/makefile.sub ./crtsrc/makefile.sub
103c
LIB=link -lib -nologo
.
69c
CFLAGS=$(CFLAGS) -O2 -DMOZ_MEMORY=1 -DMOZ_MEMORY_WINDOWS=1
.
diff -re crt/src/malloc.h ./crtsrc/malloc.h
189a
#endif
.
177a
#if 0
.
161d
83a
#endif
.
70a
#if 0
.
diff -re crt/src/mlock.c ./crtsrc/mlock.c
274c
#endif
.
262a
#if 0
.
diff -re crt/src/new.cpp ./crtsrc/new.cpp
60d
52,55d
37,38c
break;
.
diff -re crt/src/nothrownew.cpp ./crtsrc/nothrownew.cpp
37a
#endif
.
31a
#if 1
break;
#else
.
diff -re crt/src/sample_p.def ./crtsrc/sample_p.def
8c
LIBRARY MOZCPP19
.
diff -re crt/src/sample_p.rc ./crtsrc/sample_p.rc
41c
VALUE "ProductName", "Mozilla Custom C++ Runtime"
.
39c
VALUE "OriginalFilename", "MOZCPP19.DLL"
.
37c
VALUE "OriginalFilename", "MOZCPP19D.DLL"
.
33c
VALUE "InternalName", "MOZCPP19.DLL"
.
31c
VALUE "InternalName", "MOZCPP19D.DLL"
.
27c
VALUE "CompanyName", "Mozilla Foundation"
.
diff -re crt/src/tidtable.c ./crtsrc/tidtable.c
393,394d

View File

@ -1,250 +0,0 @@
diff -re crt/src/AMD64/_sample_.def crtsrc/AMD64/_sample_.def
1150d
712,713d
658a
posix_memalign
.
632a
memalign
.
489a
malloc_usable_size
.
461a
jemalloc_stats
.
325,330d
313d
307,308d
75d
9c
LIBRARY MOZCRT19
.
diff -re crt/src/_sample_.rc crtsrc/_sample_.rc
41c
VALUE "ProductName", "Mozilla Custom C Runtime"
.
39c
VALUE "OriginalFilename", "MOZCRT19.DLL"
.
37c
VALUE "OriginalFilename", "MOZCRT19D.DLL"
.
33c
VALUE "InternalName", "MOZCRT19.DLL"
.
31c
VALUE "InternalName", "MOZCRT19D.DLL"
.
27c
VALUE "CompanyName", "Mozilla Foundation"
.
diff -re crt/src/crt0.c crtsrc/crt0.c
212c
/*
* this used to happen in _mtinit, but we need it before malloc
*/
_init_pointers(); /* initialize global function pointers */
if ( malloc_init_hard() ) /* initialize heap */
.
87a
extern BOOL malloc_init_hard(void);
.
diff -re crt/src/crt0dat.c crtsrc/crt0dat.c
837d
826d
diff -re crt/src/crtdll.c crtsrc/crtdll.c
31,40d
diff -re crt/src/crtexe.c crtsrc/crtexe.c
322,324d
35,45d
diff -re crt/src/crtheap.c crtsrc/crtheap.c
61c
pv = calloc(count, size);
.
58,59d
diff -re crt/src/crtlib.c crtsrc/crtlib.c
686,693d
355d
339a
malloc_shutdown();
.
298d
279d
249,250d
239d
226c
/*
* this used to happen in _mtinit, but we need it before malloc
*/
_init_pointers(); /* initialize global function pointers */
if ( malloc_init_hard() ) /* initialize heap */
.
43a
extern BOOL malloc_init_hard(void);
extern void malloc_shutdown(void);
.
diff -re crt/src/dllcrt0.c crtsrc/dllcrt0.c
189,190d
136d
126d
111d
106,108d
diff -re crt/src/gs_report.c crtsrc/gs_report.c
41c
#endif
.
22c
#if 0
.
diff -re crt/src/intel/_sample_.def crtsrc/intel/_sample_.def
1198d
718,719d
664a
posix_memalign
.
638a
memalign
.
495a
malloc_usable_size
.
467a
jemalloc_stats
.
331,336d
319d
313,314d
81d
9c
LIBRARY MOZCRT19
.
diff -re crt/src/internal.h crtsrc/internal.h
413a
#endif
.
409c
#if 0
.
diff -re crt/src/invarg.c crtsrc/invarg.c
53c
#endif
.
34c
#if 0
.
diff -re crt/src/makefile crtsrc/makefile
1873c
-def:$(DEFFILE2_DIR)\sample_p.def
.
1841c
$(DEFFILE2_DIR)\sample_p.def $(CPPSRC_OBJS_DLL:*=dll) \
.
1771a
$(DEFFILE_DIR)\$(RETAIL_LIB_NAME).def : $(DEFFILE_DIR)\_sample_.def
copy $** $@
.
1290d
1235,1237d
760c
dll_ :: $(OBJROOT) $(OBJCPUDIR) $(OBJDIR_DLL) $(OBJDIR_DLL)\$(PURE_OBJ_DIR) \
$(OBJDIR_DLL)\$(CPP_OBJ_DIR) \
$(RELDIR_CPU) $(PDBDIR_CPU_DLL) $(MAKE_DIRS_DLL)
.
340c
CC_OPTS_BASE=-c -nologo -Zlp8 -W3 -GFy -DWIND32
.
213d
21,24c
RETAIL_DLL_NAME=MOZCRT19
RETAIL_LIB_NAME=mozcrt19
RETAIL_DLLCPP_NAME=MOZCPP19
RETAIL_LIBCPP_NAME=mozcpp19
.
diff -re crt/src/makefile.inc crtsrc/makefile.inc
1636a
$(OBJDIR)\unhandld.obj: $(PREOBJDIR)\unhandld.obj
copy $(PREOBJDIR)\unhandld.obj $@
.
623d
621d
405d
344,356c
$(OBJDIR)\jemalloc.obj \
.
336,337d
331,332d
329d
325d
321,322d
diff -re crt/src/makefile.sub crtsrc/makefile.sub
66c
CFLAGS=$(CFLAGS) -O2 -DMOZ_MEMORY=1 -DMOZ_MEMORY_WINDOWS=1 -DMOZ_MEMORY_SIZEOF_PTR_2POW=3
.
diff -re crt/src/malloc.h crtsrc/malloc.h
189a
#endif
.
177a
#if 0
.
83a
#endif
.
70a
#if 0
.
diff -re crt/src/mlock.c crtsrc/mlock.c
274c
#endif
.
262a
#if 0
.
diff -re crt/src/new.cpp crtsrc/new.cpp
60d
52,55d
37,38c
break;
.
diff -re crt/src/nothrownew.cpp crtsrc/nothrownew.cpp
38c
#endif
.
31a
#if 1
break;
#else
.
diff -re crt/src/sample_p.def crtsrc/sample_p.def
8c
LIBRARY mozcpp19
.
diff -re crt/src/sample_p.rc crtsrc/sample_p.rc
41c
VALUE "ProductName", "Mozilla Custom C++ Runtime"
.
39c
VALUE "OriginalFilename", "MOZCPP19.DLL"
.
37c
VALUE "OriginalFilename", "MOZCPP19D.DLL"
.
33c
VALUE "InternalName", "MOZCPP19.DLL"
.
31c
VALUE "InternalName", "MOZCPP19D.DLL"
.
27c
VALUE "CompanyName", "Mozilla Foundation"
.
diff -re crt/src/tidtable.c crtsrc/tidtable.c
360,361d

View File

@ -1,221 +0,0 @@
# The Microsoft C Runtime source code to which this document refers is available
# directly from Microsoft Corporation, under a separate license.
# Please ensure that if you are using that source code, you have appropriate
# rights to use it. By providing you access to this file, Mozilla Corporation
# and its affiliates do not purport to grant any rights in that source code.
# Binaries are available under separate licenses at
# http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=en
diff -re crt/src/_sample_.rc crtsrc/_sample_.rc
41c
VALUE "ProductName", "Mozilla Custom C Runtime"
.
39c
VALUE "OriginalFilename", "MOZCRT19.DLL"
.
37c
VALUE "OriginalFilename", "MOZCRT19D.DLL"
.
33c
VALUE "InternalName", "MOZCRT19.DLL"
.
31c
VALUE "InternalName", "MOZCRT19D.DLL"
.
27c
VALUE "CompanyName", "Mozilla Foundation"
.
diff -re crt/src/crt0.c crtsrc/crt0.c
212c
/*
* this used to happen in _mtinit, but we need it before malloc
*/
_init_pointers(); /* initialize global function pointers */
if ( malloc_init_hard() ) /* initialize heap */
.
87a
extern BOOL malloc_init_hard(void);
.
diff -re crt/src/crt0dat.c crtsrc/crt0dat.c
837d
826d
diff -re crt/src/crtdll.c crtsrc/crtdll.c
31,40d
diff -re crt/src/crtexe.c crtsrc/crtexe.c
322,324d
35,45d
diff -re crt/src/crtheap.c crtsrc/crtheap.c
61c
pv = calloc(count, size);
.
58,59d
diff -re crt/src/crtlib.c crtsrc/crtlib.c
686,693d
355d
339a
malloc_shutdown();
.
298d
279d
249,250d
239d
226c
/*
* this used to happen in _mtinit, but we need it before malloc
*/
_init_pointers(); /* initialize global function pointers */
if ( malloc_init_hard() ) /* initialize heap */
.
43a
extern BOOL malloc_init_hard(void);
extern void malloc_shutdown(void);
.
diff -re crt/src/dllcrt0.c crtsrc/dllcrt0.c
189,190d
136d
126d
111d
106,108d
diff -re crt/src/intel/_sample_.def crtsrc/intel/_sample_.def
1198d
718,719d
664a
posix_memalign
.
638a
memalign
.
495a
malloc_usable_size
.
467a
jemalloc_stats
.
331,336d
319d
313,314d
81d
9c
LIBRARY MOZCRT19
.
diff -re crt/src/internal.h crtsrc/internal.h
413a
#endif
.
409c
#if 0
.
diff -re crt/src/makefile crtsrc/makefile
1873c
-def:$(DEFFILE2_DIR)\sample_p.def
.
1841c
$(DEFFILE2_DIR)\sample_p.def $(CPPSRC_OBJS_DLL:*=dll) \
.
1771a
$(DEFFILE_DIR)\$(RETAIL_LIB_NAME).def : $(DEFFILE_DIR)\_sample_.def
copy $** $@
.
1290d
1235,1237d
760c
dll_ :: $(OBJROOT) $(OBJCPUDIR) $(OBJDIR_DLL) $(OBJDIR_DLL)\$(PURE_OBJ_DIR) \
$(OBJDIR_DLL)\$(CPP_OBJ_DIR) \
$(RELDIR_CPU) $(PDBDIR_CPU_DLL) $(MAKE_DIRS_DLL)
.
340c
CC_OPTS_BASE=-c -nologo -Zlp8 -W3 -GFy -DWIND32
.
213d
21,24c
RETAIL_DLL_NAME=MOZCRT19
RETAIL_LIB_NAME=mozcrt19
RETAIL_DLLCPP_NAME=MOZCPP19
RETAIL_LIBCPP_NAME=mozcpp19
.
diff -re crt/src/makefile.inc crtsrc/makefile.inc
1636a
$(OBJDIR)\unhandld.obj: $(PREOBJDIR)\unhandld.obj
copy $(PREOBJDIR)\unhandld.obj $@
.
623d
621d
405d
344,356c
$(OBJDIR)\jemalloc.obj \
.
336,337d
331,332d
329d
325d
321,322d
diff -re crt/src/makefile.sub crtsrc/makefile.sub
66c
CFLAGS=$(CFLAGS) -O2 -DMOZ_MEMORY=1 -DMOZ_MEMORY_WINDOWS=1
.
diff -re crt/src/malloc.h crtsrc/malloc.h
189a
#endif
.
177a
#if 0
.
83a
#endif
.
70a
#if 0
.
diff -re crt/src/mlock.c crtsrc/mlock.c
274c
#endif
.
262a
#if 0
.
diff -re crt/src/new.cpp crtsrc/new.cpp
60d
52,55d
37,38c
break;
.
diff -re crt/src/nothrownew.cpp crtsrc/nothrownew.cpp
38c
#endif
.
31a
#if 1
break;
#else
.
diff -re crt/src/sample_p.def crtsrc/sample_p.def
8c
LIBRARY mozcpp19
.
diff -re crt/src/sample_p.rc crtsrc/sample_p.rc
41c
VALUE "ProductName", "Mozilla Custom C++ Runtime"
.
39c
VALUE "OriginalFilename", "MOZCPP19.DLL"
.
37c
VALUE "OriginalFilename", "MOZCPP19D.DLL"
.
33c
VALUE "InternalName", "MOZCPP19.DLL"
.
31c
VALUE "InternalName", "MOZCPP19D.DLL"
.
27c
VALUE "CompanyName", "Mozilla Foundation"
.
diff -re crt/src/tidtable.c crtsrc/tidtable.c
360,361d

Binary file not shown.

View File

@ -203,17 +203,9 @@
#ifdef MOZ_MEMORY_WINDOWS
/* XXXkhuey switch to not patching the CRT for jemalloc all the time */
/* We use ifndef NEW_STYLE here because when we're build as part of the CRT
we don't have access to AC_DEFINEs */
#ifndef WIN32_NEW_STYLE_JEMALLOC
#include <cruntime.h>
#include <internal.h>
#else
/* Some defines from the CRT internal headers that we need here. */
#define _CRT_SPINCOUNT 5000
#define __crtInitCritSecAndSpinCount InitializeCriticalSectionAndSpinCount
#endif
#include <io.h>
#include <windows.h>
@ -5849,10 +5841,10 @@ malloc_shutdown()
* Mangle standard interfaces, in order to avoid linking problems.
*/
#if defined(MOZ_MEMORY_DARWIN) || defined(MOZ_MEMORY_ANDROID) || \
defined(WRAP_MALLOC) || defined(WIN32_NEW_STYLE_JEMALLOC)
defined(WRAP_MALLOC) || defined(MOZ_MEMORY_WINDOWS)
inline void sys_free(void* ptr) {return free(ptr);}
#define malloc(a) je_malloc(a)
#if defined(WIN32_NEW_STYLE_JEMALLOC) || defined(MOZ_MEMORY_DARWIN)
#if defined(MOZ_MEMORY_WINDOWS) || defined(MOZ_MEMORY_DARWIN)
#define memalign(a, b) je_memalign(a, b)
#endif
#define posix_memalign(a, b, c) je_posix_memalign(a, b, c)
@ -6795,7 +6787,7 @@ void *(*__memalign_hook)(size_t alignment, size_t size) = MEMALIGN;
# error "Interposing malloc is unsafe on this system without libc malloc hooks."
#endif
#ifdef WIN32_NEW_STYLE_JEMALLOC
#ifdef MOZ_MEMORY_WINDOWS
/*
* In the new style jemalloc integration jemalloc is built as a separate
* shared library. Since we're no longer hooking into the CRT binary,

View File

@ -51,7 +51,7 @@ int posix_memalign(void **memptr, size_t alignment, size_t size);
#endif /* MOZ_MEMORY_DARWIN, MOZ_MEMORY_LINUX */
#if defined(MOZ_MEMORY_DARWIN) || defined(MOZ_MEMORY_ANDROID) || \
defined(WRAP_MALLOC) || defined(WIN32_NEW_STYLE_JEMALLOC)
defined(WRAP_MALLOC) || defined(MOZ_MEMORY_WINDOWS)
void *je_malloc(size_t size);
void *je_valloc(size_t size);
void *je_calloc(size_t num, size_t size);

View File

@ -78,10 +78,6 @@ DEFINES += -DJAREXT=$(JAREXT)
include $(topsrcdir)/ipc/app/defs.mk
DEFINES += -DMOZ_CHILD_PROCESS_NAME=$(MOZ_CHILD_PROCESS_NAME)
ifdef WIN32_OLD_STYLE_JEMALLOC
DEFINES += -DWIN32_OLD_STYLE_JEMALLOC=1
endif
ifdef MOZ_PKG_MANIFEST_P
MOZ_PKG_MANIFEST = package-manifest
endif

View File

@ -58,10 +58,6 @@
@BINPATH@/@MOZ_CHILD_PROCESS_NAME@
#endif
#ifdef XP_WIN32
#ifdef WIN32_OLD_STYLE_JEMALLOC
@BINPATH@/mozcrt19.dll
@BINPATH@/mozcpp19.dll
#else
#ifdef MOZ_MEMORY
@BINPATH@/jemalloc.dll
#endif
@ -79,7 +75,6 @@
@BINPATH@/msvcp100.dll
@BINPATH@/msvcr100.dll
#endif
#endif
#endif

View File

@ -3,13 +3,6 @@ README.txt
extensions/feedback@mobile.mozilla.org.xpi
#endif
#ifdef XP_WIN
#ifdef WIN32_OLD_STYLE_JEMALLOC
Microsoft.VC80.CRT.manifest
msvcm80.dll
msvcp80.dll
msvcr80.dll
#else
mozcrt19.dll
mozcpp19.dll
#endif
mozcrt19.dll
mozcpp19.dll
#endif

View File

@ -90,9 +90,6 @@ JSSHELL_BINS = \
ifndef MOZ_NATIVE_NSPR
JSSHELL_BINS += $(DIST)/bin/$(LIB_PREFIX)nspr4$(DLL_SUFFIX)
ifeq ($(OS_ARCH),WINNT)
ifdef WIN32_OLD_STYLE_JEMALLOC
JSSHELL_BINS += $(DIST)/bin/mozcrt19$(DLL_SUFFIX)
else
ifdef MOZ_MEMORY
JSSHELL_BINS += $(DIST)/bin/jemalloc$(DLL_SUFFIX)
endif
@ -107,7 +104,6 @@ endif
ifeq ($(_MSC_VER),1500)
JSSHELL_BINS += $(DIST)/bin/msvcr100.dll
endif
endif
else
JSSHELL_BINS += \
$(DIST)/bin/$(LIB_PREFIX)plds4$(DLL_SUFFIX) \