Javascript PyV8禁用自动垃圾收集

Javascript PyV8禁用自动垃圾收集,javascript,python,garbage-collection,v8,pyv8,Javascript,Python,Garbage Collection,V8,Pyv8,我遇到了一个似乎与Python和PyV8的垃圾收集交互方式有关的问题。我暂时解决了这个问题,禁用了python的垃圾收集,并在没有运行JavaScript时每隔几秒钟一起调用gc.collect和PyV8.JSEngine.collect。然而,这似乎是一个相当黑客修复。。。特别是,我担心PyV8可能会在不合适的时候决定收集,并导致问题。有没有办法永久禁用PyV8的自动垃圾收集,至少在我有几天的时间来弄清楚到底发生了什么,从而真正解决问题之前?可以通过更改V8的源代码永久禁用垃圾收集 在V8的源

我遇到了一个似乎与Python和PyV8的垃圾收集交互方式有关的问题。我暂时解决了这个问题,禁用了python的垃圾收集,并在没有运行JavaScript时每隔几秒钟一起调用
gc.collect
PyV8.JSEngine.collect
。然而,这似乎是一个相当黑客修复。。。特别是,我担心
PyV8
可能会在不合适的时候决定收集,并导致问题。有没有办法永久禁用PyV8的自动垃圾收集,至少在我有几天的时间来弄清楚到底发生了什么,从而真正解决问题之前?

可以通过更改V8的源代码永久禁用垃圾收集

在V8的源代码中,编辑src/heap.cc,并将return语句放在heap::CollectGarbage的开头


除此之外,这是不可能的(AFAICT):V8总是在内存即将耗尽时调用垃圾收集。没有(可配置的)方法不让它这样做。

您遇到了一个问题。。。但问题是什么?问题是javascript代码将随机停止执行。它曾经是SEGFULT,但在我完成上述修复后,它不再是SEGFULTS。。但是有时候javascript根本无法运行。这个问题与赏金无关,赏金将由谁来决定如何征服V8的垃圾收集?我想知道是否是这样。看来我得自己修补才能实现我想要的。。。感谢您为此提供了一个良好的起点!为了使其正常工作,我必须禁用快照,如下所示:
makex64.debug-j9snapshot=off