I upgraded the spidermonkey with d2bs. we currently use the spidermonkey from firefox 3.6 i upgraded to ff 20. for a big speed boost
My tests show that its stable, memory and cpu efficient but would like some feed back.
Edit by RayK213
Kolton: Temp 10 has some changes that help with 1.5 core.
I forgot to mention this earlier but if you're running 1.5, make sure you delete js32.dll and libnspr4.dll
They aren't needed but d2bot# still injects them which might cause some issues.
Replace d2bs.dll and d2bs.pdb with these.link
I've made a lot of changes to make this possible.
Almost complete event rewrite, threading changes within our script engine and a lot of small function changes that may affect number conversions.
so feed back please,
updated to 1.5.1766
updated to 1.5.1767
changed compile options to not statically link 2010 runtimes
fixed some JS_Set/Clear runtime thread usage that might fix these spidermonkey crashes.
Added gc to delay, hopefully fixing out of memory.
updated to 1.5.1768
added pdb file to get correct crash logs
fixed crash with item.description
fixed crashes with removing screenhooks and event listners
changed getDialogLines to not abuse setPrivate - hopefully fixing some crashes
changed gc to run every 10 seconds on script seems like a better system than i had
removed JS_IsRunning hopefully fixes that crash
fixed gc on console thread
fixed a possible crash with reading map lvls that arn't loaded while changing acts
changed delay from sleep to waitForSingleObject - for even faster event execution
fixes the unit_setProperty crash
hopefully fixes the screenhook draw text crash
changed the GC to not use helper threads - helps with memory ussage
added getScripts() for a list of scripts
fix for the rare getBaseStat crash
took out some cross thread JS_ calls - attempting to get the abort wrong thread crash taken care of.
fixing memory problem that my getBaseStat fix created
removed roots from screenhooks - screen hooks now get properly deleted
added more checks to ensure crit sections leave
added check to TriggerOperationCallback for active cx.
added sleep for cpu usage
re-did crit sections again
increased gc frequency
1779 / 1780
added "gamepacket" event , the packet can be blocked by returning true to the attached function
re-arranged crits and added additional checks to actmap.
fixing events - packet based events were not firing
added console to script list - can now fire events in console
put gc_maybe back in - not the cause of wrong thread crash..
added getControls() for a list of controls.
changed blocking events to use a dedicated event signal instead of spawning one for each event.
improved "gamepacket" event
Adding D3stroyers getLevel crash fix
fixing colors for unicode people
added ConsoleFont to ini for unicode people
changed gc trigger ( gc every .5 mb of script size growth)
updated to ff22
libnspr4.dll is no longer needed
added room.getCollisionA() returns a Int16Array ( flat optimized array )
included build lib zipped up in dependencies/libs/release/js_static.zip - needs to be unzipped in that folder for building
1791 / 1792
added controls extended text to find # of players in games in game list, thanks kolton
fix memory leak in gamepacket event
fix script delays some people have reported
made file tools thread friendly -cyree
improved script.stop - should fix multiple defaults loading.
me.ladder works correctly -Larryw
1804 - 1810
tweak crit sections to avoid script delays / deadlocks
fixed passing args on load()
loading a script multiple times now forces previous script to stop
fixed leaks with units and controls
1810 - 1811
fixed script.send crash while script was ending
fixed screen hooks removing properly
me.name is availible in bnet
fixed crash with passing args to load()
implented noah's changes for command line cdkey loading
improved telepath finding, from wp to star old system took 230 miliseconds new one takes 15ms also has improved paths that will jump over walls as compaired to pathing thu doors and splicing that path.
Fixed script.stop() to correctly unload the thread.