summary refs log tree commit diff stats
path: root/compiler/modulegraphs.nim
Commit message (Expand)AuthorAgeFilesLines
...
* big refactoring: magicsys compiles againAndreas Rumpf2018-05-101-0/+9
* refactoring: make FileIndex a distinct type; make line information an uint16;...Andreas Rumpf2018-04-211-19/+21
* symbol files: implemented accurate module dependency trackingAraq2018-02-211-1/+4
* big compiler refactoring; avoid globals for multi method dispatcher generationAndreas Rumpf2017-02-221-0/+8
* nimsuggest uses multithreading and full project recompilesAndreas Rumpf2017-02-131-0/+4
* disable transitive closure computations; only semcheck procs that have the cu...Andreas Rumpf2017-02-091-1/+1
* attempt to make nimble work againAndreas Rumpf2017-02-021-1/+4
* refactoring: explict config state instead of globalsAndreas Rumpf2017-02-011-2/+4
* happy new yearAraq2017-01-071-1/+1
* refactoring: C codegen with fewer global variablesAraq2016-12-051-0/+1
* disallow recursive module dependenciesAraq2016-11-231-0/+4
* nimsuggest supports include files properly; added the compiler itself as a te...Andreas Rumpf2016-11-061-1/+17
* added missing moduleAraq2016-11-051-0/+92
or: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
== code

integer-divide:  # a: int, b: int -> quotient/eax: int, remainder/edx: int
    # . prologue
    55/push-ebp
    89/<- %ebp 4/r32/esp
    # eax = a
    8b/-> *(ebp+8) 0/r32/eax
    # edx = all 0s or all 1s
    99/sign-extend-eax-into-edx
    # quotient, remainder = divide eax by b
    f7 7/subop/divide-eax-edx-by *(ebp+0xc)
$integer-divide:end:
    # . epilogue
    89/<- %esp 5/r32/ebp
    5d/pop-to-ebp
    c3/return