JS: add partial tail-call optimization for suspend functions

This commit is contained in:
Alexey Andreev
2017-11-01 13:10:40 +03:00
parent 7c621488ad
commit f8e7861ce6
9 changed files with 119 additions and 16 deletions
@@ -96,8 +96,6 @@ var HasMetadata.sideEffects: SideEffectKind by MetadataProperty(default = SideEf
*/
var JsExpression.isSuspend: Boolean by MetadataProperty(default = false)
var JsExpression.isTailCallSuspend: Boolean by MetadataProperty(default = false)
/**
* Denotes a reference to coroutine's `result` field that contains result of
* last suspended invocation.
@@ -115,6 +113,8 @@ var JsNameRef.coroutineController by MetadataProperty(default = false)
*/
var JsNameRef.coroutineReceiver by MetadataProperty(default = false)
var JsFunction.forceStateMachine by MetadataProperty(default = false)
var JsName.imported by MetadataProperty(default = false)
var JsFunction.coroutineMetadata: CoroutineMetadata? by MetadataProperty(default = null)