fix node liveness

This commit is contained in:
Dun Liang 2020-05-07 13:37:21 +08:00
parent 49950eda35
commit fb72d78e14
4 changed files with 17 additions and 5 deletions

View File

@ -1 +1 @@
ee002b49b2fd09c70af20f5067a1667dcd07ec05
08f4ca8b2c0a2978cd3fbc9a3a6e76bd1463ca12

View File

@ -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",

View File

@ -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())

View File

@ -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) \