"Fossies" - the Fresh Open Source Software Archive

Member "dmd2/html/d/phobos/dmd_backend_code.html" (20 Nov 2020, 19547 Bytes) of package /linux/misc/dmd.2.094.2.linux.tar.xz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) HTML source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 
    2 <!DOCTYPE html>
    3 <html>
    4   <head>
    5     <meta charset="UTF-8">
    6     <title>dmd.backend.code</title>
    7     <style type="text/css" media="screen">
    8       html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p,
    9       blockquote, pre, a, abbr, address, cite, code, del, dfn, em, figure,
   10       img, ins, kbd, q, s, samp, small, strong, sub, sup, var, b, u, i, dl,
   11       dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption,
   12       tbody, tfoot, thead, tr, th, td {
   13         background: transparent none repeat scroll 0 0;
   14         border: 0 none;
   15         font-size: 100%;
   16         margin: 0;
   17         outline: 0 none;
   18         padding: 0;
   19         vertical-align: baseline;
   20       }
   21 
   22       h1 { font-size: 200%; }
   23       h2 { font-size: 160%; }
   24       h3 { font-size: 120%; }
   25       h4 { font-size: 100%; }
   26       h5 { font-size: 80%; }
   27       h6 { font-size: 80%; font-weight: normal; }
   28 
   29       ul, ol {
   30         margin: 1.4em 0;
   31       }
   32       ul ul, ol ol, ul ol, ol ul {
   33         margin-top: 0;
   34         margin-bottom: 0;
   35       }
   36       ul, ol {
   37         margin-left: 2.8em;
   38       }
   39 
   40       ol {
   41         list-style: decimal;
   42       }
   43       ol ol {
   44         list-style: lower-alpha;
   45       }
   46       ol ol ol {
   47         list-style: lower-roman;
   48       }
   49       ol ol ol ol {
   50         list-style: decimal;
   51       }
   52 
   53       blockquote {
   54         margin: 0.1em;
   55         margin-left: 1em;
   56         border-left: 2px solid #cccccc;
   57         padding-left: 0.7em;
   58       }
   59 
   60       .color_red { color: #dc322f; }
   61       .color_blue { color: #268bd2; }
   62       .color_green { color: #859901; }
   63       .color_yellow { color: #b58901; }
   64       .color_black { color: black; }
   65       .color_white { color: white; }
   66 
   67       .font_big {
   68         font-size: 1.2em;
   69       }
   70 
   71       .ddoc_section_h {
   72         font-weight: bold;
   73         font-size: 13px;
   74         line-height: 19.5px;
   75         margin-top: 11px;
   76         display: block;
   77       }
   78 
   79       body.dlang .dlang {
   80         display: inline-block;
   81       }
   82 
   83       body.dlang .declaration .dlang {
   84           display: block;
   85       }
   86 
   87       body.dlang .ddoc_header_anchor a.dlang {
   88         display: block;
   89         color: rgba(0, 136, 204, 1);
   90         text-decoration: none;
   91       }
   92 
   93       body.dlang .ddoc_header_anchor .code {
   94         color: rgba(0, 136, 204, 1);
   95       }
   96 
   97       #ddoc_main .module {
   98           border-color: currentColor rgba(233, 233, 233, 1) rgba(233, 233, 233, 1);
   99           border-style: none solid solid;
  100           border-width: 0 1px 1px;
  101           overflow-x: hidden;
  102           padding: 15px;
  103       }
  104 
  105       #ddoc_main .section .section {
  106         margin-top: 0;
  107       }
  108 
  109       #ddoc_main .ddoc_module_members_section {
  110           padding: 1px 0 0;
  111           transition: transform 0.3s ease 0s;
  112       }
  113 
  114       #ddoc_main .ddoc_member, #ddoc_main .ddoc_module_members section.intro {
  115           background: #fff none repeat scroll 0 0;
  116           list-style-type: none;
  117           width: 100%;
  118       }
  119 
  120       #ddoc_main .ddoc_header_anchor {
  121           font-size: 1.4em;
  122           transition: transform 0.3s ease 0s;
  123       }
  124 
  125       #ddoc_main .ddoc_header_anchor > .code {
  126           display: inline-block;
  127 
  128       }
  129 
  130       #ddoc_main .ddoc_decl {
  131         background-color: transparent;
  132         height: 100%;
  133         left: 0;
  134         top: 0;
  135         padding: 0;
  136         padding-left: 15px;
  137       }
  138 
  139       #ddoc_main .ddoc_decl .section, #ddoc_main .section.ddoc_sections {
  140         background: white none repeat scroll 0 0;
  141         margin: 0;
  142         padding: 5px;
  143         position: relative;
  144         border-radius: 5px;
  145       }
  146 
  147       #ddoc_main .ddoc_decl .section h4:first-of-type, #ddoc_main .section.ddoc_sections h4:first-of-type {
  148         font-size: 13px;
  149         line-height: 1.5;
  150         margin-top: 21px;
  151       }
  152 
  153       #ddoc_main .section .declaration {
  154           margin-top: 21px;
  155       }
  156 
  157       #ddoc_main .section .declaration .code {
  158           color: rgba(0, 0, 0, 1);
  159           margin-bottom: 15px;
  160           padding-bottom: 6px;
  161       }
  162 
  163       #ddoc_main .declaration div .para {
  164           margin-bottom: 0;
  165       }
  166 
  167       #ddoc_main .ddoc_params .graybox tr td:first-of-type {
  168         padding: 7px;
  169         text-align: right;
  170         vertical-align: top;
  171         word-break: normal;
  172         white-space: nowrap;
  173       }
  174 
  175       #ddoc_main .ddoc_params .graybox {
  176         border: 0 none;
  177       }
  178 
  179       #ddoc_main .ddoc_params .graybox td {
  180         border-color: rgba(214, 214, 214, 1);
  181       }
  182 
  183       #ddoc_main .ddoc_params .graybox tr:first-child > td {
  184         border-top: 0 none;
  185       }
  186 
  187       #ddoc_main .ddoc_params .graybox tr:last-child > td {
  188         border-bottom: 0 none;
  189       }
  190 
  191       #ddoc_main .ddoc_params .graybox tr > td:first-child {
  192         border-left: 0 none;
  193       }
  194 
  195       #ddoc_main .ddoc_params .graybox tr > td:last-child {
  196         border-right: 0 none;
  197         width: 100%;
  198       }
  199 
  200       #ddoc_main em.term, #ddoc_main em.term .code {
  201         color: rgba(65, 65, 65, 1);
  202         font-size: 12px;
  203         font-style: italic;
  204         line-height: 1.5;
  205       }
  206 
  207       #ddoc_main .see-also {
  208         cursor: pointer;
  209         font-family: Menlo,monospace;
  210       }
  211 
  212       #ddoc_main .ddoc_decl .section > div:last-of-type {
  213         margin-bottom: 15px;
  214       }
  215 
  216       #ddoc_main .ddoc_member, #ddoc_main .ddoc_module_members {
  217           transition: transform 0.3s ease 0s;
  218       }
  219 
  220       #ddoc_main .code_sample {
  221         background: inherit;
  222       }
  223 
  224       #ddoc_main .declaration .code-line {
  225           display: block;
  226           font: 1em Menlo,monospace;
  227       }
  228 
  229       #ddoc_main a[name] {
  230         margin: -112px 0 0;
  231         padding-top: 112px;
  232       }
  233 
  234       #ddoc_main .ddoc_decl td {
  235         max-width: inherit;
  236       }
  237 
  238       #ddoc_main .declaration a {
  239         color: inherit;
  240       }
  241 
  242       #ddoc_main .declaration a:hover {
  243           color: rgba(0, 136, 204, 1);
  244           text-decoration: underline;
  245       }
  246 
  247       body.ddoc {
  248         background-color: transparent;
  249         color: rgba(0, 0, 0, 1);
  250         font-family: Helvetica,Arial,sans-serif;
  251         font-size: 62.5%;
  252         margin: 0;
  253         border: 0;
  254         left: 0;
  255         top: 0;
  256         padding: 0;
  257       }
  258 
  259       .ddoc a[name] {
  260         display: block;
  261         height: 0;
  262         margin: -85px 0 0;
  263         padding-top: 85px;
  264         width: 0;
  265       }
  266 
  267       .ddoc .module {
  268           border-color: transparent;
  269           background-color: rgba(255, 255, 255, 1);
  270           border-color: currentColor rgba(233, 233, 233, 1) rgba(233, 233, 233, 1);
  271           border-image: none;
  272           border-style: none solid solid;
  273           border-width: 0 1px 1px;
  274           box-shadow: 0 0 1px rgba(0, 0, 0, 0.07);
  275           display: block;
  276           margin-left: 0;
  277           min-height: calc(100% - 173px);
  278           overflow: auto;
  279           padding-bottom: 100px;
  280       }
  281 
  282       .ddoc .content_wrapper {
  283           background-color: rgba(242, 242, 242, 1);
  284           margin: 0 auto;
  285           max-width: 980px;
  286       }
  287 
  288       .ddoc .section {
  289         padding: 15px 25px 30px;
  290       }
  291 
  292       .ddoc .section .section {
  293         margin: 30px 0 0;
  294         padding: 0;
  295       }
  296 
  297       .ddoc .para {
  298         color: rgba(65, 65, 65, 1);
  299         font-size: 1.4em;
  300         line-height: 145%;
  301         margin-bottom: 15px;
  302       }
  303 
  304       .ddoc .ddoc_examples .para {
  305         margin-bottom: 0;
  306       }
  307 
  308       .ddoc .module_name {
  309           color: rgba(0, 0, 0, 1);
  310           display: block;
  311           font-family: Helvetica;
  312           font-size: 2.8em;
  313           font-weight: 100;
  314           margin-bottom: 0;
  315           padding: 15px 0;
  316       }
  317 
  318       .ddoc .module a {
  319           color: rgba(0, 136, 204, 1);
  320           text-decoration: none;
  321       }
  322 
  323       .ddoc .code {
  324         color: rgba(128, 128, 128, 1);
  325         font-family: Menlo,monospace;
  326         font-size: 0.85em;
  327         word-wrap: break-word;
  328       }
  329 
  330       .ddoc .code i {
  331         font-style: normal;
  332       }
  333 
  334       .ddoc .code .code {
  335         font-size: 1em;
  336       }
  337 
  338       .ddoc .code_sample {
  339         background-clip: padding-box;
  340         margin: 1px 0;
  341         text-align: left;
  342       }
  343 
  344       .ddoc .code_sample {
  345         display: block;
  346         font-size: 1.4em;
  347         margin-left: 21px;
  348       }
  349 
  350       .ddoc ol .code_sample {
  351         font-size: 1em;
  352       }
  353 
  354       .ddoc .code_lines {
  355         counter-reset: li;
  356         line-height: 1.6em;
  357         list-style: outside none none;
  358         margin: 0;
  359         padding: 0;
  360       }
  361 
  362       .ddoc .code_listing .code_sample div {
  363         margin-left: 13px;
  364         width: 93%;
  365       }
  366 
  367       .ddoc .code_listing .code_sample div .code_lines li {
  368         list-style-type: none;
  369         margin: 0;
  370         padding-right: 10px;
  371       }
  372 
  373       .ddoc .code_sample div .code_lines li::before {
  374         margin-left: -33px;
  375         margin-right: 25px;
  376       }
  377 
  378       .ddoc .code_sample div .code_lines li:nth-child(n+10)::before {
  379         margin-left: -39px;
  380         margin-right: 25px;
  381       }
  382 
  383       .ddoc .code_sample div .code_lines li:nth-child(n+100)::before {
  384         margin-left: -46px;
  385         margin-right: 25px;
  386       }
  387 
  388       .ddoc .code_sample .code_lines .code {
  389         color: #000;
  390       }
  391 
  392       .ddoc div.dlang {
  393         margin: 10px 0 21px;
  394         padding: 4px 0 2px 10px;
  395       }
  396 
  397       .ddoc div.dlang {
  398           margin: 10px 0 21px;
  399           padding: 4px 0 2px 10px;
  400       }
  401 
  402       .ddoc div.dlang {
  403         border-left: 5px solid rgba(0, 155, 51, 0.2);
  404       }
  405 
  406       .ddoc .code_lines li::before {
  407         color: rgba(128, 128, 128, 1);
  408         content: counter(li, decimal);
  409         counter-increment: li;
  410         font-family: Menlo,monospace;
  411         font-size: 0.9em;
  412         margin-right: 16px;
  413       }
  414 
  415       .ddoc .code_lines li {
  416         padding-left: 0;
  417         white-space: pre-wrap;
  418       }
  419 
  420       .ddoc .code_lines li:only-of-type::before {
  421         color: rgba(255, 255, 255, 1);
  422         content: " ";
  423       }
  424 
  425       .ddoc .code_lines li:only-of-type {
  426         color: rgba(255, 255, 255, 1);
  427         content: " ";
  428       }
  429 
  430       .ddoc .code_lines li:nth-child(n+10) {
  431         text-indent: -17px;
  432       }
  433 
  434       .ddoc .code_lines li:nth-child(n+10)::before {
  435         margin-right: 12px;
  436       }
  437 
  438       .ddoc .graybox {
  439         border: 1px solid rgba(233, 233, 233, 1);
  440         border-collapse: collapse;
  441         border-spacing: 0;
  442         empty-cells: hide;
  443         margin: 20px 0 36px;
  444         text-align: left;
  445       }
  446 
  447       .ddoc .graybox p {
  448         margin: 0;
  449         min-width: 50px;
  450       }
  451 
  452       .ddoc th {
  453         margin: 0;
  454         max-width: 260px;
  455         padding: 5px 10px 5px 10px;
  456         vertical-align: bottom;
  457       }
  458 
  459       .ddoc td {
  460         border: 1px solid rgba(233, 233, 233, 1);
  461         margin: 0;
  462         max-width: 260px;
  463         padding: 5px 10px 5px 10px;
  464         vertical-align: middle;
  465       }
  466 
  467       .punctuation {
  468         color: rgba(0, 0, 0, 1);
  469       }
  470 
  471       .comment {
  472         color: rgba(0, 131, 18, 1);
  473       }
  474 
  475       .operator {
  476         color: #000;
  477       }
  478 
  479       .keyword {
  480         color: rgba(170, 13, 145, 1);
  481       }
  482 
  483       .keyword_type {
  484         color: rgba(170, 51, 145, 1);
  485       }
  486 
  487       .string_literal {
  488         color: rgba(196, 26, 22, 1);
  489       }
  490 
  491       .ddoc_psuper_symbol {
  492         color: rgba(92, 38, 153, 1);
  493       }
  494 
  495       .param {
  496         color: rgba(0, 0, 0, 1);
  497       }
  498 
  499       .psymbol {
  500         color: rgba(0, 0, 0, 1);
  501       }
  502 
  503       .ddoc_member_header .ddoc_header_anchor .code {
  504         font-size: 1em;
  505       }
  506     </style>
  507   </head>
  508   <body id="ddoc_main" class="ddoc dlang">
  509     <div class="content_wrapper">
  510       <article class="module">
  511         <h1 class="module_name">dmd.backend.code</h1>
  512         <section id="module_content"><section class="section ddoc_sections">
  513   <div class="ddoc_summary">
  514   <p class="para">
  515     Compiler implementation of the
  516  <a href="http://www.dlang.org">D programming language</a>.
  517 
  518   </p>
  519 </div>
  520 <div class="ddoc_authors">
  521   <h4>Authors</h4>
  522   <p class="para">
  523     <a href="http://www.digitalmars.com">Walter Bright</a>
  524 
  525   </p>
  526 </div>
  527 <div class="ddoc_license">
  528   <h4>License</h4>
  529   <p class="para">
  530     <a href="http://www.boost.org/LICENSE_1_0.txt">Boost License 1.0</a>
  531 
  532   </p>
  533 </div>
  534 <div class="ddoc_section">
  535   <p class="para">
  536     <span class="ddoc_section_h">Source:</span>
  537 <a href="https://github.com/dlang/dmd/blob/master/src/dmd/backend/code.d">backend/code.d</a>
  538   </p>
  539 </div>
  540 
  541 </section>
  542 <section class="section ddoc_module_members_section">
  543   <div class="ddoc_module_members">
  544     <ul class="ddoc_members">
  545   <li class="ddoc_member">
  546   <div class="ddoc_member_header">
  547   <div class="ddoc_header_anchor">
  548   <a href="#_Declaration" id="_Declaration"><code class="code">_Declaration</code></a>
  549 </div>
  550 </div><div class="ddoc_decl">
  551   <section class="section">
  552     <div class="declaration">
  553       <h4>Declaration</h4>
  554       <div class="dlang">
  555         <p class="para">
  556           <code class="code">
  557             <span class="ddoc_anchor" id="_Declaration"></span>struct <code class="code">_Declaration</code>;
  558 
  559           </code>
  560         </p>
  561       </div>
  562     </div>
  563   </section>
  564 </div>
  565 <div class="ddoc_decl">
  566   <section class="section ddoc_sections">
  567   <div class="ddoc_summary">
  568   <p class="para">
  569     Code data type
  570   </p>
  571 </div>
  572 
  573 </section>
  574 
  575 </div>
  576 
  577 </li><li class="ddoc_member">
  578   <div class="ddoc_member_header">
  579   <div class="ddoc_header_anchor">
  580   <a href="#code_calloc" id="code_calloc"><code class="code">code_calloc</code></a>
  581 </div>
  582 </div><div class="ddoc_decl">
  583   <section class="section">
  584     <div class="declaration">
  585       <h4>Declaration</h4>
  586       <div class="dlang">
  587         <p class="para">
  588           <code class="code">
  589             <span class="ddoc_anchor" id="code_calloc"></span>nothrow code* <code class="code">code_calloc</code>();
  590 
  591           </code>
  592         </p>
  593       </div>
  594     </div>
  595   </section>
  596 </div>
  597 <div class="ddoc_decl">
  598   <section class="section ddoc_sections">
  599   <div class="ddoc_summary">
  600   <p class="para">
  601     PUBLIC FUNCTIONS
  602   </p>
  603 </div>
  604 
  605 </section>
  606 
  607 </div>
  608 
  609 </li><li class="ddoc_member">
  610   <div class="ddoc_member_header">
  611   <div class="ddoc_header_anchor">
  612   <a href="#REGSAVE" id="REGSAVE"><code class="code">REGSAVE</code></a>
  613 </div>
  614 </div><div class="ddoc_decl">
  615   <section class="section">
  616     <div class="declaration">
  617       <h4>Declaration</h4>
  618       <div class="dlang">
  619         <p class="para">
  620           <code class="code">
  621             <span class="ddoc_anchor" id="REGSAVE"></span>struct <code class="code">REGSAVE</code>;
  622 
  623           </code>
  624         </p>
  625       </div>
  626     </div>
  627   </section>
  628 </div>
  629 <div class="ddoc_decl">
  630   <section class="section ddoc_sections">
  631   <div class="ddoc_summary">
  632   <p class="para">
  633     Register save state.
  634   </p>
  635 </div>
  636 
  637 </section>
  638 
  639 </div>
  640 
  641 </li><li class="ddoc_member">
  642   <div class="ddoc_member_header">
  643   <div class="ddoc_header_anchor">
  644   <a href="#LocalSection" id="LocalSection"><code class="code">LocalSection</code></a>
  645 </div>
  646 </div><div class="ddoc_decl">
  647   <section class="section">
  648     <div class="declaration">
  649       <h4>Declaration</h4>
  650       <div class="dlang">
  651         <p class="para">
  652           <code class="code">
  653             <span class="ddoc_anchor" id="LocalSection"></span>struct <code class="code">LocalSection</code>;
  654 
  655           </code>
  656         </p>
  657       </div>
  658     </div>
  659   </section>
  660 </div>
  661 <div class="ddoc_decl">
  662   <section class="section ddoc_sections">
  663   <div class="ddoc_summary">
  664   <p class="para">
  665     Local sections on the stack
  666   </p>
  667 </div>
  668 
  669 </section>
  670 
  671 </div>
  672 
  673 </li><li class="ddoc_member">
  674   <div class="ddoc_member_header">
  675   <div class="ddoc_header_anchor">
  676   <a href="#usednteh" id="usednteh"><code class="code">usednteh</code></a>
  677 </div>
  678 </div><div class="ddoc_decl">
  679   <section class="section">
  680     <div class="declaration">
  681       <h4>Declaration</h4>
  682       <div class="dlang">
  683         <p class="para">
  684           <code class="code">
  685             <span class="ddoc_anchor" id="usednteh"></span>uint <code class="code">usednteh</code>;
  686 
  687           </code>
  688         </p>
  689       </div>
  690     </div>
  691   </section>
  692 </div>
  693 <div class="ddoc_decl">
  694   <section class="section ddoc_sections">
  695   <div class="ddoc_summary">
  696   <p class="para">
  697     As we generate code, collect information about
  698  what parts of NT exception handling we need.
  699   </p>
  700 </div>
  701 
  702 </section>
  703 
  704 </div>
  705 
  706 </li><li class="ddoc_member">
  707   <div class="ddoc_member_header">
  708   <div class="ddoc_header_anchor">
  709   <a href="#CGstate" id="CGstate"><code class="code">CGstate</code></a>
  710 </div>
  711 </div><div class="ddoc_decl">
  712   <section class="section">
  713     <div class="declaration">
  714       <h4>Declaration</h4>
  715       <div class="dlang">
  716         <p class="para">
  717           <code class="code">
  718             <span class="ddoc_anchor" id="CGstate"></span>struct <code class="code">CGstate</code>;
  719 
  720           </code>
  721         </p>
  722       </div>
  723     </div>
  724   </section>
  725 </div>
  726 <div class="ddoc_decl">
  727   <section class="section ddoc_sections">
  728   <div class="ddoc_summary">
  729   <p class="para">
  730     Code Generator State
  731   </p>
  732 </div>
  733 
  734 </section>
  735 
  736 </div>
  737 
  738 </li><li class="ddoc_member">
  739   <div class="ddoc_member_header">
  740   <div class="ddoc_header_anchor">
  741   <a href="#FuncParamRegs" id="FuncParamRegs"><code class="code">FuncParamRegs</code></a>
  742 </div>
  743 </div><div class="ddoc_decl">
  744   <section class="section">
  745     <div class="declaration">
  746       <h4>Declaration</h4>
  747       <div class="dlang">
  748         <p class="para">
  749           <code class="code">
  750             <span class="ddoc_anchor" id="FuncParamRegs"></span>struct <code class="code">FuncParamRegs</code>;
  751 
  752           </code>
  753         </p>
  754       </div>
  755     </div>
  756   </section>
  757 </div>
  758 <div class="ddoc_decl">
  759   
  760 
  761 </div>
  762 
  763 </li><li class="ddoc_member">
  764   <div class="ddoc_member_header">
  765   <div class="ddoc_header_anchor">
  766   <a href="#regimmed_set" id="regimmed_set"><code class="code">regimmed_set</code></a>
  767 </div>
  768 </div><div class="ddoc_decl">
  769   <section class="section">
  770     <div class="declaration">
  771       <h4>Declaration</h4>
  772       <div class="dlang">
  773         <p class="para">
  774           <code class="code">
  775             <span class="ddoc_anchor" id="regimmed_set"></span>nothrow void <code class="code">regimmed_set</code>(int <code class="code">reg</code>, targ_size_t <code class="code">e</code>);
  776 
  777           </code>
  778         </p>
  779       </div>
  780     </div>
  781   </section>
  782 </div>
  783 <div class="ddoc_decl">
  784   <section class="section ddoc_sections">
  785   <div class="ddoc_summary">
  786   <p class="para">
  787     Set value in regimmed for <code class="code">reg</code>.
  788 
  789   </p>
  790 </div>
  791 <div class="ddoc_section">
  792   <p class="para">
  793     <span class="ddoc_section_h">NOTE:</span>
  794 For 16 bit generator, this is always a (targ_short) sign-extended
  795       value.
  796   </p>
  797 </div>
  798 
  799 </section>
  800 
  801 </div>
  802 
  803 </li>
  804 </ul>
  805   </div>
  806 </section>
  807 </section>
  808       </article>
  809     </div>
  810   </body>
  811 </html>