Allow performWork to be called recursively
Allow performWork to be called recursively

Currently we assume that performWork is never called recursively.
Ideally that is the case. We shouldn't rely on recursion anywhere
in Fiber.

However, to support the use of syncUpdates as an opt-in to forced-
synchronous updates, we need the ability to call performWork
recursively.

At the beginning of performWork, the state of the scheduler is saved;
before exiting, that state is restored, so that the scheduler can
continue where it left off. I've decided to use local variables to stash
the previous state. We could also store them in a record and push it to
a stack, but this approach has the advantage of being isolated to
performWork.

yangshun/react,jameszhan/react,empyrical/react,jzmq/react,aickin/react,billfeller/react,rohannair/react,acdlite/react,jorrit/react,terminatorheart/react,shergin/react,jzmq/react,tomocchino/react,billfeller/react,maxschmeling/react,edvinerikson/react,glenjamin/react,jquense/react,empyrical/react,pyitphyoaung/react,edvinerikson/react,STRML/react,yangshun/react,terminatorheart/react,terminatorheart/react,STRML/react,maxschmeling/react,Simek/react,yiminghe/react,ericyang321/react,flarnie/react,mjackson/react,quip/react,flipactual/react,leexiaosi/react,joecritch/react,rlugojr/react,maxschmeling/react,jordanpapaleo/react,mjackson/react,jameszhan/react,chicoxyzzy/react,billfeller/react,chicoxyzzy/react,rickbeerendonk/react,yangshun/react,jquense/react,niubaba63/react,yungsters/react,nhunzaker/react,kaushik94/react,trueadm/react,anushreesubramani/react,rickbeerendonk/react,acdlite/react,tomocchino/react,flarnie/react,wmydz1/react,prometheansacrifice/react,trueadm/react,richiethomas/react,yiminghe/react,nhunzaker/react,brigand/react,mjackson/react,rlugojr/react,silvestrijonathan/react,andrerpena/react,ericyang321/react,apaatsio/react,yangshun/react,trueadm/react,prometheansacrifice/react,cpojer/react,jquense/react,kaushik94/react,mjackson/react,TheBlasfem/react,quip/react,jordanpapaleo/react,claudiopro/react,flarnie/react,jdlehman/react,Simek/react,jameszhan/react,shergin/react,camsong/react,richiethomas/react,VioletLife/react,bspaulding/react,empyrical/react,niubaba63/react,chenglou/react,jdlehman/react,apaatsio/react,camsong/react,trueadm/react,jdlehman/react,facebook/react,cpojer/react,rohannair/react,krasimir/react,edvinerikson/react,dilidili/react,silvestrijonathan/react,empyrical/react,acdlite/react,mhhegazy/react,TheBlasfem/react,claudiopro/react,chicoxyzzy/react,jzmq/react,ericyang321/react,joecritch/react,empyrical/react,quip/react,claudiopro/react,mosoft521/react,pyitphyoaung/react,pyitphyoaung/react,wmydz1/react,billfeller/react,chicoxyzzy/react,AlmeroSteyn/react,brigand/react,VioletLife/react,pyitphyoaung/react,rricard/react,jameszhan/react,mhhegazy/react,chenglou/react,aickin/react,STRML/react,jorrit/react,mhhegazy/react,rohannair/react,bspaulding/react,TheBlasfem/react,silvestrijonathan/react,roth1002/react,dilidili/react,silvestrijonathan/react,Simek/react,mosoft521/react,jzmq/react,syranide/react,Simek/react,terminatorheart/react,camsong/react,mjackson/react,VioletLife/react,tomocchino/react,sekiyaeiji/react,STRML/react,jquense/react,rricard/react,nhunzaker/react,tomocchino/react,yiminghe/react,pyitphyoaung/react,empyrical/react,silvestrijonathan/react,anushreesubramani/react,andrerpena/react,syranide/react,mjackson/react,joecritch/react,kaushik94/react,prometheansacrifice/react,facebook/react,mosoft521/react,jordanpapaleo/react,anushreesubramani/react,maxschmeling/react,flarnie/react,AlmeroSteyn/react,roth1002/react,terminatorheart/react,rlugojr/react,roth1002/react,rohannair/react,nhunzaker/react,prometheansacrifice/react,camsong/react,edvinerikson/react,apaatsio/react,ArunTesco/react,kaushik94/react,rricard/react,maxschmeling/react,mosoft521/react,claudiopro/react,facebook/react,prometheansacrifice/react,jquense/react,maxschmeling/react,wmydz1/react,kaushik94/react,dilidili/react,jordanpapaleo/react,quip/react,richiethomas/react,glenjamin/react,richiethomas/react,Simek/react,rickbeerendonk/react,jameszhan/react,roth1002/react,sekiyaeiji/react,mhhegazy/react,yungsters/react,jorrit/react,yangshun/react,edvinerikson/react,syranide/react,niubaba63/react,brigand/react,syranide/react,AlmeroSteyn/react,maxschmeling/react,VioletLife/react,yangshun/react,rricard/react,flarnie/react,VioletLife/react,bspaulding/react,mhhegazy/react,jquense/react,anushreesubramani/react,krasimir/react,claudiopro/react,dilidili/react,rickbeerendonk/react,jzmq/react,flipactual/react,brigand/react,prometheansacrifice/react,quip/react,billfeller/react,jordanpapaleo/react,yiminghe/react,yangshun/react,billfeller/react,claudiopro/react,krasimir/react,shergin/react,bspaulding/react,chenglou/react,jorrit/react,ericyang321/react,AlmeroSteyn/react,jdlehman/react,aickin/react,TheBlasfem/react,aickin/react,nhunzaker/react,quip/react,TheBlasfem/react,andrerpena/react,joecritch/react,anushreesubramani/react,roth1002/react,jordanpapaleo/react,niubaba63/react,cpojer/react,jzmq/react,chenglou/react,nhunzaker/react,ericyang321/react,andrerpena/react,rickbeerendonk/react,pyitphyoaung/react,rlugojr/react,flarnie/react,VioletLife/react,jzmq/react,yungsters/react,cpojer/react,chenglou/react,cpojer/react,billfeller/react,flipactual/react,rricard/react,mhhegazy/react,leexiaosi/react,yungsters/react,tomocchino/react,shergin/react,mosoft521/react,mosoft521/react,chenglou/react,tomocchino/react,krasimir/react,sekiyaeiji/react,silvestrijonathan/react,facebook/react,apaatsio/react,edvinerikson/react,anushreesubramani/react,trueadm/react,ArunTesco/react,TheBlasfem/react,andrerpena/react,glenjamin/react,rickbeerendonk/react,rickbeerendonk/react,joecritch/react,camsong/react,rlugojr/react,shergin/react,wmydz1/react,VioletLife/react,mosoft521/react,jdlehman/react,acdlite/react,richiethomas/react,roth1002/react,Simek/react,leexiaosi/react,trueadm/react,apaatsio/react,roth1002/react,jameszhan/react,camsong/react,jameszhan/react,anushreesubramani/react,niubaba63/react,glenjamin/react,chicoxyzzy/react,quip/react,rohannair/react,acdlite/react,andrerpena/react,jquense/react,chicoxyzzy/react,jdlehman/react,yungsters/react,kaushik94/react,ArunTesco/react,cpojer/react,wmydz1/react,brigand/react,silvestrijonathan/react,chenglou/react,niubaba63/react,yungsters/react,rohannair/react,mjackson/react,AlmeroSteyn/react,joecritch/react,yiminghe/react,yiminghe/react,krasimir/react,cpojer/react,glenjamin/react,jordanpapaleo/react,bspaulding/react,krasimir/react,dilidili/react,apaatsio/react,rricard/react,facebook/react,AlmeroSteyn/react,pyitphyoaung/react,AlmeroSteyn/react,wmydz1/react,rlugojr/react,yiminghe/react,trueadm/react,richiethomas/react,aickin/react,aickin/react,tomocchino/react,wmydz1/react,glenjamin/react,niubaba63/react,acdlite/react,dilidili/react,mhhegazy/react,jorrit/react,empyrical/react,camsong/react,krasimir/react,shergin/react,rohannair/react,ericyang321/react,STRML/react,richiethomas/react,brigand/react,joecritch/react,jorrit/react,kaushik94/react,flarnie/react,acdlite/react,chicoxyzzy/react,brigand/react,aickin/react,facebook/react,apaatsio/react,dilidili/react,jorrit/react,STRML/react,shergin/react,glenjamin/react,claudiopro/react,terminatorheart/react,edvinerikson/react,STRML/react,facebook/react,nhunzaker/react,rlugojr/react,jdlehman/react,ericyang321/react,prometheansacrifice/react,Simek/react,yungsters/react,bspaulding/react,bspaulding/react