|
235 | 235 | <div class="pytorch-left-menu-search">
|
236 | 236 |
|
237 | 237 | <div class="version">
|
238 |
| - <a href='https://pytorch.org/docs/versions.html'>master (2.1.0a0+gitb23cfe5 ) ▼</a> |
| 238 | + <a href='https://pytorch.org/docs/versions.html'>master (2.1.0a0+gite402259 ) ▼</a> |
239 | 239 | </div>
|
240 | 240 |
|
241 | 241 |
|
@@ -472,6 +472,7 @@ <h1>Source code for torch._dynamo.eval_frame</h1><div class="highlight"><pre>
|
472 | 472 |
|
473 | 473 | <span class="kn">import</span> <span class="nn">contextlib</span>
|
474 | 474 | <span class="kn">import</span> <span class="nn">dataclasses</span>
|
| 475 | +<span class="kn">import</span> <span class="nn">dis</span> |
475 | 476 | <span class="kn">import</span> <span class="nn">functools</span>
|
476 | 477 | <span class="kn">import</span> <span class="nn">inspect</span>
|
477 | 478 | <span class="kn">import</span> <span class="nn">logging</span>
|
@@ -811,11 +812,21 @@ <h1>Source code for torch._dynamo.eval_frame</h1><div class="highlight"><pre>
|
811 | 812 | <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">callback</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
|
812 | 813 |
|
813 | 814 |
|
| 815 | +<span class="k">def</span> <span class="nf">first_real_inst_idx</span><span class="p">(</span><span class="n">code</span><span class="p">):</span> |
| 816 | + <span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">version_info</span> <span class="o"><</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">11</span><span class="p">):</span> |
| 817 | + <span class="k">return</span> <span class="mi">0</span> |
| 818 | + <span class="k">for</span> <span class="n">inst</span> <span class="ow">in</span> <span class="n">dis</span><span class="o">.</span><span class="n">get_instructions</span><span class="p">(</span><span class="n">code</span><span class="p">):</span> |
| 819 | + <span class="k">if</span> <span class="n">inst</span><span class="o">.</span><span class="n">opname</span> <span class="o">==</span> <span class="s2">"RESUME"</span><span class="p">:</span> |
| 820 | + <span class="k">return</span> <span class="n">inst</span><span class="o">.</span><span class="n">offset</span> <span class="o">//</span> <span class="mi">2</span> |
| 821 | + <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">"RESUME instruction not found in code"</span><span class="p">)</span> |
| 822 | + |
| 823 | + |
814 | 824 | <span class="k">def</span> <span class="nf">catch_errors_wrapper</span><span class="p">(</span><span class="n">callback</span><span class="p">,</span> <span class="n">hooks</span><span class="p">:</span> <span class="n">Hooks</span><span class="p">):</span>
|
815 | 825 | <span class="nd">@functools</span><span class="o">.</span><span class="n">wraps</span><span class="p">(</span><span class="n">callback</span><span class="p">)</span>
|
816 | 826 | <span class="k">def</span> <span class="nf">catch_errors</span><span class="p">(</span><span class="n">frame</span><span class="p">,</span> <span class="n">cache_size</span><span class="p">):</span>
|
817 | 827 | <span class="k">if</span> <span class="p">(</span>
|
818 |
| - <span class="n">frame</span><span class="o">.</span><span class="n">f_lasti</span> <span class="o">>=</span> <span class="mi">0</span> |
| 828 | + <span class="c1"># TODO: the first condition is not covered by any test</span> |
| 829 | + <span class="n">frame</span><span class="o">.</span><span class="n">f_lasti</span> <span class="o">>=</span> <span class="n">first_real_inst_idx</span><span class="p">(</span><span class="n">frame</span><span class="o">.</span><span class="n">f_code</span><span class="p">)</span> |
819 | 830 | <span class="ow">or</span> <span class="n">skipfiles</span><span class="o">.</span><span class="n">check</span><span class="p">(</span><span class="n">frame</span><span class="o">.</span><span class="n">f_code</span><span class="o">.</span><span class="n">co_filename</span><span class="p">)</span>
|
820 | 831 | <span class="ow">or</span> <span class="n">config</span><span class="o">.</span><span class="n">disable</span>
|
821 | 832 | <span class="p">):</span>
|
|
0 commit comments