Skip to content

Conversation

@d-smirnov
Copy link
Contributor

Recursive destructor call replaced with non-recursive (based on ExpandDataflow) for Call nodes. This prevents OutOfStack
exception during unwinding a chain of destructors for large-sized subtrees based on smart-pointers.

@d-smirnov d-smirnov force-pushed the dismantler branch 3 times, most recently from ebde104 to 1101cd2 Compare April 13, 2021 21:00
@jroesch jroesch requested a review from mbrookhart April 14, 2021 17:24
@d-smirnov
Copy link
Contributor Author

d-smirnov commented Apr 14, 2021 via email

@rkimball
Copy link
Contributor

I mistyped my stack size. Mine is the same as yours. I tried 1e5 and it worked but failed at 1e6. Since it does not take long to run even 1e6 you can just set it there and it should fail in most places. 16384 is just too small

…l nodes.

Recursive destructor call replaced with non-recursive (based on
ExpandDataflow) for Call nodes. This prevents OutOfStack
exception during unwinding a chain of destructors for large-sized
subtrees based on smart-pointers.

Change-Id: Ib9da3ff8af3a0a41287b8ce9ab2bee2d0813d01c

Addressed requested changes

Addressed requested changes, simplified the code
added unit test

Change-Id: I7fdd44da3b6c366a555fd9157fa3630b6e789d64
Change-Id: I6328e423670f185393d50ccd3d6fdc1326be3767
@mbrookhart mbrookhart merged commit 6981839 into apache:main Apr 19, 2021
@mbrookhart
Copy link
Contributor

Thanks @d-smirnov @rkimball @yzhliu

mehrdadh pushed a commit to mehrdadh/tvm that referenced this pull request Apr 22, 2021
…l nodes. (apache#7832)

* [Relay] Recursive destructor call replaced with non-recursive for Call nodes.

Recursive destructor call replaced with non-recursive (based on
ExpandDataflow) for Call nodes. This prevents OutOfStack
exception during unwinding a chain of destructors for large-sized
subtrees based on smart-pointers.

Change-Id: Ib9da3ff8af3a0a41287b8ce9ab2bee2d0813d01c

Addressed requested changes

Addressed requested changes, simplified the code
added unit test

Change-Id: I7fdd44da3b6c366a555fd9157fa3630b6e789d64

* removed inline befor Call destructor

Change-Id: I6328e423670f185393d50ccd3d6fdc1326be3767
echuraev pushed a commit to echuraev/tvm that referenced this pull request Apr 29, 2021
…l nodes. (apache#7832)

* [Relay] Recursive destructor call replaced with non-recursive for Call nodes.

Recursive destructor call replaced with non-recursive (based on
ExpandDataflow) for Call nodes. This prevents OutOfStack
exception during unwinding a chain of destructors for large-sized
subtrees based on smart-pointers.

Change-Id: Ib9da3ff8af3a0a41287b8ce9ab2bee2d0813d01c

Addressed requested changes

Addressed requested changes, simplified the code
added unit test

Change-Id: I7fdd44da3b6c366a555fd9157fa3630b6e789d64

* removed inline befor Call destructor

Change-Id: I6328e423670f185393d50ccd3d6fdc1326be3767
trevor-m pushed a commit to trevor-m/tvm that referenced this pull request May 6, 2021
…l nodes. (apache#7832)

* [Relay] Recursive destructor call replaced with non-recursive for Call nodes.

Recursive destructor call replaced with non-recursive (based on
ExpandDataflow) for Call nodes. This prevents OutOfStack
exception during unwinding a chain of destructors for large-sized
subtrees based on smart-pointers.

Change-Id: Ib9da3ff8af3a0a41287b8ce9ab2bee2d0813d01c

Addressed requested changes

Addressed requested changes, simplified the code
added unit test

Change-Id: I7fdd44da3b6c366a555fd9157fa3630b6e789d64

* removed inline befor Call destructor

Change-Id: I6328e423670f185393d50ccd3d6fdc1326be3767
trevor-m pushed a commit to trevor-m/tvm that referenced this pull request May 6, 2021
…l nodes. (apache#7832)

* [Relay] Recursive destructor call replaced with non-recursive for Call nodes.

Recursive destructor call replaced with non-recursive (based on
ExpandDataflow) for Call nodes. This prevents OutOfStack
exception during unwinding a chain of destructors for large-sized
subtrees based on smart-pointers.

Change-Id: Ib9da3ff8af3a0a41287b8ce9ab2bee2d0813d01c

Addressed requested changes

Addressed requested changes, simplified the code
added unit test

Change-Id: I7fdd44da3b6c366a555fd9157fa3630b6e789d64

* removed inline befor Call destructor

Change-Id: I6328e423670f185393d50ccd3d6fdc1326be3767
trevor-m pushed a commit to trevor-m/tvm that referenced this pull request May 6, 2021
…l nodes. (apache#7832)

* [Relay] Recursive destructor call replaced with non-recursive for Call nodes.

Recursive destructor call replaced with non-recursive (based on
ExpandDataflow) for Call nodes. This prevents OutOfStack
exception during unwinding a chain of destructors for large-sized
subtrees based on smart-pointers.

Change-Id: Ib9da3ff8af3a0a41287b8ce9ab2bee2d0813d01c

Addressed requested changes

Addressed requested changes, simplified the code
added unit test

Change-Id: I7fdd44da3b6c366a555fd9157fa3630b6e789d64

* removed inline befor Call destructor

Change-Id: I6328e423670f185393d50ccd3d6fdc1326be3767
trevor-m pushed a commit to neo-ai/tvm that referenced this pull request May 11, 2021
…l nodes. (apache#7832)

* [Relay] Recursive destructor call replaced with non-recursive for Call nodes.

Recursive destructor call replaced with non-recursive (based on
ExpandDataflow) for Call nodes. This prevents OutOfStack
exception during unwinding a chain of destructors for large-sized
subtrees based on smart-pointers.

Change-Id: Ib9da3ff8af3a0a41287b8ce9ab2bee2d0813d01c

Addressed requested changes

Addressed requested changes, simplified the code
added unit test

Change-Id: I7fdd44da3b6c366a555fd9157fa3630b6e789d64

* removed inline befor Call destructor

Change-Id: I6328e423670f185393d50ccd3d6fdc1326be3767
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants