projects
/
nmigen.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
62de023
)
tracer: add PyPy support to get_var_name().
author
Jacob Lifshay
<programmerjake@gmail.com>
Tue, 9 Jul 2019 07:29:01 +0000
(
00:29
-0700)
committer
whitequark
<cz@m-labs.hk>
Tue, 9 Jul 2019 07:29:01 +0000
(07:29 +0000)
Fixes #141.
.travis.yml
patch
|
blob
|
history
nmigen/tracer.py
patch
|
blob
|
history
diff --git
a/.travis.yml
b/.travis.yml
index fea7d808bc762f2eced71409c3edf8ed544ff84c..22af9037fc105afd71bd49d7fddf0a8dc74d7b91 100644
(file)
--- a/
.travis.yml
+++ b/
.travis.yml
@@
-3,6
+3,7
@@
language: python
python:
- "3.6"
- "3.7"
+ - "pypy3"
cache:
directories:
- "$HOME/.ccache"
@@
-23,3
+24,7
@@
script:
- python setup.py develop
- coverage run -m unittest discover
- codecov
+matrix:
+ fast_finish: true
+ allow_failures:
+ - python: "pypy3"
diff --git
a/nmigen/tracer.py
b/nmigen/tracer.py
index 49c965048e3848a13462ff96d21a9f9b1e26963f..eb8a71e0233554469d6f887ff73aeda9cfc4ffe2 100644
(file)
--- a/
nmigen/tracer.py
+++ b/
nmigen/tracer.py
@@
-20,7
+20,12
@@
def get_var_name(depth=2, default=_raise_exception):
code = frame.f_code
call_index = frame.f_lasti
- call_opc = opname[code.co_code[call_index]]
+ while True:
+ call_opc = opname[code.co_code[call_index]]
+ if call_opc in ("EXTENDED_ARG"):
+ call_index += 2
+ else:
+ break
if call_opc not in ("CALL_FUNCTION", "CALL_FUNCTION_KW", "CALL_FUNCTION_EX", "CALL_METHOD"):
return None