summaryrefslogtreecommitdiff
path: root/utils/deriveConstants
Commit message (Collapse)AuthorAgeFilesLines
...
* Globally replace "hackage.haskell.org" with "ghc.haskell.org"Simon Marlow2013-10-012-4/+4
|
* Pass 512-bit-wide vectors in registers.Geoffrey Mainland2013-09-221-0/+6
|
* Pass 256-bit-wide vectors in registers.Geoffrey Mainland2013-09-221-0/+6
|
* Rename SSE -> XMM for consistency.Geoffrey Mainland2013-08-061-2/+2
| | | | | We were using SSE is some places and XMM in others. Better to keep a consistent naming scheme.
* Maintain per-generation lists of weak pointers (#7847)Takano Akio2013-06-151-0/+1
|
* Allow multiple C finalizers to be attached to a Weak#Takano Akio2013-06-151-4/+8
| | | | | | | | | | | | | The commit replaces mkWeakForeignEnv# with addCFinalizerToWeak#. This new primop mutates an existing Weak# object and adds a new C finalizer to it. This change removes an invariant in MarkWeak.c, namely that the relative order of Weak# objects in the list needs to be preserved across GC. This makes it easier to split the list into per-generation structures. The patch also removes a race condition between two threads calling finalizeWeak# on the same WEAK object at that same time.
* ticky enhancementsNicolas Frisby2013-03-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * the new StgCmmArgRep module breaks a dependency cycle; I also untabified it, but made no real changes * updated the documentation in the wiki and change the user guide to point there * moved the allocation enters for ticky and CCS to after the heap check * I left LDV where it was, which was before the heap check at least once, since I have no idea what it is * standardized all (active?) ticky alloc totals to bytes * in order to avoid double counting StgCmmLayout.adjustHpBackwards no longer bumps ALLOC_HEAP_ctr * I resurrected the SLOW_CALL counters * the new module StgCmmArgRep breaks cyclic dependency between Layout and Ticky (which the SLOW_CALL counters cause) * renamed them SLOW_CALL_fast_<pattern> and VERY_SLOW_CALL * added ALLOC_RTS_ctr and _tot ticky counters * eg allocation by Storage.c:allocate or a BUILD_PAP in stg_ap_*_info * resurrected ticky counters for ALLOC_THK, ALLOC_PAP, and ALLOC_PRIM * added -ticky and -DTICKY_TICKY in ways.mk for debug ways * added a ticky counter for total LNE entries * new flags for ticky: -ticky-allocd -ticky-dyn-thunk -ticky-LNE * all off by default * -ticky-allocd: tracks allocation *of* closure in addition to allocation *by* that closure * -ticky-dyn-thunk tracks dynamic thunks as if they were functions * -ticky-LNE tracks LNEs as if they were functions * updated the ticky report format, including making the argument categories (more?) accurate again * the printed name for things in the report include the unique of their ticky parent as well as if they are not top-level
* Automatically add the $(exeext) to program namesIan Lynagh2013-03-031-1/+1
| | | | | | | We now define _PROGNAME, and _PROG is automatically defined with $(exeext). This will shortly automatically use the right exeext depending on what stage it is being compiled with (exeext may be different for different stages when cross-compiling).
* Separate StablePtr and StableName tables (#7674)Simon Marlow2013-02-141-0/+3
| | | | To improve performance of StablePtr.
* Add support for passing SSE vectors in registers.Geoffrey Mainland2013-02-011-0/+6
| | | | | | | This patch adds support for 6 XMM registers on x86-64 which overlap with the F and D registers and may hold 128-bit wide SIMD vectors. Because there is not a good way to attach type information to STG registers, we aggressively bitcast in the LLVM back-end.
* Add a stddef.h #include to C file generated by DeriveConstantsIan Lynagh2012-11-171-0/+1
|
* We now assume that offsetof() is always definedIan Lynagh2012-11-161-9/+4
|
* Fix the OFFSET macroIan Lynagh2012-11-131-8/+20
| | | | | When offsetof is defined, we use that. This avoids "variably modified at file scope" warnings/errors with recent gccs.
* Fix build on WindowsIan Lynagh2012-11-131-1/+1
|
* Replace mkDerivedConstants.c with DeriveConstants.hsIan Lynagh2012-11-123-0/+892
DeriveConstants.hs works in a cross-compilation-friendly way. Rather than running a C program that prints out the constants, we just compile a C file which has the constants are encoded in symbol sizes. We then parse the output of 'nm' to find out what the constants are. Based on work by Gabor Greif <ggreif@gmail.com>.