view lphobos/phobos.d @ 1275:bedf0bfb8fdb

Implement first D-specific optimization pass: -simplify-drtcalls. It uses the machinery of the standard -simplify-libcalls pass, but optimizes calls to the D runtime instead of calls to C libraries. At the moment, these optimizations are implemented by this pass: - Avoid the runtime call for `arr.length = newlen` if it can determine that the new length isn't longer than the old one. - Ditto for `cast(T[]) arr` if it will clearly always succeed. (e.g. if the length of the original array is zero, or if the old element size is a multiple of the new element size)
author Frits van Bommel <fvbommel wxs.nl>
date Tue, 28 Apr 2009 21:58:06 +0200
parents 373489eeaf90
children
line wrap: on
line source

module phobos;

import
std.array,
std.base64,
std.ctype,
std.format,
std.intrinsic,
std.math,
std.moduleinit,
std.outofmemory,
std.stdarg,
std.stdint,
std.stdio,
std.string,
std.thread,
std.traits,
std.uni,
std.utf,

std.c.fenv,
std.c.locale,
std.c.math,
std.c.process,
std.c.stdarg,
std.c.stddef,
std.c.stdio,
std.c.stdlib,
std.c.string,
std.c.time,
std.file,
std.date,
std.socket,
std.zlib,
std.cstream;

version(linux) {
    import
    std.c.linux.linux,
    std.c.linux.linuxextern,
    std.c.linux.pthread,
    std.c.linux.socket;
}