mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-04-27 16:51:06 -07:00
Update urls (mostly http -> https).
Copied from Perforce Change: 195858
This commit is contained in:
parent
0b324c158b
commit
fd8eba1528
45 changed files with 189 additions and 186 deletions
|
|
@ -1,6 +1,6 @@
|
|||
/* clock.h -- Fast clocks and timers
|
||||
*
|
||||
* Copyright (c) 2001-2016 Ravenbrook Limited. See end of file for license.
|
||||
* Copyright (c) 2001-2018 Ravenbrook Limited. See end of file for license.
|
||||
* $Id$
|
||||
*
|
||||
* .design: <design/clock>.
|
||||
|
|
@ -19,7 +19,8 @@
|
|||
*/
|
||||
|
||||
/* Microsoft C provides an intrinsic for the Intel rdtsc instruction.
|
||||
<http://msdn.microsoft.com/en-US/library/twchhe95%28v=vs.100%29.aspx> */
|
||||
* <https://docs.microsoft.com/en-us/cpp/intrinsics/rdtsc>
|
||||
*/
|
||||
#if (defined(MPS_ARCH_I3) || defined(MPS_ARCH_I6)) && defined(MPS_BUILD_MV)
|
||||
|
||||
typedef unsigned __int64 EventClock;
|
||||
|
|
@ -113,8 +114,9 @@ __extension__ typedef unsigned long long EventClock;
|
|||
((lvalue) = ((EventClock)(high) << 32) + ((EventClock)(low) & (0xfffffffful)))
|
||||
|
||||
/* Clang provides a cross-platform builtin for a fast timer, but it
|
||||
was not available on Mac OS X 10.8 until the release of XCode 4.6.
|
||||
<http://clang.llvm.org/docs/LanguageExtensions.html#builtins> */
|
||||
* was not available on Mac OS X 10.8 until the release of XCode 4.6.
|
||||
* <https://clang.llvm.org/docs/LanguageExtensions.html#builtins>
|
||||
*/
|
||||
#if defined(MPS_BUILD_LL)
|
||||
|
||||
#if __has_builtin(__builtin_readcyclecounter)
|
||||
|
|
@ -178,7 +180,7 @@ typedef mps_clock_t EventClock;
|
|||
|
||||
/* C. COPYRIGHT AND LICENSE
|
||||
*
|
||||
* Copyright (C) 2001-2016 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
* Copyright (C) 2001-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
* All rights reserved. This is an open source license. Contact
|
||||
* Ravenbrook for commercial licensing options.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -238,7 +238,7 @@
|
|||
#ifdef MPS_BUILD_PC
|
||||
|
||||
/* Pelles C loses definition of __FILE__ in deeply nested macro
|
||||
* expansions. See <http://forum.pellesc.de/index.php?topic=5474.0>
|
||||
* expansions. See <https://forum.pellesc.de/index.php?topic=5474.0>
|
||||
*/
|
||||
#define MPS_FILE "<__FILE__ unavailable in " MPS_PF_STRING ">"
|
||||
|
||||
|
|
@ -255,8 +255,8 @@
|
|||
/* Attribute for functions that take a printf-like format argument, so
|
||||
* that the compiler can check the format specifiers against the types
|
||||
* of the arguments.
|
||||
* GCC: <http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html#index-Wformat-2850>
|
||||
* Clang: <http://clang.llvm.org/docs/AttributeReference.html#format-gnu-format>
|
||||
* GCC: <https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-format-function-attribute>
|
||||
* Clang: <https://clang.llvm.org/docs/AttributeReference.html#format-gnu-format>
|
||||
*/
|
||||
#if defined(MPS_BUILD_GC) || defined(MPS_BUILD_LL)
|
||||
#define ATTRIBUTE_FORMAT(ARGLIST) __attribute__((__format__ ARGLIST))
|
||||
|
|
@ -266,7 +266,7 @@
|
|||
|
||||
/* Attribute for functions that should not be instrumented by Clang's
|
||||
* address sanitizer.
|
||||
* <http://clang.llvm.org/docs/AddressSanitizer.html#attribute-no-sanitize-address>
|
||||
* <https://clang.llvm.org/docs/AddressSanitizer.html#attribute-no-sanitize-address>
|
||||
*/
|
||||
#if defined(MPS_BUILD_LL)
|
||||
#if __has_feature(address_sanitizer)
|
||||
|
|
@ -279,7 +279,7 @@
|
|||
#endif
|
||||
|
||||
/* Attribute for functions that must not be inlined.
|
||||
* GCC: <http://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html>
|
||||
* GCC: <https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-noinline-function-attribute>
|
||||
* MSVC: <https://docs.microsoft.com/en-us/cpp/cpp/noinline>
|
||||
*/
|
||||
#if defined(MPS_BUILD_GC) || defined(MPS_BUILD_LL)
|
||||
|
|
@ -291,8 +291,8 @@
|
|||
#endif
|
||||
|
||||
/* Attribute for functions that do not return.
|
||||
* GCC: <http://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html>
|
||||
* Clang: <http://clang.llvm.org/docs/AttributeReference.html#id1>
|
||||
* GCC: <https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-noreturn-function-attribute>
|
||||
* Clang: <https://clang.llvm.org/docs/AttributeReference.html#id1>
|
||||
*/
|
||||
#if defined(MPS_BUILD_GC) || defined(MPS_BUILD_LL)
|
||||
#define ATTRIBUTE_NORETURN __attribute__((__noreturn__))
|
||||
|
|
@ -301,7 +301,7 @@
|
|||
#endif
|
||||
|
||||
/* Attribute for functions that may be unused in some build configurations.
|
||||
* GCC: <http://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html>
|
||||
* GCC: <https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-unused-function-attribute>
|
||||
*
|
||||
* This attribute must be applied to all Check functions, otherwise
|
||||
* the RASH variety fails to compile with -Wunused-function. (It
|
||||
|
|
@ -528,7 +528,7 @@
|
|||
* must turn on the same set of features.
|
||||
*
|
||||
* See "Feature Test Macros" in the Glibc Manual:
|
||||
* <http://www.gnu.org/software/libc/manual/html_node/Feature-Test-Macros.html>
|
||||
* <https://www.gnu.org/software/libc/manual/html_node/Feature-Test-Macros.html>
|
||||
*/
|
||||
|
||||
#if defined(MPS_OS_LI)
|
||||
|
|
@ -713,7 +713,7 @@
|
|||
|
||||
/* C. COPYRIGHT AND LICENSE
|
||||
*
|
||||
* Copyright (C) 2001-2018 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
* Copyright (C) 2001-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
* All rights reserved. This is an open source license. Contact
|
||||
* Ravenbrook for commercial licensing options.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
/* mpsliban.c: RAVENBROOK MEMORY POOL SYSTEM LIBRARY INTERFACE (ANSI)
|
||||
*
|
||||
* $Id$
|
||||
* Copyright (c) 2001-2017 Ravenbrook Limited. See end of file for license.
|
||||
* Copyright (c) 2001-2018 Ravenbrook Limited. See end of file for license.
|
||||
* Portions copyright (c) 2002 Global Graphics Software.
|
||||
*
|
||||
* .purpose: The purpose of this code is
|
||||
|
|
@ -70,7 +70,7 @@ static void mps_lib_assert_fail_default(const char *file, unsigned line,
|
|||
"The MPS detected a problem!\n"
|
||||
"%s:%u: MPS ASSERTION FAILED: %s\n"
|
||||
"See the \"Assertions\" section in the reference manual:\n"
|
||||
"http://www.ravenbrook.com/project/mps/master/manual/html/topic/error.html#assertions\n",
|
||||
"https://www.ravenbrook.com/project/mps/master/manual/html/topic/error.html#assertions\n",
|
||||
file, line, condition);
|
||||
/* Ensure the message is output even if stderr is buffered. */
|
||||
(void)fflush(stderr);
|
||||
|
|
@ -206,7 +206,7 @@ unsigned long mps_lib_telemetry_control(void)
|
|||
|
||||
/* C. COPYRIGHT AND LICENSE
|
||||
*
|
||||
* Copyright (C) 2001-2017 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
* Copyright (C) 2001-2018 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
* All rights reserved. This is an open source license. Contact
|
||||
* Ravenbrook for commercial licensing options.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
/* mpstd.h: RAVENBROOK MEMORY POOL SYSTEM TARGET DETECTION
|
||||
*
|
||||
* $Id$
|
||||
* Copyright (c) 2001-2013 Ravenbrook Limited. See end of file for license.
|
||||
* Copyright (c) 2001-2018 Ravenbrook Limited. See end of file for license.
|
||||
* Portions copyright (C) 2001 Global Graphics Software.
|
||||
*
|
||||
* Detect the target platform using predefined preprocessor symbols
|
||||
|
|
@ -53,12 +53,12 @@
|
|||
|
||||
|
||||
/* "Predefined Macros" from "Visual Studio 2010" on MSDN
|
||||
* <http://msdn.microsoft.com/en-us/library/b0084kay(v=vs.100).aspx>.
|
||||
* <https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/b0084kay(v=vs.100)>.
|
||||
* Note that Win32 includes 64-bit Windows!
|
||||
* We use the same alignment as MS malloc: 16, which is used for XMM
|
||||
* operations.
|
||||
* See MSDN -> x64 Software Conventions -> Overview of x64 Calling Conventions
|
||||
* <http://msdn.microsoft.com/en-us/library/ms235286>
|
||||
* <https://docs.microsoft.com/en-gb/cpp/build/overview-of-x64-calling-conventions>
|
||||
*/
|
||||
|
||||
#elif defined(_MSC_VER) && defined(_WIN32) && defined(_WIN64) && defined(_M_X64) && !defined(__POCC__)
|
||||
|
|
@ -345,7 +345,7 @@
|
|||
|
||||
/* C. COPYRIGHT AND LICENSE
|
||||
*
|
||||
* Copyright (C) 2001-2013 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
* Copyright (C) 2001-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
* All rights reserved. This is an open source license. Contact
|
||||
* Ravenbrook for commercial licensing options.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
/* mpswin.h: RAVENBROOK MEMORY POOL SYSTEM WINDOWS.H INTERFACE
|
||||
*
|
||||
* $Id$
|
||||
* Copyright (c) 2001-2014 Ravenbrook Limited. See end of file for license.
|
||||
* Copyright (c) 2001-2018 Ravenbrook Limited. See end of file for license.
|
||||
*
|
||||
* .readership: For MPS client application developers, MPS developers.
|
||||
*
|
||||
|
|
@ -13,7 +13,9 @@
|
|||
|
||||
#ifndef WIN32_LEAN_AND_MEAN
|
||||
/* Speed up the build process by excluding parts of windows.h that we
|
||||
* don't use. See <http://support.microsoft.com/kb/166474> */
|
||||
* don't use. See
|
||||
* <https://docs.microsoft.com/en-us/windows/desktop/winprog/using-the-windows-headers#faster-builds-with-smaller-header-files>
|
||||
*/
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
#undef WIN32_LEAN_AND_MEAN
|
||||
|
|
@ -26,7 +28,7 @@
|
|||
|
||||
/* C. COPYRIGHT AND LICENSE
|
||||
*
|
||||
* Copyright (C) 2001-2014 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
* Copyright (C) 2001-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
* All rights reserved. This is an open source license. Contact
|
||||
* Ravenbrook for commercial licensing options.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
/* prmci6.c: MUTATOR CONTEXT (x64)
|
||||
*
|
||||
* $Id$
|
||||
* Copyright (c) 2001-2016 Ravenbrook Limited. See end of file for license.
|
||||
* Copyright (c) 2001-2018 Ravenbrook Limited. See end of file for license.
|
||||
*
|
||||
* .design: See <design/prmc> for the generic design of the interface
|
||||
* which is implemented in this module, including the contracts for the
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
*
|
||||
* .source.amd64: AMD64 Architecture Programmer’s Manual Volume 3:
|
||||
* General-Purpose and System Instructions
|
||||
* <http://support.amd.com/us/Processor_TechDocs/24594_APM_v3.pdf>
|
||||
* <https://www.amd.com/system/files/TechDocs/24594.pdf>
|
||||
*
|
||||
*
|
||||
* ASSUMPTIONS
|
||||
|
|
@ -91,7 +91,7 @@ Res MutatorContextStepInstruction(MutatorContext context)
|
|||
|
||||
/* C. COPYRIGHT AND LICENSE
|
||||
*
|
||||
* Copyright (C) 2001-2016 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
* Copyright (C) 2001-2018 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
* All rights reserved. This is an open source license. Contact
|
||||
* Ravenbrook for commercial licensing options.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -9,9 +9,8 @@
|
|||
*
|
||||
* SOURCES
|
||||
*
|
||||
* [SUSV2MPROTECT] Single UNIX Specification, Version 2, mprotect man
|
||||
* page:
|
||||
* http://opengroup.org/onlinepubs/007908799/xsh/mprotect.html
|
||||
* [SUSV2MPROTECT] Single UNIX Specification, Version 2, mprotect
|
||||
* <https://pubs.opengroup.org/onlinepubs/007908799/xsh/mprotect.html>
|
||||
*
|
||||
* ASSUMPTIONS
|
||||
*
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ LONG WINAPI ProtSEHfilter(LPEXCEPTION_POINTERS info)
|
|||
mode = AccessREAD | AccessWRITE;
|
||||
break;
|
||||
default:
|
||||
/* <http://msdn.microsoft.com/en-us/library/aa363082%28VS.85%29.aspx> */
|
||||
/* <https://docs.microsoft.com/en-gb/windows/desktop/api/winnt/ns-winnt-_exception_record> */
|
||||
NOTREACHED;
|
||||
mode = AccessREAD | AccessWRITE;
|
||||
break;
|
||||
|
|
@ -107,7 +107,7 @@ void ProtSetup(void)
|
|||
{
|
||||
void *handler;
|
||||
/* See "AddVectoredExceptionHandler function (Windows)"
|
||||
<http://msdn.microsoft.com/en-us/library/windows/desktop/ms679274%28v=vs.85%29.aspx> */
|
||||
<https://msdn.microsoft.com/en-us/library/windows/desktop/ms679274%28v=vs.85%29.aspx> */
|
||||
/* ProtSetup is called only once per process, not once per arena, so
|
||||
this exception handler is only installed once. */
|
||||
handler = AddVectoredExceptionHandler(1uL, ProtSEHfilter);
|
||||
|
|
@ -138,7 +138,7 @@ void ProtSync(Arena arena)
|
|||
|
||||
/* C. COPYRIGHT AND LICENSE
|
||||
*
|
||||
* Copyright (C) 2001-2018 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
* Copyright (C) 2001-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
* All rights reserved. This is an open source license. Contact
|
||||
* Ravenbrook for commercial licensing options.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -29,19 +29,19 @@
|
|||
* REFERENCES
|
||||
*
|
||||
* [Fuller_2013] "Mach Exception Handlers"; Landon Fuller;
|
||||
* <http://www.mikeash.com/pyblog/friday-qa-2013-01-11-mach-exception-handlers.html>.
|
||||
* <https://www.mikeash.com/pyblog/friday-qa-2013-01-11-mach-exception-handlers.html>.
|
||||
*
|
||||
* [XNU] "xnu-2050.22.13" source code;
|
||||
* Apple Computer;
|
||||
* <http://www.opensource.apple.com/source/xnu/xnu-2050.22.13/>.
|
||||
* <https://opensource.apple.com/source/xnu/xnu-2050.22.13/>.
|
||||
*
|
||||
* [Mach_man] Mach man pages within XNU;
|
||||
* Apple Computer;
|
||||
* <http://www.opensource.apple.com/source/xnu/xnu-2050.22.13/osfmk/man/>.
|
||||
* <https://opensource.apple.com/source/xnu/xnu-2050.22.13/osfmk/man/>.
|
||||
*
|
||||
* [Libc] "Libc-825.26" source code;
|
||||
* Apple Computer;
|
||||
* <http://www.opensource.apple.com/source/Libc/Libc-825.26/>.
|
||||
* <https://opensource.apple.com/source/Libc/Libc-825.26/>.
|
||||
*
|
||||
*
|
||||
* TRANSGRESSIONS
|
||||
|
|
@ -179,7 +179,7 @@ static void protMustSend(mach_msg_header_t *head)
|
|||
*
|
||||
* macOS provides a function exc_server (in
|
||||
* /usr/lib/system/libsystem_kernel.dylib) that's documented in the XNU
|
||||
* sources <http://www.opensource.apple.com/source/xnu/xnu-2050.22.13/osfmk/man/exc_server.html>
|
||||
* sources <https://opensource.apple.com/source/xnu/xnu-4570.41.2/osfmk/man/exc_server.html.auto.html>
|
||||
* and generated by the Mach Interface Generator (mig). It unpacks
|
||||
* an exception message structure and calls one of several handler functions.
|
||||
* We can't use it because:
|
||||
|
|
@ -369,7 +369,7 @@ static void protExcThreadStart(void)
|
|||
/* Launch the exception handling thread. We use pthread_create
|
||||
* because it's much simpler than setting up a thread from scratch
|
||||
* using Mach, and that's basically what it does. See [Libc]
|
||||
* <http://www.opensource.apple.com/source/Libc/Libc-825.26/pthreads/pthread.c> */
|
||||
* <https://opensource.apple.com/source/Libc/Libc-825.26/pthreads/pthread.c> */
|
||||
pr = pthread_create(&excThread, NULL, protCatchThread, NULL);
|
||||
AVER(pr == 0);
|
||||
if (pr != 0)
|
||||
|
|
@ -415,7 +415,7 @@ void ProtSetup(void)
|
|||
|
||||
/* C. COPYRIGHT AND LICENSE
|
||||
*
|
||||
* Copyright (C) 2013-2018 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
* Copyright (C) 2013-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
* All rights reserved. This is an open source license. Contact
|
||||
* Ravenbrook for commercial licensing options.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
* words available. It achieves this by exploiting an obscure but
|
||||
* documented feature of Microsoft's function _alloca: "A stack
|
||||
* overflow exception is generated if the space cannot be allocated."
|
||||
* _alloca: http://msdn.microsoft.com/en-us/library/wb1s57t5.aspx
|
||||
* <https://docs.microsoft.com/en-gb/cpp/c-runtime-library/reference/alloca>
|
||||
*/
|
||||
|
||||
#include "mpm.h"
|
||||
|
|
@ -27,7 +27,7 @@ void StackProbe(Size depth)
|
|||
|
||||
/* C. COPYRIGHT AND LICENSE
|
||||
*
|
||||
* Copyright (C) 2013-2018 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
* Copyright (C) 2013-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
* All rights reserved. This is an open source license. Contact
|
||||
* Ravenbrook for commercial licensing options.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
/* ss.h: STACK SCANNING
|
||||
*
|
||||
* $Id$
|
||||
* Copyright (c) 2001 Ravenbrook Limited. See end of file for license.
|
||||
* Copyright (c) 2001-2018 Ravenbrook Limited. See end of file for license.
|
||||
*
|
||||
* This module saves the mutator context on entry to the MPS, and
|
||||
* provides functions for decoding the context and scanning the root
|
||||
|
|
@ -63,7 +63,7 @@ void StackHot(void **stackOut);
|
|||
|
||||
/* We call _setjmp rather than setjmp because we can be confident what
|
||||
* it does via the source code at
|
||||
* <http://www.opensource.apple.com/source/Libc/Libc-825.24/i386/sys/_setjmp.s>,
|
||||
* <https://opensource.apple.com/source/Libc/Libc-825.24/i386/sys/_setjmp.s>,
|
||||
* and because _setjmp saves only the register set and the stack while
|
||||
* setjmp also saves the signal mask, which we don't care about. See
|
||||
* _setjmp(2). */
|
||||
|
|
@ -92,7 +92,7 @@ extern Res StackScan(ScanState ss, void *stackCold,
|
|||
|
||||
/* C. COPYRIGHT AND LICENSE
|
||||
*
|
||||
* Copyright (C) 2001-2002 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
* Copyright (C) 2001-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
* All rights reserved. This is an open source license. Contact
|
||||
* Ravenbrook for commercial licensing options.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
/* testlib.h: TEST LIBRARY INTERFACE
|
||||
*
|
||||
* $Id$
|
||||
* Copyright (c) 2001-2014 Ravenbrook Limited. See end of file for license.
|
||||
* Copyright (c) 2001-2018 Ravenbrook Limited. See end of file for license.
|
||||
* Portions copyright (C) 2002 Global Graphics Software.
|
||||
*
|
||||
* .purpose: A library of functions that may be of use to unit tests.
|
||||
|
|
@ -42,8 +42,8 @@
|
|||
|
||||
#if defined(MPS_BUILD_GC) || defined(MPS_BUILD_LL)
|
||||
|
||||
/* GCC: <http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html#index-Wformat-2850>
|
||||
* Clang: <http://clang.llvm.org/docs/AttributeReference.html#format-gnu-format>
|
||||
/* GCC: <https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-format-function-attribute>
|
||||
* Clang: <https://clang.llvm.org/docs/AttributeReference.html#format-gnu-format>
|
||||
*/
|
||||
#define ATTRIBUTE_FORMAT(ARGLIST) __attribute__((__format__ ARGLIST))
|
||||
|
||||
|
|
@ -57,7 +57,7 @@
|
|||
/* alloca -- memory allocator
|
||||
*
|
||||
* Windows calls this function _alloca() instead of alloca().
|
||||
* <http://msdn.microsoft.com/en-us/library/wb1s57t5.aspx>
|
||||
* <https://docs.microsoft.com/en-gb/cpp/c-runtime-library/reference/alloca>
|
||||
*/
|
||||
|
||||
#if defined(MPS_OS_W3)
|
||||
|
|
@ -70,7 +70,7 @@
|
|||
/* setenv -- set environment variable
|
||||
*
|
||||
* Windows lacks setenv(), but _putenv_s() has similar functionality.
|
||||
* <http://msdn.microsoft.com/en-us/library/eyw7eyfw.aspx>
|
||||
* <https://docs.microsoft.com/en-gb/cpp/c-runtime-library/reference/putenv-s-wputenv-s>
|
||||
*
|
||||
* This macro version may evaluate the name argument twice.
|
||||
*/
|
||||
|
|
@ -286,7 +286,7 @@ extern void testlib_init(int argc, char *argv[]);
|
|||
|
||||
/* C. COPYRIGHT AND LICENSE
|
||||
*
|
||||
* Copyright (C) 2001-2014 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
* Copyright (C) 2001-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
* All rights reserved. This is an open source license. Contact
|
||||
* Ravenbrook for commercial licensing options.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
/* testthr.h: MULTI-THREADED TEST INTERFACE
|
||||
*
|
||||
* $Id$
|
||||
* Copyright (c) 2014-2016 Ravenbrook Limited. See end of file for license.
|
||||
* Copyright (c) 2014-2018 Ravenbrook Limited. See end of file for license.
|
||||
*
|
||||
* .purpose: Simple interface to threads that makes it possible to
|
||||
* write test cases that are portable between Windows (using the
|
||||
|
|
@ -34,7 +34,7 @@ typedef void *(*testthr_routine_t)(void *);
|
|||
#include "mpswin.h"
|
||||
|
||||
/* On Windows, a thread is identified by a HANDLE.
|
||||
* <http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx>
|
||||
* <https://docs.microsoft.com/en-gb/windows/desktop/WinProg/windows-data-types>
|
||||
* But use a structure so that the thread has somewhere to store its
|
||||
* result for use by testthr_join.
|
||||
*/
|
||||
|
|
@ -83,7 +83,7 @@ void testthr_join(testthr_t *thread, void **result_o);
|
|||
|
||||
/* C. COPYRIGHT AND LICENSE
|
||||
*
|
||||
* Copyright (C) 2014-2016 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
* Copyright (C) 2014-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
* All rights reserved. This is an open source license. Contact
|
||||
* Ravenbrook for commercial licensing options.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
*
|
||||
* [Mach_man] Mach man pages within XNU;
|
||||
* Apple Computer;
|
||||
* <http://www.opensource.apple.com/source/xnu/xnu-2050.22.13/osfmk/man/>.
|
||||
* <https://opensource.apple.com/source/xnu/xnu-2050.22.13/osfmk/man/>.
|
||||
*/
|
||||
|
||||
#include "mpm.h"
|
||||
|
|
@ -397,7 +397,7 @@ void ThreadSetup(void)
|
|||
|
||||
/* C. COPYRIGHT AND LICENSE
|
||||
*
|
||||
* Copyright (C) 2001-2018 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
* Copyright (C) 2001-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
* All rights reserved. This is an open source license. Contact
|
||||
* Ravenbrook for commercial licensing options.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
/* zcoll.c: Collection test
|
||||
*
|
||||
* $Id$
|
||||
* Copyright (c) 2008-2014 Ravenbrook Limited. See end of file for license.
|
||||
* Copyright (c) 2008-2018 Ravenbrook Limited. See end of file for license.
|
||||
* Portions copyright (C) 2002 Global Graphics Software.
|
||||
*
|
||||
* OBJECTIVE
|
||||
|
|
@ -548,8 +548,8 @@ static void stackwipe(void)
|
|||
/* Do some pointless work that the compiler won't optimise away, so that
|
||||
this function wipes over the stack by filling stuff into the "aw"
|
||||
array. */
|
||||
|
||||
/* http://xkcd.com/710/ */
|
||||
|
||||
/* https://xkcd.com/710/ */
|
||||
/* I don't want my friends to stop calling; I just want the */
|
||||
/* compiler to stop optimising away my code. */
|
||||
|
||||
|
|
@ -932,7 +932,7 @@ int main(int argc, char *argv[])
|
|||
|
||||
/* C. COPYRIGHT AND LICENSE
|
||||
*
|
||||
* Copyright (c) 2008-2014 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
* Copyright (c) 2008-2018 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
* All rights reserved. This is an open source license. Contact
|
||||
* Ravenbrook for commercial licensing options.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ Introduction
|
|||
------------
|
||||
|
||||
_`.intro`: This document describes how the `Memory Pool System
|
||||
<http://www.ravenbrook.com/project/mps/>`_ source code is configured so
|
||||
<https://www.ravenbrook.com/project/mps/>`_ source code is configured so
|
||||
that it can target different architectures, operating systems, build
|
||||
environments, varieties, and products.
|
||||
|
||||
|
|
@ -115,7 +115,7 @@ requiring a separate build of the MPS or linking a library. This is
|
|||
described `section 2.3.1, "Compiling for production" of the MPS manual
|
||||
<../manual/html/guide/build.html#compiling-for-production>`_.
|
||||
|
||||
.. _`version 1.110`: http://www.ravenbrook.com/project/mps/version/1.110/
|
||||
.. _`version 1.110`: https://www.ravenbrook.com/project/mps/version/1.110/
|
||||
|
||||
_`.no-gen`: No generated code or external tools are required. On most
|
||||
platforms the only tool is the C compiler. On 64-bit Windows we require
|
||||
|
|
@ -577,7 +577,7 @@ References
|
|||
|
||||
.. [RB_2012-09-07] "The critical path through the MPS"; Richard Brooksby;
|
||||
Ravenbrook Limited; 2012-09-07;
|
||||
<http://www.ravenbrook.com/project/mps/master/design/critical-path>.
|
||||
<https://www.ravenbrook.com/project/mps/master/design/critical-path>.
|
||||
|
||||
.. [RB_2012-09-13] "The Configura CET custom mainline"; Richard
|
||||
Brooksby; Ravenbrook Limited; 2013-09-13;
|
||||
|
|
@ -611,15 +611,15 @@ Document History
|
|||
|
||||
- 2013-06-06 GDR_ Removed reference to obsolete DIAG variety.
|
||||
|
||||
.. _RB: http://www.ravenbrook.com/consultants/rb/
|
||||
.. _NB: http://www.ravenbrook.com/consultants/nb/
|
||||
.. _GDR: http://www.ravenbrook.com/consultants/gdr/
|
||||
.. _RB: https://www.ravenbrook.com/consultants/rb/
|
||||
.. _NB: https://www.ravenbrook.com/consultants/nb/
|
||||
.. _GDR: https://www.ravenbrook.com/consultants/gdr/
|
||||
|
||||
|
||||
Copyright and License
|
||||
---------------------
|
||||
|
||||
Copyright © 2013-2018 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
Copyright © 2013-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
All rights reserved. This is an open source license. Contact
|
||||
Ravenbrook for commercial licensing options.
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ The critical path through the MPS
|
|||
Introduction
|
||||
------------
|
||||
The critical path is a key concept in the design of the `Memory Pool
|
||||
System <http://www.ravenbrook.com/project/mps/>`_. Code on the critical
|
||||
System <https://www.ravenbrook.com/project/mps/>`_. Code on the critical
|
||||
path is usually executed more than any other code in the process. A
|
||||
change of just one instruction on the critical path can make as much as
|
||||
a 1% difference in overall run-time. A lot of the design of the MPS is
|
||||
|
|
@ -348,15 +348,15 @@ And we write long documents about it.
|
|||
|
||||
References
|
||||
----------
|
||||
.. [MMRef] "The Memory Management Reference"; <http://www.memorymanagement.org/>.
|
||||
.. _scanning: http://www.memorymanagement.org/glossary/s.html#scan
|
||||
.. _marking: http://www.memorymanagement.org/glossary/m.html#marking
|
||||
.. _copying: http://www.memorymanagement.org/glossary/c.html#copying.garbage.collection
|
||||
.. _condemns: http://www.memorymanagement.org/glossary/c.html#condemned.set
|
||||
.. _BIBOP: http://www.memorymanagement.org/glossary/b.html#bibop
|
||||
.. _remembered set: http://www.memorymanagement.org/glossary/r.html#remembered.set
|
||||
.. _reference tag: http://www.memorymanagement.org/glossary/t.html#tag
|
||||
.. _Open Dylan: http://opendylan.org/
|
||||
.. [MMRef] "The Memory Management Reference"; <https://www.memorymanagement.org/>.
|
||||
.. _scanning: https://www.memorymanagement.org/glossary/s.html#scan
|
||||
.. _marking: https://www.memorymanagement.org/glossary/m.html#marking
|
||||
.. _copying: https://www.memorymanagement.org/glossary/c.html#copying.garbage.collection
|
||||
.. _condemns: https://www.memorymanagement.org/glossary/c.html#condemned.set
|
||||
.. _BIBOP: https://www.memorymanagement.org/glossary/b.html#bibop
|
||||
.. _remembered set: https://www.memorymanagement.org/glossary/r.html#remembered.set
|
||||
.. _reference tag: https://www.memorymanagement.org/glossary/t.html#tag
|
||||
.. _Open Dylan: https://opendylan.org/
|
||||
|
||||
|
||||
Document History
|
||||
|
|
@ -364,14 +364,14 @@ Document History
|
|||
- 2012-09-07 RB_ First draft.
|
||||
- 2013-05-10 RB_ Converted to reStructuredText.
|
||||
|
||||
.. _RB: http://www.ravenbrook.com/consultants/rb/
|
||||
.. _RB: https://www.ravenbrook.com/consultants/rb/
|
||||
|
||||
|
||||
Copyright and License
|
||||
---------------------
|
||||
|
||||
Copyright © 2012-2018 Ravenbrook Limited. All rights reserved.
|
||||
<http://www.ravenbrook.com/>. This is an open source license. Contact
|
||||
<https://www.ravenbrook.com/>. This is an open source license. Contact
|
||||
Ravenbrook for commercial licensing options.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ _`.impl.design.pelican`: Design documents are converted to HTML using
|
|||
_`.impl.manual`: The manual is written in RST using Sphinx_ extensions
|
||||
and custom manual extensions (see `.ext`_).
|
||||
|
||||
.. _Sphinx: http://www.sphinx-doc.org/en/master/
|
||||
.. _Sphinx: https://www.sphinx-doc.org/en/master/
|
||||
|
||||
_`.impl.manual.sphinx`: The manual is converted to HTML using the
|
||||
Sphinx_ documentation generator.
|
||||
|
|
@ -296,13 +296,13 @@ Document History
|
|||
|
||||
- 2018-09-18 GDR_ Created based on [RB_2013-05-09]_.
|
||||
|
||||
.. _GDR: http://www.ravenbrook.com/consultants/gdr/
|
||||
.. _GDR: https://www.ravenbrook.com/consultants/gdr/
|
||||
|
||||
|
||||
Copyright and License
|
||||
---------------------
|
||||
|
||||
Copyright © 2018 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
Copyright © 2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
All rights reserved. This is an open source license. Contact
|
||||
Ravenbrook for commercial licensing options.
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ Keyword arguments in the MPS
|
|||
Introduction
|
||||
------------
|
||||
Up to version 1.111, the `Memory Pool System
|
||||
<http://www.ravenbrook.com/project/mps/>`_ used varags to pass arguments
|
||||
<https://www.ravenbrook.com/project/mps/>`_ used varags to pass arguments
|
||||
to arena and pool classes, because the general MPS interface can't
|
||||
specify what arguments those classes might need in C prototypes. This
|
||||
mechanism was error-prone and did not allow for any optional arguments,
|
||||
|
|
@ -157,13 +157,13 @@ Document History
|
|||
----------------
|
||||
- 2013-05-09 RB_ Created based on [RB_2012-05-24]_.
|
||||
|
||||
.. _RB: http://www.ravenbrook.com/consultants/rb/
|
||||
.. _RB: https://www.ravenbrook.com/consultants/rb/
|
||||
|
||||
|
||||
Copyright and License
|
||||
---------------------
|
||||
|
||||
Copyright © 2013-2014 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
Copyright © 2013-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
All rights reserved. This is an open source license. Contact
|
||||
Ravenbrook for commercial licensing options.
|
||||
|
||||
|
|
|
|||
|
|
@ -273,7 +273,7 @@ References
|
|||
.. [cso]
|
||||
Microsoft Developer Network;
|
||||
"Critical Section Objects";
|
||||
<http://msdn.microsoft.com/en-us/library/windows/desktop/ms682530.aspx>
|
||||
<https://docs.microsoft.com/en-gb/windows/desktop/Sync/critical-section-objects>
|
||||
|
||||
.. [POSIXThreads]
|
||||
The Open Group;
|
||||
|
|
@ -294,14 +294,14 @@ Document History
|
|||
|
||||
- 2018-06-14 GDR_ Added ``LockInitGlobal()``.
|
||||
|
||||
.. _RB: http://www.ravenbrook.com/consultants/rb/
|
||||
.. _GDR: http://www.ravenbrook.com/consultants/gdr/
|
||||
.. _RB: https://www.ravenbrook.com/consultants/rb/
|
||||
.. _GDR: https://www.ravenbrook.com/consultants/gdr/
|
||||
|
||||
|
||||
Copyright and License
|
||||
---------------------
|
||||
|
||||
Copyright © 2013-2016 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
Copyright © 2013-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
All rights reserved. This is an open source license. Contact
|
||||
Ravenbrook for commercial licensing options.
|
||||
|
||||
|
|
|
|||
|
|
@ -183,7 +183,7 @@ using ``ControlAlloc()``.
|
|||
allocation. This does not satisfy `.req.queue`_. See also
|
||||
job001570_. Richard Kistruck, 2008-12-15.
|
||||
|
||||
.. _job001570: http://www.ravenbrook.com/project/mps/issue/job001570/
|
||||
.. _job001570: https://www.ravenbrook.com/project/mps/issue/job001570/
|
||||
|
||||
Poiters to these messages are stored in ``tsMessage[ti]`` and
|
||||
``tMessage[ti]`` arrays in the ``ArenaStruct``.
|
||||
|
|
@ -198,7 +198,7 @@ Poiters to these messages are stored in ``tsMessage[ti]`` and
|
|||
uninitialised memory) when not being used by a trace. See also
|
||||
job001989_. Richard Kistruck, 2008-12-15.
|
||||
|
||||
.. _job001989: http://www.ravenbrook.com/project/mps/issue/job001989/
|
||||
.. _job001989: https://www.ravenbrook.com/project/mps/issue/job001989/
|
||||
|
||||
|
||||
Creating and Posting
|
||||
|
|
@ -311,13 +311,13 @@ Document History
|
|||
|
||||
- 2013-05-23 GDR_ Converted to reStructuredText.
|
||||
|
||||
.. _GDR: http://www.ravenbrook.com/consultants/gdr/
|
||||
.. _GDR: https://www.ravenbrook.com/consultants/gdr/
|
||||
|
||||
|
||||
Copyright and License
|
||||
---------------------
|
||||
|
||||
Copyright © 2013-2014 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
Copyright © 2013-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
All rights reserved. This is an open source license. Contact
|
||||
Ravenbrook for commercial licensing options.
|
||||
|
||||
|
|
|
|||
|
|
@ -158,13 +158,13 @@ Document History
|
|||
|
||||
- 2018-09-14 GDR_ Created based on [GDR_2018-06-27]_.
|
||||
|
||||
.. _GDR: http://www.ravenbrook.com/consultants/gdr/
|
||||
.. _GDR: https://www.ravenbrook.com/consultants/gdr/
|
||||
|
||||
|
||||
Copyright and License
|
||||
---------------------
|
||||
|
||||
Copyright © 2018 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
Copyright © 2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
All rights reserved. This is an open source license. Contact
|
||||
Ravenbrook for commercial licensing options.
|
||||
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ the dump has been corrupted, it will fail, as softly as possible
|
|||
_`.req.portable`: Client code that uses these features must be easily
|
||||
portable to all the supported platforms. (Source: job003749_.)
|
||||
|
||||
.. _job003749: http://www.ravenbrook.com/project/mps/issue/job003749/
|
||||
.. _job003749: https://www.ravenbrook.com/project/mps/issue/job003749/
|
||||
|
||||
.. note::
|
||||
|
||||
|
|
@ -420,14 +420,14 @@ Document History
|
|||
|
||||
- 2014-04-09 GDR_ Added newly discovered requirement `.req.portable`_.
|
||||
|
||||
.. _RB: http://www.ravenbrook.com/consultants/rb/
|
||||
.. _GDR: http://www.ravenbrook.com/consultants/gdr/
|
||||
.. _RB: https://www.ravenbrook.com/consultants/rb/
|
||||
.. _GDR: https://www.ravenbrook.com/consultants/gdr/
|
||||
|
||||
|
||||
Copyright and License
|
||||
---------------------
|
||||
|
||||
Copyright © 2013-2014 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
Copyright © 2013-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
All rights reserved. This is an open source license. Contact
|
||||
Ravenbrook for commercial licensing options.
|
||||
|
||||
|
|
|
|||
|
|
@ -61,8 +61,8 @@ Pads
|
|||
|
||||
(See job001809_ and job001811_, and mps/branch/2009-03-31/padding.)
|
||||
|
||||
.. _job001809: http://www.ravenbrook.com/project/mps/issue/job001809/
|
||||
.. _job001811: http://www.ravenbrook.com/project/mps/issue/job001811/
|
||||
.. _job001809: https://www.ravenbrook.com/project/mps/issue/job001809/
|
||||
.. _job001811: https://www.ravenbrook.com/project/mps/issue/job001811/
|
||||
|
||||
_`.pad`: A pad is logically a trivial client object. Pads are created
|
||||
by the MPS asking the client's format code to create them, to fill up
|
||||
|
|
@ -804,14 +804,14 @@ Document History
|
|||
|
||||
- 2013-05-23 GDR_ Converted to reStructuredText.
|
||||
|
||||
.. _RB: http://www.ravenbrook.com/consultants/rb/
|
||||
.. _GDR: http://www.ravenbrook.com/consultants/gdr/
|
||||
.. _RB: https://www.ravenbrook.com/consultants/rb/
|
||||
.. _GDR: https://www.ravenbrook.com/consultants/gdr/
|
||||
|
||||
|
||||
Copyright and License
|
||||
---------------------
|
||||
|
||||
Copyright © 2013-2016 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
Copyright © 2013-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
All rights reserved. This is an open source license. Contact
|
||||
Ravenbrook for commercial licensing options.
|
||||
|
||||
|
|
|
|||
|
|
@ -234,11 +234,11 @@ vectored exception handler, which points to |EXCEPTION_RECORD|_ and
|
|||
|CONTEXT|_ structures.
|
||||
|
||||
.. |EXCEPTION_POINTERS| replace:: ``EXCEPTION_POINTERS``
|
||||
.. _EXCEPTION_POINTERS: http://msdn.microsoft.com/en-us/library/windows/desktop/ms679331.aspx
|
||||
.. _EXCEPTION_POINTERS: https://docs.microsoft.com/en-gb/windows/desktop/api/winnt/ns-winnt-_exception_pointers
|
||||
.. |EXCEPTION_RECORD| replace:: ``EXCEPTION_RECORD``
|
||||
.. _EXCEPTION_RECORD: http://msdn.microsoft.com/en-us/library/windows/desktop/aa363082.aspx
|
||||
.. _EXCEPTION_RECORD: https://docs.microsoft.com/en-gb/windows/desktop/api/winnt/ns-winnt-_exception_record
|
||||
.. |CONTEXT| replace:: ``CONTEXT``
|
||||
.. _CONTEXT: http://msdn.microsoft.com/en-gb/library/windows/desktop/ms679284.aspx
|
||||
.. _CONTEXT: https://docs.microsoft.com/en-gb/windows/desktop/api/winnt/ns-winnt-_exception_record
|
||||
|
||||
_`.impl.w3.fault.addr`: ``EXCEPTION_RECORD.ExceptionAddress`` is the
|
||||
address that the faulting instruction was trying to access.
|
||||
|
|
@ -254,7 +254,7 @@ _`.impl.w3.suspend`: The context of a suspended thread is returned by
|
|||
|GetThreadContext|_.
|
||||
|
||||
.. |GetThreadContext| replace:: ``GetThreadContext()``
|
||||
.. _GetThreadContext: http://msdn.microsoft.com/en-gb/library/windows/desktop/ms679362.aspx
|
||||
.. _GetThreadContext: https://docs.microsoft.com/en-us/windows/desktop/api/processthreadsapi/nf-processthreadsapi-getthreadcontext
|
||||
|
||||
_`.impl.w3.context.scan`: The context's root registers are found in
|
||||
the |CONTEXT|_ structure.
|
||||
|
|
@ -289,7 +289,7 @@ _`.impl.xc.suspend`: The context of a suspended thread is obtained by
|
|||
calling |thread_get_state|_.
|
||||
|
||||
.. |thread_get_state| replace:: ``thread_get_state()``
|
||||
.. _thread_get_state: http://www.gnu.org/software/hurd/gnumach-doc/Thread-Execution.html
|
||||
.. _thread_get_state: https://www.gnu.org/software/hurd/gnumach-doc/Thread-Execution.html
|
||||
|
||||
_`.impl.xc.context.scan`: The thread's registers are found in the
|
||||
``x86_thread_state32_t`` or ``x86_thread_state64_t`` structure.
|
||||
|
|
@ -305,13 +305,13 @@ Document History
|
|||
- 2014-10-23 GDR_ Initial draft based on design.mps.thread-manager_
|
||||
and design.mps.prot_.
|
||||
|
||||
.. _GDR: http://www.ravenbrook.com/consultants/gdr/
|
||||
.. _GDR: https://www.ravenbrook.com/consultants/gdr/
|
||||
|
||||
|
||||
Copyright and License
|
||||
---------------------
|
||||
|
||||
Copyright © 2014-2018 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
Copyright © 2014-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
All rights reserved. This is an open source license. Contact
|
||||
Ravenbrook for commercial licensing options.
|
||||
|
||||
|
|
|
|||
|
|
@ -582,7 +582,7 @@ level. The level is statically defined using enum constants, and the
|
|||
id is the address of the canonical class object, so the test is fast
|
||||
and simple.
|
||||
|
||||
.. _RB: http://www.ravenbrook.com/consultants/rb/
|
||||
.. _RB: https://www.ravenbrook.com/consultants/rb/
|
||||
|
||||
|
||||
Common instance methods
|
||||
|
|
@ -639,13 +639,13 @@ B. Document History
|
|||
|
||||
- 2016-04-19 RB_ Miscellaneous clean-up in response to review by GDR_.
|
||||
|
||||
.. _GDR: http://www.ravenbrook.com/consultants/gdr/
|
||||
.. _GDR: https://www.ravenbrook.com/consultants/gdr/
|
||||
|
||||
|
||||
C. Copyright and License
|
||||
------------------------
|
||||
|
||||
Copyright © 2013-2018 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
Copyright © 2013-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
All rights reserved. This is an open source license. Contact
|
||||
Ravenbrook for commercial licensing options.
|
||||
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ call another unsafe function. See `mail.tony.1999-08-24.15-40`_ and
|
|||
followups for some further analysis.
|
||||
|
||||
.. _mail.tony.1999-08-24.15-40: https://info.ravenbrook.com/project/mps/mail/1999/08/24/15-40/0.txt
|
||||
.. _sigaction: http://www.opengroup.org/onlinepubs/007908799/xsh/sigaction.html
|
||||
.. _sigaction: https://pubs.opengroup.org/onlinepubs/007908799/xsh/sigaction.html
|
||||
|
||||
_`.anal.signal.safety.implication`: Since we can't assume that we
|
||||
won't attempt to suspend a thread while it is running an unsafe
|
||||
|
|
@ -369,14 +369,14 @@ Document History
|
|||
|
||||
- 2013-05-23 GDR_ Converted to reStructuredText.
|
||||
|
||||
.. _RB: http://www.ravenbrook.com/consultants/rb/
|
||||
.. _GDR: http://www.ravenbrook.com/consultants/gdr/
|
||||
.. _RB: https://www.ravenbrook.com/consultants/rb/
|
||||
.. _GDR: https://www.ravenbrook.com/consultants/gdr/
|
||||
|
||||
|
||||
Copyright and License
|
||||
---------------------
|
||||
|
||||
Copyright © 2013-2018 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
Copyright © 2013-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
All rights reserved. This is an open source license. Contact
|
||||
Ravenbrook for commercial licensing options.
|
||||
|
||||
|
|
|
|||
|
|
@ -164,20 +164,20 @@ References
|
|||
<https://info.ravenbrook.com/project/mps/doc/2002-06-18/obsolete-mminfo/mminfo/design/mps/sig/>.
|
||||
|
||||
.. [THVV_1995] "Structure Marking"; Tom Van Vleck; 1995;
|
||||
<http://www.multicians.org/thvv/marking.html>.
|
||||
<https://www.multicians.org/thvv/marking.html>.
|
||||
|
||||
|
||||
Document History
|
||||
----------------
|
||||
- 2013-05-09 RB Created based on scanty MM document [RB_1995-08-25]_.
|
||||
|
||||
.. _RB: http://www.ravenbrook.com/consultants/rb/
|
||||
.. _RB: https://www.ravenbrook.com/consultants/rb/
|
||||
|
||||
|
||||
Copyright and License
|
||||
---------------------
|
||||
|
||||
Copyright © 2013-2016 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
Copyright © 2013-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
All rights reserved. This is an open source license. Contact
|
||||
Ravenbrook for commercial licensing options.
|
||||
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ beyond. If ``StackProbeDEPTH`` is greater than or equal to the number
|
|||
of words per page, the implementation might need to carry out multiple
|
||||
probes. (This constraint is checked in ``MPMCheck()``.)
|
||||
|
||||
.. _Windows: http://support.microsoft.com/kb/100775
|
||||
.. _Windows: https://docs.microsoft.com/en-us/windows/desktop/procthread/thread-stack-size
|
||||
|
||||
_`.sol.depth.no-recursion`: In order to implement this design, the MPS
|
||||
must have constant bounded stack depth, and therefore, no recursion.
|
||||
|
|
@ -173,7 +173,7 @@ function |alloca|_, for which the documentation says, "A stack
|
|||
overflow exception is generated if the space cannot be allocated."
|
||||
|
||||
.. |alloca| replace:: ``_alloca()``
|
||||
.. _alloca: http://msdn.microsoft.com/en-us/library/wb1s57t5.aspx
|
||||
.. _alloca: https://docs.microsoft.com/en-gb/cpp/c-runtime-library/reference/alloca
|
||||
|
||||
|
||||
Document History
|
||||
|
|
@ -181,13 +181,13 @@ Document History
|
|||
|
||||
- 2014-10-23 GDR_ Initial draft.
|
||||
|
||||
.. _GDR: http://www.ravenbrook.com/consultants/gdr/
|
||||
.. _GDR: https://www.ravenbrook.com/consultants/gdr/
|
||||
|
||||
|
||||
Copyright and License
|
||||
---------------------
|
||||
|
||||
Copyright © 2014-2018 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
Copyright © 2014-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
All rights reserved. This is an open source license. Contact
|
||||
Ravenbrook for commercial licensing options.
|
||||
|
||||
|
|
|
|||
|
|
@ -923,10 +923,10 @@ References
|
|||
.. [ST85] "Self-Adjusting Binary Search Trees"; Daniel Dominic Sleator,
|
||||
Robert Endre Tarjan; AT&T Bell Laboratories, Murray Hill, NJ; 1985-07;
|
||||
Journal of the ACM, Vol. 32, Num. 3, pp. 652-686, July 1985;
|
||||
<http://www.cs.cmu.edu/~sleator/papers/self-adjusting.pdf>.
|
||||
<https://www.cs.cmu.edu/~sleator/papers/self-adjusting.pdf>.
|
||||
|
||||
.. [Sleator96] "Splay Trees"; Daniel Dominic Sleator; CMU, 22/02/96;
|
||||
CMU 15-211; <http://langevin.usc.edu/BST/Sleator-SplayTrees.ps>.
|
||||
CMU 15-211; <https://langevin.usc.edu/BST/Sleator-SplayTrees.ps>.
|
||||
|
||||
|
||||
Document History
|
||||
|
|
@ -948,14 +948,14 @@ Document History
|
|||
- 2014-03-11 RB_ Updating in response to code review. Removing
|
||||
.future.tree and .future.reverse, both now implemented.
|
||||
|
||||
.. _RB: http://www.ravenbrook.com/consultants/rb/
|
||||
.. _GDR: http://www.ravenbrook.com/consultants/gdr/
|
||||
.. _RB: https://www.ravenbrook.com/consultants/rb/
|
||||
.. _GDR: https://www.ravenbrook.com/consultants/gdr/
|
||||
|
||||
|
||||
Copyright and License
|
||||
---------------------
|
||||
|
||||
Copyright © 2013-2014 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
Copyright © 2013-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
All rights reserved. This is an open source license. Contact
|
||||
Ravenbrook for commercial licensing options.
|
||||
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ at the point where it enters the MPS. (This avoids scanning registers
|
|||
and stack that belong to the MPS rather than the mutator, leading to
|
||||
unnecessary pinning and zone pollution; see job003525_.)
|
||||
|
||||
.. _job003525: http://www.ravenbrook.com/project/mps/issue/job003525/
|
||||
.. _job003525: https://www.ravenbrook.com/project/mps/issue/job003525/
|
||||
|
||||
_`.req.setjmp`: The implementation must follow the C Standard in its
|
||||
use of the ``setjmp()`` macro. (So that it is reliable and portable.)
|
||||
|
|
@ -163,7 +163,7 @@ _`.sol.xc.alternative`: On macOS, we could use ``getcontext()`` from
|
|||
libunwind (see here_), but that produces deprecation warnings and
|
||||
introduces a dependency on that library.
|
||||
|
||||
.. _here: http://stackoverflow.com/questions/3592914/how-can-i-implement-cooperative-lightweight-threading-with-c-on-mac-os-x
|
||||
.. _here: https://stackoverflow.com/questions/3592914/
|
||||
|
||||
|
||||
Analysis
|
||||
|
|
@ -322,7 +322,7 @@ References
|
|||
|
||||
.. [Fog]
|
||||
Agner Fog;
|
||||
"`Calling conventions for different C++ compilers and operating systems <http://agner.org/optimize/calling_conventions.pdf>`_";
|
||||
"`Calling conventions for different C++ compilers and operating systems <https://agner.org/optimize/calling_conventions.pdf>`_";
|
||||
Copenhagen University College of Engineering;
|
||||
2014-08-07.
|
||||
|
||||
|
|
@ -339,14 +339,14 @@ Document History
|
|||
- 2016-03-03 RB_ Reorganised based mostly on `.sol.stack.hot`_ and
|
||||
`.sol.stack.nest`_.
|
||||
|
||||
.. _GDR: http://www.ravenbrook.com/consultants/gdr/
|
||||
.. _RB: http://www.ravenbrook.com/consultants/rb/
|
||||
.. _GDR: https://www.ravenbrook.com/consultants/gdr/
|
||||
.. _RB: https://www.ravenbrook.com/consultants/rb/
|
||||
|
||||
|
||||
Copyright and License
|
||||
---------------------
|
||||
|
||||
Copyright © 2014-2016 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
Copyright © 2014-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
All rights reserved. This is an open source license. Contact
|
||||
Ravenbrook for commercial licensing options.
|
||||
|
||||
|
|
|
|||
|
|
@ -221,8 +221,8 @@ this has been computed correctly, the locus module uses a double-entry
|
|||
book-keeping system to account for every byte in each pool generation.
|
||||
This uses seven accounts:
|
||||
|
||||
.. _job003772: http://www.ravenbrook.com/project/mps/issue/job003772/
|
||||
.. _job004007: http://www.ravenbrook.com/project/mps/issue/job004007/
|
||||
.. _job003772: https://www.ravenbrook.com/project/mps/issue/job003772/
|
||||
.. _job004007: https://www.ravenbrook.com/project/mps/issue/job004007/
|
||||
|
||||
_`.account.total`: Memory acquired from the arena.
|
||||
|
||||
|
|
@ -458,7 +458,7 @@ blacklisted. Fifth, it tries allocating from any zone at all.
|
|||
_`.policy.alloc.issue`: This plan performs poorly under stress. See
|
||||
for example job003898_.
|
||||
|
||||
.. _job003898: http://www.ravenbrook.com/project/mps/issue/job003898/
|
||||
.. _job003898: https://www.ravenbrook.com/project/mps/issue/job003898/
|
||||
|
||||
|
||||
|
||||
|
|
@ -511,7 +511,7 @@ a collection of a set of generations can't possibly make progress
|
|||
(because nothing that refers to this set of generations has changed),
|
||||
and so not start such a collection.
|
||||
|
||||
.. _job004011: http://www.ravenbrook.com/project/mps/issue/job004011/
|
||||
.. _job004011: https://www.ravenbrook.com/project/mps/issue/job004011/
|
||||
|
||||
_`.policy.start.chain`: If ``collectWorldAllowed`` is FALSE, or if it
|
||||
is not yet time to schedule a collection of the world,
|
||||
|
|
@ -568,15 +568,15 @@ Document History
|
|||
- 2014-01-29 RB_ The arena no longer manages generation zonesets.
|
||||
- 2014-05-17 GDR_ Bring data structures and condemn logic up to date.
|
||||
|
||||
.. _GDR: http://www.ravenbrook.com/consultants/gdr/
|
||||
.. _NB: http://www.ravenbrook.com/consultants/nb/
|
||||
.. _RB: http://www.ravenbrook.com/consultants/rb
|
||||
.. _GDR: https://www.ravenbrook.com/consultants/gdr/
|
||||
.. _NB: https://www.ravenbrook.com/consultants/nb/
|
||||
.. _RB: https://www.ravenbrook.com/consultants/rb
|
||||
|
||||
|
||||
Copyright and License
|
||||
---------------------
|
||||
|
||||
Copyright © 2013-2016 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
Copyright © 2013-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
All rights reserved. This is an open source license. Contact
|
||||
Ravenbrook for commercial licensing options.
|
||||
|
||||
|
|
|
|||
|
|
@ -372,14 +372,14 @@ Document History
|
|||
|
||||
- 2018-06-15 GDR_ Procedure for adding a new smoke test.
|
||||
|
||||
.. _RB: http://www.ravenbrook.com/consultants/rb/
|
||||
.. _GDR: http://www.ravenbrook.com/consultants/gdr/
|
||||
.. _RB: https://www.ravenbrook.com/consultants/rb/
|
||||
.. _GDR: https://www.ravenbrook.com/consultants/gdr/
|
||||
|
||||
|
||||
Copyright and License
|
||||
---------------------
|
||||
|
||||
Copyright © 2013-2018 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
Copyright © 2013-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
All rights reserved. This is an open source license. Contact
|
||||
Ravenbrook for commercial licensing options.
|
||||
|
||||
|
|
|
|||
|
|
@ -251,11 +251,11 @@ information for the current thread:
|
|||
may be identified in the ring of threads.
|
||||
|
||||
.. |SuspendThread| replace:: ``SuspendThread()``
|
||||
.. _SuspendThread: http://msdn.microsoft.com/en-us/library/windows/desktop/ms686345.aspx
|
||||
.. _SuspendThread: https://docs.microsoft.com/en-gb/windows/desktop/api/processthreadsapi/nf-processthreadsapi-suspendthread
|
||||
.. |ResumeThread| replace:: ``ResumeThread()``
|
||||
.. _ResumeThread: http://msdn.microsoft.com/en-us/library/windows/desktop/ms685086.aspx
|
||||
.. _ResumeThread: https://docs.microsoft.com/en-gb/windows/desktop/api/processthreadsapi/nf-processthreadsapi-resumethread
|
||||
.. |GetCurrentThreadId| replace:: ``GetCurrentThreadId()``
|
||||
.. _GetCurrentThreadId: http://msdn.microsoft.com/en-us/library/windows/desktop/ms683183.aspx
|
||||
.. _GetCurrentThreadId: https://docs.microsoft.com/en-gb/windows/desktop/api/processthreadsapi/nf-processthreadsapi-getcurrentthreadid
|
||||
|
||||
_`.impl.w3.register.multi`: There is no need for any special treatment
|
||||
of multiple threads, because Windows maintains a suspend count that is
|
||||
|
|
@ -272,7 +272,7 @@ work on the current thread: the context would not necessarily have the
|
|||
values which were in the saved registers on entry to the MPS.
|
||||
|
||||
.. |GetThreadContext| replace:: ``GetThreadContext()``
|
||||
.. _GetThreadContext: http://msdn.microsoft.com/en-us/library/windows/desktop/ms679362.aspx
|
||||
.. _GetThreadContext: https://docs.microsoft.com/en-us/windows/desktop/api/processthreadsapi/nf-processthreadsapi-getthreadcontext
|
||||
|
||||
_`.impl.w3.scan.suspended`: Otherwise, ``ThreadScan()`` calls
|
||||
|GetThreadContext|_ to get the root registers and the stack
|
||||
|
|
@ -290,7 +290,7 @@ _`.impl.xc.register`: ``ThreadRegister()`` records the Mach port of
|
|||
the current thread by calling |mach_thread_self|_.
|
||||
|
||||
.. |mach_thread_self| replace:: ``mach_thread_self()``
|
||||
.. _mach_thread_self: http://www.gnu.org/software/hurd/gnumach-doc/Thread-Information.html
|
||||
.. _mach_thread_self: https://www.gnu.org/software/hurd/gnumach-doc/Thread-Information.html
|
||||
|
||||
_`.impl.xc.register.multi`: There is no need for any special treatment
|
||||
of multiple threads, because Mach maintains a suspend count that is
|
||||
|
|
@ -298,9 +298,9 @@ incremented on |thread_suspend|_ and decremented on
|
|||
|thread_resume|_.
|
||||
|
||||
.. |thread_suspend| replace:: ``thread_suspend()``
|
||||
.. _thread_suspend: http://www.gnu.org/software/hurd/gnumach-doc/Thread-Execution.html
|
||||
.. _thread_suspend: https://www.gnu.org/software/hurd/gnumach-doc/Thread-Execution.html
|
||||
.. |thread_resume| replace:: ``thread_resume()``
|
||||
.. _thread_resume: http://www.gnu.org/software/hurd/gnumach-doc/Thread-Execution.html
|
||||
.. _thread_resume: https://www.gnu.org/software/hurd/gnumach-doc/Thread-Execution.html
|
||||
|
||||
_`.impl.xc.suspend`: ``ThreadRingSuspend()`` calls
|
||||
|thread_suspend|_.
|
||||
|
|
@ -314,7 +314,7 @@ _`.impl.xc.scan.suspended`: Otherwise, ``ThreadScan()`` calls
|
|||
|thread_get_state|_ to get the root registers and the stack pointer.
|
||||
|
||||
.. |thread_get_state| replace:: ``thread_get_state()``
|
||||
.. _thread_get_state: http://www.gnu.org/software/hurd/gnumach-doc/Thread-Execution.html
|
||||
.. _thread_get_state: https://www.gnu.org/software/hurd/gnumach-doc/Thread-Execution.html
|
||||
|
||||
|
||||
Document History
|
||||
|
|
@ -328,14 +328,14 @@ Document History
|
|||
|
||||
- 2014-10-22 GDR_ Complete design.
|
||||
|
||||
.. _RB: http://www.ravenbrook.com/consultants/rb/
|
||||
.. _GDR: http://www.ravenbrook.com/consultants/gdr/
|
||||
.. _RB: https://www.ravenbrook.com/consultants/rb/
|
||||
.. _GDR: https://www.ravenbrook.com/consultants/gdr/
|
||||
|
||||
|
||||
Copyright and License
|
||||
---------------------
|
||||
|
||||
Copyright © 2013-2018 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
Copyright © 2013-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
All rights reserved. This is an open source license. Contact
|
||||
Ravenbrook for commercial licensing options.
|
||||
|
||||
|
|
|
|||
|
|
@ -295,14 +295,14 @@ Document History
|
|||
|
||||
- 2018-06-14 GDR_ Added fork safety design.
|
||||
|
||||
.. _RB: http://www.ravenbrook.com/consultants/rb/
|
||||
.. _GDR: http://www.ravenbrook.com/consultants/gdr/
|
||||
.. _RB: https://www.ravenbrook.com/consultants/rb/
|
||||
.. _GDR: https://www.ravenbrook.com/consultants/gdr/
|
||||
|
||||
|
||||
Copyright and License
|
||||
---------------------
|
||||
|
||||
Copyright © 2013-2018 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
Copyright © 2013-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
All rights reserved. This is an open source license. Contact
|
||||
Ravenbrook for commercial licensing options.
|
||||
|
||||
|
|
|
|||
|
|
@ -142,14 +142,14 @@ Document History
|
|||
|
||||
- 2013-03-11 GDR_ Converted to reStructuredText.
|
||||
|
||||
.. _RB: http://www.ravenbrook.com/consultants/rb/
|
||||
.. _GDR: http://www.ravenbrook.com/consultants/gdr/
|
||||
.. _RB: https://www.ravenbrook.com/consultants/rb/
|
||||
.. _GDR: https://www.ravenbrook.com/consultants/gdr/
|
||||
|
||||
|
||||
Copyright and License
|
||||
---------------------
|
||||
|
||||
Copyright © 2013-2016 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
Copyright © 2013-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
All rights reserved. This is an open source license. Contact
|
||||
Ravenbrook for commercial licensing options.
|
||||
|
||||
|
|
|
|||
|
|
@ -297,7 +297,7 @@ _`.impl.w3.page.size`: The page size is retrieved by calling
|
|||
|GetSystemInfo|_ and consulting ``SYSTEMINFO.dwPageSize``.
|
||||
|
||||
.. |GetSystemInfo| replace:: ``GetSystemInfo()``
|
||||
.. _GetSystemInfo: http://msdn.microsoft.com/en-gb/library/windows/desktop/ms724381.aspx
|
||||
.. _GetSystemInfo: https://docs.microsoft.com/en-us/windows/desktop/api/sysinfoapi/nf-sysinfoapi-getsysteminfo
|
||||
|
||||
_`.impl.w3.param`: Decodes the keyword argument
|
||||
``MPS_KEY_VMW3_MEM_TOP_DOWN``, and if it is set, arranges for
|
||||
|
|
@ -308,13 +308,13 @@ _`.impl.w3.reserve`: Address space is reserved by calling
|
|||
``MEM_TOP_DOWN``) and ``PAGE_NOACCESS``.
|
||||
|
||||
.. |VirtualAlloc| replace:: ``VirtualAlloc()``
|
||||
.. _VirtualAlloc: http://msdn.microsoft.com/en-us/library/windows/desktop/aa366887.aspx
|
||||
.. _VirtualAlloc: https://msdn.microsoft.com/en-us/library/windows/desktop/aa366887.aspx
|
||||
|
||||
_`.impl.w3.release`: Address space is released by calling
|
||||
|VirtualFree|_, passing ``MEM_RELEASE``.
|
||||
|
||||
.. |VirtualFree| replace:: ``VirtualFree()``
|
||||
.. _VirtualFree: http://msdn.microsoft.com/en-us/library/windows/desktop/aa366892.aspx
|
||||
.. _VirtualFree: https://msdn.microsoft.com/en-us/library/windows/desktop/aa366892.aspx
|
||||
|
||||
_`.impl.w3.map`: Address space is mapped to main memory by calling
|
||||
|VirtualAlloc|_, passing ``MEM_COMMIT`` and
|
||||
|
|
@ -362,14 +362,14 @@ Document History
|
|||
|
||||
- 2014-10-22 GDR_ Refactor module description into requirements.
|
||||
|
||||
.. _RB: http://www.ravenbrook.com/consultants/rb/
|
||||
.. _GDR: http://www.ravenbrook.com/consultants/gdr/
|
||||
.. _RB: https://www.ravenbrook.com/consultants/rb/
|
||||
.. _GDR: https://www.ravenbrook.com/consultants/gdr/
|
||||
|
||||
|
||||
Copyright and License
|
||||
---------------------
|
||||
|
||||
Copyright © 2013-2018 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
Copyright © 2013-2018 Ravenbrook Limited <https://www.ravenbrook.com/>.
|
||||
All rights reserved. This is an open source license. Contact
|
||||
Ravenbrook for commercial licensing options.
|
||||
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ References
|
|||
.. [job003975] "Poor performance due to imbalance between protection
|
||||
and scanning costs"; Richard Brooksby; Ravenbrook
|
||||
Limited; 2016-03-11;
|
||||
<http://www.ravenbrook.com/project/mps/issue/job003975>.
|
||||
<https://www.ravenbrook.com/project/mps/issue/job003975>.
|
||||
|
||||
|
||||
Document History
|
||||
|
|
@ -132,13 +132,13 @@ Document History
|
|||
- 2016-03-19 RB_ Created during preparation of
|
||||
branch/2016-03-13/defer-write-barrier for [job003975]_.
|
||||
|
||||
.. _RB: http://www.ravenbrook.com/consultants/rb/
|
||||
.. _RB: https://www.ravenbrook.com/consultants/rb/
|
||||
|
||||
|
||||
Copyright and License
|
||||
---------------------
|
||||
|
||||
Copyright © 2016-2018 Ravenbrook Limited <http://www.ravenbrook.com/>. All
|
||||
Copyright © 2016-2018 Ravenbrook Limited <https://www.ravenbrook.com/>. All
|
||||
rights reserved. This is an open source license. Contact Ravenbrook
|
||||
for commercial licensing options.
|
||||
|
||||
|
|
|
|||
|
|
@ -496,7 +496,7 @@ to be automatically reclaimed when they die. So AWL it is.
|
|||
now the only uses our customers have had for weak references are the
|
||||
ones supported by AWL. (In particular, AWL was designed around the
|
||||
requirements of weak hash tables in `Open Dylan
|
||||
<http://opendylan.org/>`_.) If you need more general handling of
|
||||
<https://opendylan.org/>`_.) If you need more general handling of
|
||||
weak references, :ref:`contact us <contact>`.
|
||||
|
||||
All the references in a :term:`formatted object` belong to the same
|
||||
|
|
|
|||
|
|
@ -180,7 +180,7 @@ Here's the situation on each of the operating systems supported by the MPS:
|
|||
|DYNAMICBASE|_.
|
||||
|
||||
.. |DYNAMICBASE| replace:: ``/DYNAMICBASE:NO`` linker option
|
||||
.. _DYNAMICBASE: http://msdn.microsoft.com/en-us/library/bb384887.aspx
|
||||
.. _DYNAMICBASE: https://docs.microsoft.com/en-us/cpp/build/reference/dynamicbase
|
||||
|
||||
* On **Linux** (kernel version 2.6.12 or later), ASLR can be turned
|
||||
off for a single process by running |setarch|_ with the ``-R``
|
||||
|
|
|
|||
|
|
@ -325,7 +325,7 @@ memory. Here are some things you might try:
|
|||
but this is only necessary for SSE_ types; ordinary types on this
|
||||
platform require no more than 8-byte alignment.
|
||||
|
||||
.. _SSE: http://msdn.microsoft.com/en-us/library/t467de55.aspx
|
||||
.. _SSE: https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions
|
||||
|
||||
|
||||
.. index::
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ implementing specialized memory management policies.
|
|||
The MPS has been in development since 1994 and deployed in successful
|
||||
commercial products since 1997. Bugs are almost unknown in production.
|
||||
It is under continuous development and support by `Ravenbrook
|
||||
<http://www.ravenbrook.com>`_.
|
||||
<https://www.ravenbrook.com/>`_.
|
||||
|
||||
The MPS is distributed under an :ref:`open source license
|
||||
<license>`. The license is designed to make it possible for you to use
|
||||
|
|
@ -70,9 +70,9 @@ anything.
|
|||
If you are running a multi-threaded 32-bit application on 64-bit
|
||||
Windows 7 via the WOW64 emulator, then you must install `this
|
||||
hotfix from Microsoft
|
||||
<http://support.microsoft.com/kb/2864432/en-us>`_. See `WOW64 bug:
|
||||
<https://support.microsoft.com/kb/2864432/en-us>`_. See `WOW64 bug:
|
||||
GetThreadContext() may return stale contents
|
||||
<http://zachsaw.blogspot.co.uk/2010/11/wow64-bug-getthreadcontext-may-return.html>`_
|
||||
<https://zachsaw.blogspot.com/2010/11/wow64-bug-getthreadcontext-may-return.html>`_
|
||||
for a description of the problem.
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ vector* problem (named after the |stretchy-vector|_ abstract class in
|
|||
Dylan).
|
||||
|
||||
.. |stretchy-vector| replace:: ``<stretchy-vector>``
|
||||
.. _stretchy-vector: http://opendylan.org/books/drm/Collection_Classes#stretchy-vector
|
||||
.. _stretchy-vector: https://opendylan.org/books/drm/Collection_Classes#stretchy-vector
|
||||
|
||||
A *stretchy vector* is a vector that can change length dynamically.
|
||||
Such a vector is often implemented using two objects: an array, and a
|
||||
|
|
@ -126,8 +126,8 @@ other garbage collectors. For example, here's the function
|
|||
|setarrayvector|_ from Lua_:
|
||||
|
||||
.. |setarrayvector| replace:: ``setarrayvector()``
|
||||
.. _setarrayvector: http://www.lua.org/source/5.2/ltable.c.html#setarrayvector
|
||||
.. _Lua: http://www.lua.org
|
||||
.. _setarrayvector: https://www.lua.org/source/5.2/ltable.c.html#setarrayvector
|
||||
.. _Lua: https://www.lua.org/
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
|
|
@ -149,4 +149,4 @@ assumption will no longer be correct if this code is adapted to the
|
|||
MPS.
|
||||
|
||||
.. |luaM_reallocvector| replace:: ``luaM_reallocvector()``
|
||||
.. _luaM_reallocvector: http://www.lua.org/source/5.2/lmem.h.html#luaM_reallocvector
|
||||
.. _luaM_reallocvector: https://www.lua.org/source/5.2/lmem.h.html#luaM_reallocvector
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ into account the restrictions imposed by the operating system. (See
|
|||
"`Defining Signal Handlers`_" in the GNU C Library Reference Manual
|
||||
for useful advice.)
|
||||
|
||||
.. _Defining Signal Handlers: http://www.gnu.org/software/libc/manual/html_node/Defining-Handlers.html
|
||||
.. _Defining Signal Handlers: https://www.gnu.org/software/libc/manual/html_node/Defining-Handlers.html
|
||||
|
||||
|
||||
.. c:macro:: CONFIG_PLINTH_NONE
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@ that may need to be defined. For example::
|
|||
* We use the same alignment as MS malloc: 16, which is used for XMM
|
||||
* operations.
|
||||
* See MSDN -> x64 Software Conventions -> Overview of x64 Calling Conventions
|
||||
* <http://msdn.microsoft.com/en-us/library/ms235286>
|
||||
* <https://docs.microsoft.com/en-gb/cpp/build/overview-of-x64-calling-conventions>
|
||||
*/
|
||||
|
||||
#elif defined(_MSC_VER) && defined(_WIN32) && defined(_WIN64) && defined(_M_X64) && !defined(__POCC__)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue