Add Thread.blockContainer

Store the thread's blocks at blockContainer letting execute quickly
determine the block source. Monitor threads are a monitor thread. They
do not become a target thread suddenly.
This commit is contained in:
Michael "Z" Goddard 2018-01-24 14:56:02 -05:00
parent ab8d8e5f34
commit 4286e3e982
No known key found for this signature in database
GPG key ID: 762CD40DD5349872
4 changed files with 13 additions and 7 deletions
src/engine

View file

@ -861,6 +861,9 @@ class Runtime extends EventEmitter {
thread.target = target;
thread.stackClick = opts.stackClick;
thread.updateMonitor = opts.updateMonitor;
thread.blockContainer = opts.updateMonitor ?
this.monitorBlocks :
target.blocks;
thread.pushStack(id);
this.threads.push(thread);
@ -890,6 +893,7 @@ class Runtime extends EventEmitter {
newThread.target = thread.target;
newThread.stackClick = thread.stackClick;
newThread.updateMonitor = thread.updateMonitor;
newThread.blockContainer = thread.blockContainer;
newThread.pushStack(thread.topBlock);
const i = this.threads.indexOf(thread);
if (i > -1) {