Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2007-09-12 | pptok.c: quick-and-dirty downcasing during prehashing | H. Peter Anvin | 1 | -1/+7 | |
Speed up pptok.c by just doing |= 0x20 instead of calling tolower() for every character during prehashing. This is good enough for our needs, since we don't have any tokens containing the characters @ [ \ ] _ nor any high-bit characters (in which case we'd have to worry about multibyte anyway.) | |||||
2007-09-12 | phash: Tell the user when the graph is OK | H. Peter Anvin | 1 | -2/+2 | |
Tell the user when the graph is OK, so that we don't get quite so much of "a list of errors followed by a long pause." | |||||
2007-09-12 | pptok.c: handle holes in the pp_directives array | H. Peter Anvin | 1 | -1/+1 | |
We need to fail if we land in a hole in the pp_directives array, since we have a noncontiguous enum preproc_token now. | |||||
2007-09-12 | preproc.c: adjust whitespace | H. Peter Anvin | 1 | -0/+1 | |
Be consistent about whitespace. | |||||
2007-09-12 | More automation in the preprocessor conditionals handling | H. Peter Anvin | 2 | -176/+131 | |
Further automate the production of preprocessor conditionals. Now the code automatically folds if/elif and the negatives. | |||||
2007-09-12 | pptok.c: fix spacing | H. Peter Anvin | 1 | -1/+1 | |
2007-09-12 | Generate automatically correct tests for %if and %elif | H. Peter Anvin | 2 | -3/+17 | |
Automatically generate macros to test for %if and %elif variants, which are guaranteed to be correct across future changes. | |||||
2007-09-12 | Run "make alldeps"; add dependencies missing from the previous checkin | H. Peter Anvin | 20 | -20/+20 | |
It helps to run "make alldeps" when the changes are actually complete... | |||||
2007-09-12 | Use a perfect hash to look up preprocessor directives | H. Peter Anvin | 26 | -241/+423 | |
Use a perfect hash to look up preprocessor directives, and generate the preprocessor directive list automatically. | |||||
2007-09-12 | phash: Be a bit more aggressive about trying to make a small hash | H. Peter Anvin | 1 | -1/+1 | |
Change the threshold to 0.7 instead of 0.8. | |||||
2007-09-12 | Add RCXZ as a known preprocessor condition | H. Peter Anvin | 1 | -3/+3 | |
2007-09-11 | doc: add some cross-references | H. Peter Anvin | 1 | -8/+11 | |
2007-09-11 | Feeble attempt at updating the documentation; remove Appendix B | H. Peter Anvin | 2 | -6750/+6803 | |
Feeble attempt to document 64-bit support. Also, remove Appendix B since we have been utterly useless at keeping it up to date, and it's redundant with the processor manufacturer's documentation anyway. | |||||
2007-09-11 | Handle instructions which can have both REX.W and OSP | H. Peter Anvin | 3 | -59/+90 | |
2007-09-11 | Use enums to make debugging easier | H. Peter Anvin | 3 | -9/+11 | |
When we're dealing with a field which is guaranteed to have an enum type, then declare it as such so it shows up in debuggers. | |||||
2007-09-11 | ndisasm: handle \366 codes, prefer unprefixed instructions | H. Peter Anvin | 1 | -12/+34 | |
- Implement \366 codes in ndisasm - Prefer instruction patterns without loose prefixes if possible - Fix improper initialization of operands in ndisasm | |||||
2007-09-11 | Simplify tokens.dat slightly | H. Peter Anvin | 1 | -3/+1 | |
2007-09-11 | Quiet gcc warning about uninitialized variables | H. Peter Anvin | 1 | -0/+2 | |
2007-09-11 | Make the big instruction arrays "const" | H. Peter Anvin | 4 | -17/+17 | |
Make the big instruction arrays "const", so they end up in readonly storage. While we're at it, move their prototypes into insns.h. | |||||
2007-09-10 | Use an actual enum for the opcode | H. Peter Anvin | 2 | -6/+6 | |
Use an actual named enum for the opcode, that way it shows up in cleartext while debugging. | |||||
2007-09-10 | Fix order of token arguments | H. Peter Anvin | 1 | -2/+2 | |
Order of token arguments was reversed, but tokens.dat wasn't updated accordingly. Fix. | |||||
2007-09-10 | assemble.c: correct special handing of ESP/RSP | H. Peter Anvin | 1 | -1/+1 | |
Correct the special handling of ESP/RSP (must be in the base register slot, but requires SIB.) | |||||
2007-09-10 | tokhash: correct duplicate-token test | H. Peter Anvin | 1 | -1/+1 | |
2007-09-10 | tokhash: adjust table types to reduce size | H. Peter Anvin | 1 | -7/+11 | |
Adjust the sizes of data types to reduce the total size of the tokhash data structure. | |||||
2007-09-10 | Fix the MMXREG and XMMREG flags definitions. | H. Peter Anvin | 1 | -2/+2 | |
2007-09-05 | nasm.spec.in: Copyright -> License | H. Peter Anvin | 1 | -1/+1 | |
2007-09-05 | Fix "make tar"; useful for RPM testing | H. Peter Anvin | 1 | -1/+1 | |
2007-09-05 | Remove obsolete Serial: construct; we shouldn't need it anyway. | H. Peter Anvin | 2 | -2/+0 | |
2007-09-04 | Provide 64-bit support for ORG directive | Chuck Crayne | 1 | -24/+21 | |
2007-09-02 | Fix some MMX/SSE irregularities which interact with the 64-bit support | H. Peter Anvin | 2 | -12/+48 | |
2007-09-02 | phash.ph: yet another attempt at getting Perl to behave, arithmetically | H. Peter Anvin | 1 | -7/+15 | |
2007-09-02 | Simple 64-bit org test | H. Peter Anvin | 1 | -0/+15 | |
2007-09-02 | phash.ph: remove some stale code | H. Peter Anvin | 1 | -9/+0 | |
Remove old randomization code which is no longer used. | |||||
2007-09-02 | Force use of integer values for generating hash keys. | Chuck Crayne | 1 | -2/+4 | |
2007-08-31 | phash: don't rely on the build platform Perl version of rand() | H. Peter Anvin | 4 | -61/+171 | |
rand() in Perl can vary between platforms, so don't use it. Instead, remove a completely pointless level of indirection (it introduced a permutation which cancelled itself out) and provide a canned set of random numbers for the rest. This guarantees we will always use the same numbers. | |||||
2007-08-31 | tokhash.pl: formatting changes for readability | H. Peter Anvin | 1 | -44/+41 | |
No functional change | |||||
2007-08-31 | tokhash: Speed up the rejection of unhashed values | H. Peter Anvin | 2 | -5/+18 | |
Speed up the rejection of unhashed values (typically identifiers) by filling unused hash slots with a large value (but not so large that it is likely to overflow.) This means those values will be rejected already by the range check, not needing strcmp(). | |||||
2007-08-31 | tokhash.pl: "ix" should have the same width as the "hash" arrays | H. Peter Anvin | 1 | -1/+3 | |
For correctness in case of a very "linear" graph, "ix" needs to have the same width as the "hash" arrays. | |||||
2007-08-31 | Add "do not edit" comment to tokhash.c | H. Peter Anvin | 1 | -1/+6 | |
2007-08-31 | Make the token hash a bit smaller by using 16-bit hash tables | H. Peter Anvin | 1 | -2/+2 | |
2007-08-31 | Minor cleanup; remove duplication of names.c | H. Peter Anvin | 2 | -10/+4 | |
2007-08-30 | phash.ph: use a bipartite graph to reduce the storage requirements | H. Peter Anvin | 2 | -14/+20 | |
Since we fold the f- and g-functions together, if we guarantee that g is bipartite, we can make g twice the size of f without cost. This greatly improves the odds of generating a smaller hash. | |||||
2007-08-30 | Finishing touches on perfect hash tokenizer; actually turn the thing on | H. Peter Anvin | 34 | -379/+470 | |
Finish the perfect hash tokenizer, and actually enable it. Move stdscan() et al to a separate file, since it's not needed in any of the clients of nasmlib other than nasm itself. Run make alldeps. | |||||
2007-08-30 | Makefile rule for tokhash.c | H. Peter Anvin | 1 | -1/+6 | |
2007-08-30 | tokens.dat: Data file containing alphanumeric tokens not in other .dats | H. Peter Anvin | 1 | -0/+38 | |
2007-08-30 | Generate a perfect hash for the token parser | H. Peter Anvin | 1 | -0/+184 | |
2007-08-30 | Fix bugs in repeated suffix handling, which led to missing r8d/r8w/r8d | H. Peter Anvin | 1 | -1/+1 | |
2007-08-30 | phash.ph: more powerful prehashing | H. Peter Anvin | 1 | -14/+20 | |
2007-08-30 | Make the perfect hash generator an includable module | H. Peter Anvin | 2 | -252/+261 | |
2007-08-29 | Correct the logic for recording fs: and gs: overrides. | H. Peter Anvin | 1 | -1/+1 | |