summaryrefslogtreecommitdiffstats
path: root/Mac/mwerks
diff options
context:
space:
mode:
authorJack Jansen <jack.jansen@cwi.nl>2003-11-19 14:34:18 (GMT)
committerJack Jansen <jack.jansen@cwi.nl>2003-11-19 14:34:18 (GMT)
commit28ecf70db57828db2ca279643bf9aeca7662f35c (patch)
tree09b7767bbc411f85313b58d6fe7e5e67d9392973 /Mac/mwerks
parent6045b9c93511c767f6cfa2d2fa299c76181acd9b (diff)
downloadcpython-28ecf70db57828db2ca279643bf9aeca7662f35c.zip
cpython-28ecf70db57828db2ca279643bf9aeca7662f35c.tar.gz
cpython-28ecf70db57828db2ca279643bf9aeca7662f35c.tar.bz2
Getting rid of support for MacOS9 and earlier. This is the first step,
and the biggest in size, but probably the easiest. Hunting through the source code comes next.
Diffstat (limited to 'Mac/mwerks')
-rw-r--r--Mac/mwerks/errno_unix.h63
-rw-r--r--Mac/mwerks/macuseshlstart.c29
-rw-r--r--Mac/mwerks/malloc/README84
-rw-r--r--Mac/mwerks/malloc/calloc.c53
-rw-r--r--Mac/mwerks/malloc/malloc.c447
-rw-r--r--Mac/mwerks/mwerks_nscarbon.pch7
-rw-r--r--Mac/mwerks/mwerks_nscarbon_config.h47
-rw-r--r--Mac/mwerks/mwerks_pyexpat_config.h9
-rw-r--r--Mac/mwerks/mwerks_shcarbon.pch7
-rw-r--r--Mac/mwerks/mwerks_shcarbon_config.h50
-rw-r--r--Mac/mwerks/mwerks_smcarbon.pch7
-rw-r--r--Mac/mwerks/mwerks_smcarbon_config.h43
-rw-r--r--Mac/mwerks/mwerks_thrcarbonsm_config.h43
-rw-r--r--Mac/mwerks/mwerks_threadsmall_config.h39
-rw-r--r--Mac/mwerks/mwerks_tkplugin_config.h16
-rw-r--r--Mac/mwerks/mwfopenrf.c79
16 files changed, 0 insertions, 1023 deletions
diff --git a/Mac/mwerks/errno_unix.h b/Mac/mwerks/errno_unix.h
deleted file mode 100644
index 4127f3c..0000000
--- a/Mac/mwerks/errno_unix.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/***********************************************************
-Copyright 1991-1997 by Stichting Mathematisch Centrum, Amsterdam,
-The Netherlands.
-
- All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the names of Stichting Mathematisch
-Centrum or CWI or Corporation for National Research Initiatives or
-CNRI not be used in advertising or publicity pertaining to
-distribution of the software without specific, written prior
-permission.
-
-While CWI is the initial source for this software, a modified version
-is made available by the Corporation for National Research Initiatives
-(CNRI) at the Internet address ftp://ftp.python.org.
-
-STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH
-REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH
-CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
-DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
-PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
-TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-PERFORMANCE OF THIS SOFTWARE.
-
-******************************************************************/
-
-/*
-** There are various sources of unix-like error numbers: GUSI headers,
-** MSL headers and Carbon-specific MSL headers. The later are triggered,
-** apparently, by the _POSIX define.
-*/
-#ifndef USE_GUSI2
-#define ENOTDIR (-120)
-#ifndef __MSL__
-#define EACCES (-54)
-#endif
-#ifndef _POSIX
-#define EEXIST (-48)
-#define ENOENT (-43)
-#define ENFILE (-42)
-#define ENOSPC (-34)
-#define EIO (-36)
-#endif
-#define EBUSY (-47)
-#define EROFS (-44)
-#endif
-
-#ifndef USE_GUSI2
-#define ESRCH 3
-#define EINTR 4
-#define ENODEV 19
-#endif
-#ifndef _POSIX
-#define EBADF 9
-#define EINVAL 22
-#define EMFILE 24
-#endif
-
diff --git a/Mac/mwerks/macuseshlstart.c b/Mac/mwerks/macuseshlstart.c
deleted file mode 100644
index edbb246..0000000
--- a/Mac/mwerks/macuseshlstart.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-** mac __start for python-with-shared-library.
-**
-** Partially stolen from MW Startup.c, which is
-** Copyright © 1993 metrowerks inc. All Rights Reserved.
-*/
-
-#include <setjmp.h>
-
-/*
- * clear_stackframe_backlink - set 0(SP) to 0
- *
- */
-
-static asm void clear_stackframe_backlink(void)
-{
- li r3,0
- stw r3,0(SP)
- blr
-}
-
-void __start(void)
-{
- char *argv = 0;
-
- clear_stackframe_backlink();
- main(0, &argv);
- exit(0);
-}
diff --git a/Mac/mwerks/malloc/README b/Mac/mwerks/malloc/README
deleted file mode 100644
index 56547e7..0000000
--- a/Mac/mwerks/malloc/README
+++ /dev/null
@@ -1,84 +0,0 @@
-
- What is this?
- -------------
-This package is a memory allocator for the Macintosh. It was initially
-implemented for use with the MetroWerks CodeWarrior compiler on the
-PowerPC Mac, but may also be useful (in a more limited way) for use
-with MW 68K or Think compilers.
-
-This is distribution 1.1, dated May 28, 1997.
-
- How does it work?
- -----------------
-Actually, 99% of the code comes straight from the old old BSD-unix
-"fast malloc", only the interface to the low-level memory allocator
-and the handling of large blocks is different. The allocator follows
-one of two strategies, based upon block size:
-- for small blocks (anything up to 8K, as distributed), the size is
- rounded up to the next power of two, and that much is
- allocated. Realloc, etc. understand about this. Small blocks are
- packed into 8K segments.
-- Larger blocks are allocated directly using NewPtr().
-
- Why should I want it?
- ---------------------
-The reason for writing this is that I've had serious problems with MW
-malloc, especially in one piece of software, the Python
-interpreter. Python is a very-high level interpreted language, and
-spends very large amounts of time in malloc. Moreover, it reallocs()
-like there's no tomorrow, and allocates and frees tiny and huge blocks
-intermixedly. After some time running, this caused two things (using
-the original MW malloc): memory useage grew exponentially and so did
-runtime. MetroWerks have tried to be helpful, but I have been unable
-to provide them with simple sample-programs that showed the problem:
-it seems to be something to do with fragmentation and only happens
-under very heavy use.
-
-The 68K MW malloc has the same problems, and the Think C malloc
-has a similar one: it shows the same growth problem but not the
-increase in runtime.
-
-Two additional reasons for using it:
-- It is blindingly fast.
-- It has pretty good range checking and such (enabled with a #define),
- so it'll help you catch various programming errors like referencing
- outside the bounds of the malloced block.
-
-One reason for not using it:
-- It is rather wasteful of memory. Small blocks, on average, occupy
- 25% more memory than they need, and the allocation in 8K chunks
- wastes another 50K (on average). Also, memory is never returned from
- malloc()s pool to the Memory Manager.
-
- How do I use it?
- ----------------
-You may want to look at the source: most debugging options are off by
-default, and so is returning cache-aligned blocks. Near the top of
-malloc.c you will see a couple of defines you can turn on.
-
-For MW PPC: simply add the sources to your project. Due to the way the
-linker works all mallocs will use the new malloc, even the malloc
-calls that come from the libraries.
-
-For MW 68K: ditto, only supposedly the library malloc calls will still
-use the original malloc. The two packages don't bite each other,
-however, so there shouldn't be any problems.
-
-For Think: more work, but you can rebuild the ANSI library with this
-malloc, since the Think distribution contains everything you need for
-this.
-
- Is that all?
- ------------
-
-Yes. Let me finish off by asking that you send bug reports, fixes,
-enhancement, etc to me at the address below.
-
- Jack Jansen
- Centrum voor Wiskunde en Informatica
- Kruislaan 413
- 1098 SJ Amsterdam
- the Netherlands
-
- <Jack.Jansen@cwi.nl>
-
diff --git a/Mac/mwerks/malloc/calloc.c b/Mac/mwerks/malloc/calloc.c
deleted file mode 100644
index 41d69ea..0000000
--- a/Mac/mwerks/malloc/calloc.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/*-
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#if defined(LIBC_SCCS) && !defined(lint)
-/*static char *sccsid = "from: @(#)calloc.c 5.6 (Berkeley) 2/23/91";*/
-static char *rcsid = "$Id$";
-#endif /* LIBC_SCCS and not lint */
-
-#include <stdlib.h>
-#include <string.h>
-
-void *
-calloc(num, size)
- size_t num;
- register size_t size;
-{
- register void *p;
-
- size *= num;
- if (p = malloc(size))
- memset(p, '\0', size);
- return(p);
-}
diff --git a/Mac/mwerks/malloc/malloc.c b/Mac/mwerks/malloc/malloc.c
deleted file mode 100644
index 38bd32a..0000000
--- a/Mac/mwerks/malloc/malloc.c
+++ /dev/null
@@ -1,447 +0,0 @@
-/*
- * Attempt at a memory allocator for the Mac, Jack Jansen, CWI, 1995-1997.
- *
- * Code adapted from BSD malloc, which is:
- *
- * Copyright (c) 1983 Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#if defined(LIBC_SCCS) && !defined(lint)
-/*static char *sccsid = "from: @(#)malloc.c 5.11 (Berkeley) 2/23/91";*/
-static char *rcsid = "$Id$";
-#endif /* LIBC_SCCS and not lint */
-
-/*
- * malloc.c (Caltech) 2/21/82
- * Chris Kingsley, kingsley@cit-20. Modified by Jack Jansen, CWI.
- *
- * This is a very fast storage allocator. It allocates blocks of a small
- * number of different sizes, and keeps free lists of each size. Blocks that
- * don't exactly fit are passed up to the next larger size.
- *
- * Blocks over a certain size are directly allocated by calling NewPtr.
- *
- */
-
-#ifdef USE_MALLOC_DEBUG
-/* You may also selectively enable some of these (but some are interdependent) */
-#define DEBUG
-#define DEBUG2
-#define MSTATS
-#define RCHECK
-#define VCHECK
-#endif /* USE_MALLOC_DEBUG */
-
-/*
- * Set the next define if you want to return memory that is aligned to 32-byte
- * boundaries. This allows 604 (and, to a lesser extent, any PPC) programs to
- * make better use of the L1 cache.
- */
-/* #define USE_CACHE_ALIGNED 8 /* The alignment (in 4-byte words) */
-
-typedef unsigned char u_char;
-typedef unsigned long u_long;
-typedef unsigned int u_int;
-typedef unsigned short u_short;
-typedef u_long caddr_t;
-
-#include <Memory.h>
-#include <stdlib.h>
-#include <string.h>
-
-#ifndef NULL
-#define NULL 0
-#endif
-
-static void morecore();
-
-/*
- * The overhead on a block is at least 4 bytes. When free, this space
- * contains a pointer to the next free block, and the bottom two bits must
- * be zero. When in use, the first byte is set to MAGIC, and the second
- * byte is the size index. The remaining bytes are for alignment.
- * If range checking is enabled then a second word holds the size of the
- * requested block, less 1, rounded up to a multiple of sizeof(RMAGIC).
- * The order of elements is critical: ov_magic must overlay the low order
- * bits of ov_next, and ov_magic can not be a valid ov_next bit pattern.
- */
-union overhead {
- union overhead *ov_next; /* when free */
- struct {
- u_char ovu_magic0; /* magic number */
- u_char ovu_index; /* bucket # */
- u_char ovu_unused; /* unused */
- u_char ovu_magic1; /* other magic number */
-#ifdef RCHECK
- u_short ovu_rmagic; /* range magic number */
- u_long ovu_size; /* actual block size */
-#endif
- } ovu;
-#define ov_magic0 ovu.ovu_magic0
-#define ov_magic1 ovu.ovu_magic1
-#define ov_index ovu.ovu_index
-#define ov_rmagic ovu.ovu_rmagic
-#define ov_size ovu.ovu_size
-#ifdef USE_CACHE_ALIGNED
- struct cachealigner {
- u_long ovalign[USE_CACHE_ALIGNED];
- } ovu_aligner;
-#endif /* USE_CACHE_ALIGN */
-};
-
-#define MAGIC 0xef /* magic # on accounting info */
-#define RMAGIC 0x5555 /* magic # on range info */
-
-#ifdef RCHECK
-#define RSLOP sizeof (u_short)
-#else
-#define RSLOP 0
-#endif
-
-#define OVERHEAD (sizeof(union overhead) + RSLOP)
-
-/*
- * nextf[i] is the pointer to the next free block of size 2^(i+3). The
- * smallest allocatable block is 8 bytes. The overhead information
- * precedes the data area returned to the user.
- */
-#define NBUCKETS 11
-#define MAXMALLOC (1<<(NBUCKETS+2))
-static union overhead *nextf[NBUCKETS];
-
-#ifdef MSTATS
-/*
- * nmalloc[i] is the difference between the number of mallocs and frees
- * for a given block size.
- */
-static u_int nmalloc[NBUCKETS+1];
-#include <stdio.h>
-#endif
-
-#if defined(DEBUG) || defined(RCHECK) || defined(DEBUG2)
-#define ASSERT(p) if (!(p)) botch(# p)
-#include <stdio.h>
-static
-botch(s)
- char *s;
-{
- fprintf(stderr, "\r\nmalloc assertion botched: %s\r\n", s);
- (void) fflush(stderr); /* just in case user buffered it */
- abort();
-}
-#else
-#define ASSERT(p)
-#endif
-
-void *
-malloc(nbytes)
- size_t nbytes;
-{
- register union overhead *op;
- register long bucket;
- register unsigned amt;
-
- /*
- ** First the simple case: we simple allocate big blocks directly
- */
- if ( nbytes + OVERHEAD >= MAXMALLOC ) {
- op = (union overhead *)NewPtr(nbytes+OVERHEAD);
- if ( op == NULL )
- return NULL;
- op->ov_magic0 = op->ov_magic1 = MAGIC;
- op->ov_index = 0xff;
-#ifdef MSTATS
- nmalloc[NBUCKETS]++;
-#endif
-#ifdef RCHECK
- /*
- * Record allocated size of block and
- * bound space with magic numbers.
- */
- op->ov_size = (nbytes + RSLOP - 1) & ~(RSLOP - 1);
- op->ov_rmagic = RMAGIC;
- *(u_short *)((caddr_t)(op + 1) + op->ov_size) = RMAGIC;
-#endif
- return (void *)(op+1);
- }
- /*
- * Convert amount of memory requested into closest block size
- * stored in hash buckets which satisfies request.
- * Account for space used per block for accounting.
- */
-#ifndef RCHECK
- amt = 8; /* size of first bucket */
- bucket = 0;
-#else
- amt = 16; /* size of first bucket */
- bucket = 1;
-#endif
- while (nbytes + OVERHEAD > amt) {
- amt <<= 1;
- if (amt == 0)
- return (NULL);
- bucket++;
- }
-#ifdef DEBUG2
- ASSERT( bucket < NBUCKETS );
-#endif
- /*
- * If nothing in hash bucket right now,
- * request more memory from the system.
- */
- if ((op = nextf[bucket]) == NULL) {
- morecore(bucket);
- if ((op = nextf[bucket]) == NULL)
- return (NULL);
- }
- /* remove from linked list */
- nextf[bucket] = op->ov_next;
- op->ov_magic0 = op->ov_magic1 = MAGIC;
- op->ov_index = bucket;
-#ifdef MSTATS
- nmalloc[bucket]++;
-#endif
-#ifdef RCHECK
- /*
- * Record allocated size of block and
- * bound space with magic numbers.
- */
- op->ov_size = (nbytes + RSLOP - 1) & ~(RSLOP - 1);
- op->ov_rmagic = RMAGIC;
- *(u_short *)((caddr_t)(op + 1) + op->ov_size) = RMAGIC;
-#endif
-#ifdef VCHECK
- memset((char *)(op+1), 0x41, nbytes);
-#endif
- return ((char *)(op + 1));
-}
-
-/*
- * Allocate more memory to the indicated bucket.
- */
-static void
-morecore(bucket)
- int bucket;
-{
- register union overhead *op;
- register long sz; /* size of desired block */
- long amt; /* amount to allocate */
- int nblks; /* how many blocks we get */
-
- /*
- * sbrk_size <= 0 only for big, FLUFFY, requests (about
- * 2^30 bytes on a VAX, I think) or for a negative arg.
- */
- sz = 1 << (bucket + 3);
-#ifdef DEBUG2
- ASSERT(sz > 0);
-#endif
- amt = MAXMALLOC;
- nblks = amt / sz;
-#ifdef DEBUG2
- ASSERT(nblks*sz == amt);
-#endif
-#ifdef USE_CACHE_ALIGNED
- op = (union overhead *)NewPtr(amt+4*USE_CACHE_ALIGNED);
-#else
- op = (union overhead *)NewPtr(amt);
-#endif
- /* no more room! */
- if (op == NULL)
- return;
-#ifdef USE_CACHE_ALIGNED
-#define ALIGN_MASK (4*USE_CACHE_ALIGNED-1)
- while ((long)op & ALIGN_MASK )
- op = (union overhead *)((long)op+1);
-#endif /* USE_CACHE_ALIGNED */
- /*
- * Add new memory allocated to that on
- * free list for this hash bucket.
- */
- nextf[bucket] = op;
- while (--nblks > 0) {
- op->ov_next = (union overhead *)((caddr_t)op + sz);
- op = (union overhead *)((caddr_t)op + sz);
- }
- op->ov_next = (union overhead *)NULL;
-}
-
-void
-free(cp)
- void *cp;
-{
- register long size;
- register union overhead *op;
-
- if (cp == NULL)
- return;
- op = (union overhead *)((caddr_t)cp - sizeof (union overhead));
-#ifdef DEBUG
- ASSERT(op->ov_magic0 == MAGIC); /* make sure it was in use */
- ASSERT(op->ov_magic1 == MAGIC);
-#else
- if (op->ov_magic0 != MAGIC || op->ov_magic1 != MAGIC)
- return; /* sanity */
-#endif
-#ifdef RCHECK
- ASSERT(op->ov_rmagic == RMAGIC);
- ASSERT(*(u_short *)((caddr_t)(op + 1) + op->ov_size) == RMAGIC);
-#endif
-#ifdef VCHECK
- memset(cp, 43, op->ov_size);
-#endif
- size = op->ov_index;
- if ( size == 0xff ) {
-#ifdef MSTATS
- nmalloc[NBUCKETS]--;
-#endif
- DisposePtr((Ptr)op);
- return;
- }
- ASSERT(size < NBUCKETS);
- op->ov_next = nextf[size]; /* also clobbers ov_magic */
- nextf[size] = op;
-#ifdef MSTATS
- nmalloc[size]--;
-#endif
-}
-
-void *
-realloc(cp, nbytes)
- void *cp;
- size_t nbytes;
-{
- int i;
- union overhead *op;
- int expensive;
- u_long maxsize;
-
- if (cp == NULL)
- return (malloc(nbytes));
- op = (union overhead *)((caddr_t)cp - sizeof (union overhead));
-#ifdef DEBUG
- ASSERT(op->ov_magic0 == MAGIC); /* make sure it was in use */
- ASSERT(op->ov_magic1 == MAGIC);
-#else
- if (op->ov_magic0 != MAGIC || op->ov_magic1 != MAGIC)
- return NULL; /* sanity */
-#endif
-#ifdef RCHECK
- ASSERT(op->ov_rmagic == RMAGIC);
- ASSERT(*(u_short *)((caddr_t)(op + 1) + op->ov_size) == RMAGIC);
-#endif
- i = op->ov_index;
- /*
- ** First the malloc/copy cases
- */
- expensive = 0;
- if ( i == 0xff ) {
- /* Big block. See if it has to stay big */
- if (nbytes+OVERHEAD > MAXMALLOC) {
- /* Yup, try to resize it first */
- SetPtrSize((Ptr)op, nbytes+OVERHEAD);
- if ( MemError() == 0 ) {
-#ifdef RCHECK
- op->ov_size = (nbytes + RSLOP - 1) & ~(RSLOP - 1);
- *(u_short *)((caddr_t)(op + 1) + op->ov_size) = RMAGIC;
-#endif
- return cp;
- }
- /* Nope, failed. Take the long way */
- }
- maxsize = GetPtrSize((Ptr)op);
- expensive = 1;
- } else {
- maxsize = 1 << (i+3);
- if ( nbytes + OVERHEAD > maxsize )
- expensive = 1;
- else if ( i > 0 && nbytes + OVERHEAD < (maxsize/2) )
- expensive = 1;
- }
- if ( expensive ) {
- void *newp;
-
- newp = malloc(nbytes);
- if ( newp == NULL ) {
- return NULL;
- }
- maxsize -= OVERHEAD;
- if ( maxsize < nbytes )
- nbytes = maxsize;
- memcpy(newp, cp, nbytes);
- free(cp);
- return newp;
- }
- /*
- ** Ok, we don't have to copy, it fits as-is
- */
-#ifdef RCHECK
- op->ov_size = (nbytes + RSLOP - 1) & ~(RSLOP - 1);
- *(u_short *)((caddr_t)(op + 1) + op->ov_size) = RMAGIC;
-#endif
- return(cp);
-}
-
-
-#ifdef MSTATS
-/*
- * mstats - print out statistics about malloc
- *
- * Prints two lines of numbers, one showing the length of the free list
- * for each size category, the second showing the number of mallocs -
- * frees for each size category.
- */
-mstats(s)
- char *s;
-{
- register int i, j;
- register union overhead *p;
- int totfree = 0,
- totused = 0;
-
- fprintf(stderr, "Memory allocation statistics %s\nfree:\t", s);
- for (i = 0; i < NBUCKETS; i++) {
- for (j = 0, p = nextf[i]; p; p = p->ov_next, j++)
- ;
- fprintf(stderr, " %d", j);
- totfree += j * (1 << (i + 3));
- }
- fprintf(stderr, "\nused:\t");
- for (i = 0; i < NBUCKETS; i++) {
- fprintf(stderr, " %d", nmalloc[i]);
- totused += nmalloc[i] * (1 << (i + 3));
- }
- fprintf(stderr, "\n\tTotal small in use: %d, total free: %d\n",
- totused, totfree);
- fprintf(stderr, "\n\tNumber of big (>%d) blocks in use: %d\n", MAXMALLOC, nmalloc[NBUCKETS]);
-}
-#endif
diff --git a/Mac/mwerks/mwerks_nscarbon.pch b/Mac/mwerks/mwerks_nscarbon.pch
deleted file mode 100644
index 7482755..0000000
--- a/Mac/mwerks/mwerks_nscarbon.pch
+++ /dev/null
@@ -1,7 +0,0 @@
-#pragma once on
-
-#pragma precompile_target "mwerks_nscarbon_pch"
-
-#include "mwerks_nscarbon_config.h"
-#include <Carbon.h>
-#include "Python.h"
diff --git a/Mac/mwerks/mwerks_nscarbon_config.h b/Mac/mwerks/mwerks_nscarbon_config.h
deleted file mode 100644
index 675f56a..0000000
--- a/Mac/mwerks/mwerks_nscarbon_config.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-** Configuration file for standalone Carbon Python.
-**
-** Note: enabling the switches below is not enough to enable the
-** specific features, you may also need different sets of sources.
-*/
-#define ACCESSOR_CALLS_ARE_FUNCTIONS 1
-#define OPAQUE_TOOLBOX_STRUCTS 1
-#define TARGET_API_MAC_CARBON 1
-
-#define USE_GUSI2 /* Stdio implemented with GUSI 2 */
-#define USE_GUSI
-#define WITH_THREAD /* Use thread support (needs GUSI 2, not GUSI 1) */
-#define USE_MSL /* Use Mw Standard Library (as opposed to Plaugher C libraries) */
-#define USE_TOOLBOX /* Include toolbox modules in core Python */
-#define USE_QT /* Include quicktime modules in core Python */
-#define USE_WASTE /* Include waste module in core Python */
-/* #define USE_IMG /* Include img modules in core Python */
-/* #define USE_MAC_SHARED_LIBRARY /* Enable code to add shared-library resources */
-/* #define USE_MAC_APPLET_SUPPORT /* Enable code to run a PYC resource */
-/* #define HAVE_DYNAMIC_LOADING /* Enable dynamically loaded modules */
-#define USE_GDBM /* Include the gdbm module */
-#define USE_ZLIB /* Include the zlib module */
-#define USE_IC /* Include Internet Config module */
-#define USE_PYEXPAT /* Include Pyexpat module */
-#define XML_NS 1
-#define XML_DTD 1
-#define BYTEORDER 4321
-#define XML_CONTEXT_BYTES 1024
-#define USE_MSL_MALLOC /* Disable private malloc. Also disables next two defines */
-#ifndef USE_MSL_MALLOC
-/* #define USE_MALLOC_DEBUG /* Enable range checking and other malloc debugging */
-#endif
-#define WITHOUT_FRAMEWORKS /* Use old-style Universal Header includes, not Carbon/Carbon.h */
-
-#ifdef USE_MSL
-#define MSL_USE_PRECOMPILED_HEADERS 0 /* Don't use precomp headers: we include our own */
-#include <ansi_prefix.mac.h>
-#endif
-/* Missing declarations. Should these go to pyport.h? */
-#ifdef USE_GUSI2
-#include <stdio.h>
-extern int fileno(FILE *);
-#endif
-#ifndef Py_DEBUG
-#define NDEBUG
-#endif
diff --git a/Mac/mwerks/mwerks_pyexpat_config.h b/Mac/mwerks/mwerks_pyexpat_config.h
deleted file mode 100644
index 4ca4b07c..0000000
--- a/Mac/mwerks/mwerks_pyexpat_config.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
-** Configuration file for dynamically loaded Carbon pyexpat module.
-*/
-#include "mwerks_shcarbon_config.h"
-
-#define XML_NS 1
-#define XML_DTD 1
-#define BYTEORDER 4321
-#define XML_CONTEXT_BYTES 1024
diff --git a/Mac/mwerks/mwerks_shcarbon.pch b/Mac/mwerks/mwerks_shcarbon.pch
deleted file mode 100644
index 8f2352b..0000000
--- a/Mac/mwerks/mwerks_shcarbon.pch
+++ /dev/null
@@ -1,7 +0,0 @@
-#pragma once on
-
-#pragma precompile_target "mwerks_shcarbon_pch"
-
-#include "mwerks_shcarbon_config.h"
-#include <Carbon.h>
-#include "Python.h"
diff --git a/Mac/mwerks/mwerks_shcarbon_config.h b/Mac/mwerks/mwerks_shcarbon_config.h
deleted file mode 100644
index d155b3b..0000000
--- a/Mac/mwerks/mwerks_shcarbon_config.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-** Configuration file for dynamically loaded Carbon PythonCore,
-** interpreter and extension modules.
-**
-** Note: enabling the switches below is not enough to enable the
-** specific features, you may also need different sets of sources.
-*/
-#define ACCESSOR_CALLS_ARE_FUNCTIONS 1
-#define OPAQUE_TOOLBOX_STRUCTS 1
-#define TARGET_API_MAC_CARBON 1
-
-#define USE_GUSI2 /* Stdio implemented with GUSI 2 */
-#define WITH_THREAD /* Use thread support (needs GUSI 2, not GUSI 1) */
-#define USE_MSL /* Use Mw Standard Library (as opposed to Plaugher C libraries) */
-/* #define USE_CORE_TOOLBOX /* Include core toolbox modules (Dlg,Ctl,Menu,Win,Res,Qd) */
-/* #define USE_TOOLBOX /* Include all toolbox modules in core Python */
-/* #define USE_QT /* Include quicktime modules in core Python */
-/* #define USE_WASTE /* Include waste module in core Python */
-/* #define USE_MACSPEECH /* Include macspeech module in core Python */
-/* #define USE_IMG /* Include img modules in core Python */
-/* #define USE_MACCTB /* Include ctb module in core Python */
-/* #define USE_STDWIN /* Include stdwin module in core Python */
-/* #define USE_MACTCP /* Include mactcp (*not* socket) modules in core */
-/* #define USE_TK /* Include _tkinter module in core Python */
-/* #define MAC_TCL /* This *must* be on if USE_TK is on */
-#define USE_MAC_SHARED_LIBRARY /* Enable code to add shared-library resources */
-#define USE_MAC_APPLET_SUPPORT /* Enable code to run a PYC resource */
-#define HAVE_DYNAMIC_LOADING /* Enable dynamically loaded modules */
-/* #define USE_GDBM /* Include the gdbm module */
-/* #define USE_ZLIB /* Include the zlib module */
-#define WITHOUT_FRAMEWORKS /* Use old-style Universal Header includes, not Carbon/Carbon.h */
-#define USE_TOOLBOX_OBJECT_GLUE /* Call toolbox object converters indirectly */
-
-#define USE_MSL_MALLOC /* Disable private malloc. Also disables next two defines */
-#ifndef USE_MSL_MALLOC
-/* #define USE_MALLOC_DEBUG /* Enable range checking and other malloc debugging */
-#endif
-
-#ifdef USE_MSL
-#define MSL_USE_PRECOMPILED_HEADERS 0 /* Don't use precomp headers: we include our own */
-#include <ansi_prefix.mac.h>
-#endif
-/* Missing declarations. Should these go to pyport.h? */
-#ifdef USE_GUSI2
-#include <stdio.h>
-extern int fileno(FILE *);
-#endif
-#ifndef Py_DEBUG
-#define NDEBUG
-#endif
diff --git a/Mac/mwerks/mwerks_smcarbon.pch b/Mac/mwerks/mwerks_smcarbon.pch
deleted file mode 100644
index 9025cee..0000000
--- a/Mac/mwerks/mwerks_smcarbon.pch
+++ /dev/null
@@ -1,7 +0,0 @@
-#pragma once on
-
-#pragma precompile_target "mwerks_smcarbon_pch"
-
-#include "mwerks_smcarbon_config.h"
-#include <Carbon.h>
-#include "Python.h"
diff --git a/Mac/mwerks/mwerks_smcarbon_config.h b/Mac/mwerks/mwerks_smcarbon_config.h
deleted file mode 100644
index 6b134bd..0000000
--- a/Mac/mwerks/mwerks_smcarbon_config.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-** Configuration file for small standalone Carbon Python.
-**
-** Note: enabling the switches below is not enough to enable the
-** specific features, you may also need different sets of sources.
-*/
-#define ACCESSOR_CALLS_ARE_FUNCTIONS 1
-#define OPAQUE_TOOLBOX_STRUCTS 1
-#define TARGET_API_MAC_CARBON 1
-
-#define USE_GUSI2 /* Stdio implemented with GUSI 2 */
-#define USE_MSL /* Use Mw Standard Library (as opposed to Plaugher C libraries) */
-#define USE_TOOLBOX /* Include toolbox modules in core Python */
-/* #define USE_CORE_TOOLBOX /* Include minimal set of toolbox modules in core Python */
-#define USE_QT /* Include quicktime modules in core Python */
-/* #define USE_WASTE /* Include waste module in core Python */
-/* #define USE_MACSPEECH /* Include macspeech module in core Python */
-/* #define USE_IMG /* Include img modules in core Python */
-/* #define USE_MACCTB /* Include ctb module in core Python */
-/* #define USE_STDWIN /* Include stdwin module in core Python */
-/* #define USE_MACTCP /* Include mactcp (*not* socket) modules in core */
-/* #define USE_TK /* Include _tkinter module in core Python */
-/* #define MAC_TCL /* This *must* be on if USE_TK is on */
-/* #define USE_MAC_SHARED_LIBRARY /* Enable code to add shared-library resources */
-/* #define USE_MAC_APPLET_SUPPORT /* Enable code to run a PYC resource */
-/* #define HAVE_DYNAMIC_LOADING /* Enable dynamically loaded modules */
-/* #define USE_GDBM /* Include the gdbm module */
-/* #define USE_ZLIB /* Include the zlib module */
-#define WITH_HOTSHOT /* Enable hotshot profiler */
-
-#define USE_MSL_MALLOC /* Disable private malloc. Also disables next two defines */
-#ifndef USE_MSL_MALLOC
-/* #define USE_MALLOC_DEBUG /* Enable range checking and other malloc debugging */
-#endif
-#define WITHOUT_FRAMEWORKS /* Use old-style Universal Header includes, not Carbon/Carbon.h */
-
-#ifdef USE_MSL
-#define MSL_USE_PRECOMPILED_HEADERS 0 /* Don't use precomp headers: we include our own */
-#include <ansi_prefix.mac.h>
-#endif
-#ifndef Py_DEBUG
-#define NDEBUG
-#endif
diff --git a/Mac/mwerks/mwerks_thrcarbonsm_config.h b/Mac/mwerks/mwerks_thrcarbonsm_config.h
deleted file mode 100644
index 958f1c6..0000000
--- a/Mac/mwerks/mwerks_thrcarbonsm_config.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-** Configuration file for small standalone 68k/ppc Python.
-**
-** Note: enabling the switches below is not enough to enable the
-** specific features, you may also need different sets of sources.
-*/
-#define ACCESSOR_CALLS_ARE_FUNCTIONS 1
-#define OPAQUE_TOOLBOX_STRUCTS 1
-#define TARGET_API_MAC_CARBON 1
-
-#define USE_GUSI2 /* Stdio implemented with GUSI 2 */
-#define WITH_THREAD /* Use thread support (needs GUSI 2, not GUSI 1) */
-#define USE_MSL /* Use Mw Standard Library (as opposed to Plaugher C libraries) */
-#define USE_TOOLBOX /* Include toolbox modules in core Python */
-/* #define USE_CORE_TOOLBOX /* Include minimal set of toolbox modules in core Python */
-#define USE_QT /* Include quicktime modules in core Python */
-/* #define USE_WASTE /* Include waste module in core Python */
-/* #define USE_MACSPEECH /* Include macspeech module in core Python */
-/* #define USE_IMG /* Include img modules in core Python */
-/* #define USE_MACCTB /* Include ctb module in core Python */
-/* #define USE_STDWIN /* Include stdwin module in core Python */
-/* #define USE_MACTCP /* Include mactcp (*not* socket) modules in core */
-/* #define USE_TK /* Include _tkinter module in core Python */
-/* #define MAC_TCL /* This *must* be on if USE_TK is on */
-/* #define USE_MAC_SHARED_LIBRARY /* Enable code to add shared-library resources */
-/* #define USE_MAC_APPLET_SUPPORT /* Enable code to run a PYC resource */
-/* #define HAVE_DYNAMIC_LOADING /* Enable dynamically loaded modules */
-/* #define USE_GDBM /* Include the gdbm module */
-/* #define USE_ZLIB /* Include the zlib module */
-#define WITHOUT_FRAMEWORKS /* Use old-style Universal Header includes, not Carbon/Carbon.h */
-
-#define USE_MSL_MALLOC /* Disable private malloc. Also disables next two defines */
-#ifndef USE_MSL_MALLOC
-/* #define USE_MALLOC_DEBUG /* Enable range checking and other malloc debugging */
-#endif
-
-#ifdef USE_MSL
-#define MSL_USE_PRECOMPILED_HEADERS 0 /* Don't use precomp headers: we include our own */
-#include <ansi_prefix.mac.h>
-#endif
-#ifndef Py_DEBUG
-#define NDEBUG
-#endif
diff --git a/Mac/mwerks/mwerks_threadsmall_config.h b/Mac/mwerks/mwerks_threadsmall_config.h
deleted file mode 100644
index 302a36a..0000000
--- a/Mac/mwerks/mwerks_threadsmall_config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-** Configuration file for small standalone 68k/ppc Python.
-**
-** Note: enabling the switches below is not enough to enable the
-** specific features, you may also need different sets of sources.
-*/
-
-#define USE_GUSI2 /* Stdio implemented with GUSI 2 */
-#define WITH_THREAD /* Use thread support */
-#define USE_MSL /* Use Mw Standard Library (as opposed to Plaugher C libraries) */
-#define USE_TOOLBOX /* Include toolbox modules in core Python */
-#define USE_QT /* Include quicktime modules in core Python */
-/* #define USE_WASTE /* Include waste module in core Python */
-#define USE_MACSPEECH /* Include macspeech module in core Python */
-/* #define USE_IMG /* Include img modules in core Python */
-#define USE_MACCTB /* Include ctb module in core Python */
-/* #define USE_STDWIN /* Include stdwin module in core Python */
-/* #define USE_MACTCP /* Include mactcp (*not* socket) modules in core */
-/* #define USE_TK /* Include _tkinter module in core Python */
-/* #define MAC_TCL /* This *must* be on if USE_TK is on */
-/* #define USE_MAC_SHARED_LIBRARY /* Enable code to add shared-library resources */
-/* #define USE_MAC_APPLET_SUPPORT /* Enable code to run a PYC resource */
-/* #define HAVE_DYNAMIC_LOADING /* Enable dynamically loaded modules */
-/* #define USE_GDBM /* Include the gdbm module */
-/* #define USE_ZLIB /* Include the zlib module */
-#define WITHOUT_FRAMEWORKS /* Use old-style Universal Header includes, not Carbon/Carbon.h */
-
-#define USE_MSL_MALLOC /* Disable private malloc. Also disables next two defines */
-#ifndef USE_MSL_MALLOC
-/* #define USE_MALLOC_DEBUG /* Enable range checking and other malloc debugging */
-#endif
-
-#ifdef USE_MSL
-#define MSL_USE_PRECOMPILED_HEADERS 0 /* Don't use precomp headers: we include our own */
-#include <ansi_prefix.mac.h>
-#endif
-#ifndef Py_DEBUG
-#define NDEBUG
-#endif
diff --git a/Mac/mwerks/mwerks_tkplugin_config.h b/Mac/mwerks/mwerks_tkplugin_config.h
deleted file mode 100644
index f3b4e09..0000000
--- a/Mac/mwerks/mwerks_tkplugin_config.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
-** Special config-file for _tkinter plugin.
-*/
-
-#define USE_GUSI2 /* Stdio implemented with GUSI 2 */
-/* #define USE_GUSI1 /* Stdio implemented with GUSI 1.X */
-#if defined(USE_GUSI2)
-#define USE_GUSI
-#endif
-#define WITH_THREAD /* Use thread support (needs GUSI 2, not GUSI 1) */
-#define USE_TK /* Include _tkinter module in core Python */
-#define MAC_TCL /* This *must* be on if USE_TK is on */
-#define WITHOUT_FRAMEWORKS /* Use old-style Universal Header includes, not Carbon/Carbon.h */
-#ifndef Py_DEBUG
-#define NDEBUG
-#endif
diff --git a/Mac/mwerks/mwfopenrf.c b/Mac/mwerks/mwfopenrf.c
deleted file mode 100644
index 31eca1b..0000000
--- a/Mac/mwerks/mwfopenrf.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/***********************************************************
-Copyright 1991-1997 by Stichting Mathematisch Centrum, Amsterdam,
-The Netherlands.
-
- All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the names of Stichting Mathematisch
-Centrum or CWI or Corporation for National Research Initiatives or
-CNRI not be used in advertising or publicity pertaining to
-distribution of the software without specific, written prior
-permission.
-
-While CWI is the initial source for this software, a modified version
-is made available by the Corporation for National Research Initiatives
-(CNRI) at the Internet address ftp://ftp.python.org.
-
-STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH
-REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH
-CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
-DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
-PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
-TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-PERFORMANCE OF THIS SOFTWARE.
-
-******************************************************************/
-
-/*
-** mwfopenrf - Open resource fork as stdio file for CodeWarrior.
-*/
-
-#if defined(__MWERKS__) && !defined(USE_GUSI)
-#include <stdio.h>
-#include <unix.h>
-#include <errno.h>
-#include "errno_unix.h"
-
-FILE *
-fopenRF(name, mode)
- char *name;
- char *mode;
-{
- int fd;
- int modebits = -1;
- int extramodebits = 0;
- char *modep;
-
- for(modep=mode; *modep; modep++) {
- switch(*modep) {
- case 'r': modebits = O_RDONLY; break;
- case 'w': modebits = O_WRONLY; extramodebits |= O_CREAT|O_TRUNC; break;
- case 'a': modebits = O_RDONLY;
- extramodebits |= O_CREAT|O_APPEND;
- extramodebits &= ~O_TRUNC;
- break;
- case '+': modebits = O_RDWR;
- extramodebits &= ~O_TRUNC;
- break;
- case 'b': extramodebits |= O_BINARY;
- break;
- default:
- errno = EINVAL;
- return NULL;
- }
- }
- if ( modebits == -1 ) {
- errno = EINVAL;
- return NULL;
- }
- fd = open(name, modebits|extramodebits|O_RSRC);
- if ( fd < 0 )
- return NULL;
- return fdopen(fd, mode);
-}
-#endif /* __MWERKS__ */