forked from maxjhandsome/jittor
fix node liveness
This commit is contained in:
parent
49950eda35
commit
fb72d78e14
|
@ -1 +1 @@
|
|||
ee002b49b2fd09c70af20f5067a1667dcd07ec05
|
||||
08f4ca8b2c0a2978cd3fbc9a3a6e76bd1463ca12
|
||||
|
|
2
setup.py
2
setup.py
|
@ -21,7 +21,7 @@ with open(os.path.join(path, "README.src.md")) as fh:
|
|||
|
||||
setuptools.setup(
|
||||
name='jittor',
|
||||
version='1.1.0',
|
||||
version='1.1.1',
|
||||
# scripts=[],
|
||||
author="Jittor Group",
|
||||
author_email="ran.donglang@gmail.com",
|
||||
|
|
|
@ -108,7 +108,12 @@ struct NanoVector {
|
|||
|
||||
// @pyjt(__map_getitem__)
|
||||
inline NanoVector slice(Slice slice) {
|
||||
if (slice.mask&2) slice.stop = size();
|
||||
if (slice.step>0) {
|
||||
if (slice.mask&2) slice.stop = size();
|
||||
} else {
|
||||
if (slice.mask&1) slice.start = size()-1;
|
||||
if (slice.mask&2) slice.stop = 0;
|
||||
}
|
||||
if (slice.start<0) slice.start += size();
|
||||
if (slice.stop<0) slice.stop += size();
|
||||
ASSERT(slice.start>=0 && slice.stop>=0 && slice.start<size() && slice.stop<=size())
|
||||
|
|
11
src/node.h
11
src/node.h
|
@ -12,6 +12,7 @@
|
|||
namespace jittor {
|
||||
|
||||
extern unordered_map<void*, int64> lived_nodes;
|
||||
extern int64 total_node;
|
||||
|
||||
struct NodeFlags {
|
||||
typedef uint16 nf_t;
|
||||
|
@ -107,7 +108,7 @@ struct Node {
|
|||
|
||||
#ifdef NODE_MEMCHECK
|
||||
inline Node() {
|
||||
lived_nodes[(void*)this] = lived_nodes.size()+1;
|
||||
lived_nodes[(void*)this] = ++total_node;
|
||||
registe_node_trace(this);
|
||||
}
|
||||
|
||||
|
@ -132,7 +133,13 @@ struct Node {
|
|||
#endif
|
||||
}
|
||||
void memcheck_all_exist() const;
|
||||
int64 __id() const;
|
||||
inline int64 __id() const {
|
||||
#ifdef NODE_MEMCHECK
|
||||
return lived_nodes.at((void*)this);
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
// release from counter and memory checker
|
||||
void __release();
|
||||
#define CHECK_NODE_EXIST(node) \
|
||||
|
|
Loading…
Reference in New Issue