Index: src/js/promise.js |
diff --git a/src/js/promise.js b/src/js/promise.js |
index 6fc8728562c03f4e5def5bc4d3dcc72088b90b75..131021c979240f8f680661a6a2e0e252ccf65b27 100644 |
--- a/src/js/promise.js |
+++ b/src/js/promise.js |
@@ -24,6 +24,9 @@ var promiseRawSymbol = utils.ImportNow("promise_raw_symbol"); |
var promiseStatusSymbol = utils.ImportNow("promise_status_symbol"); |
var promiseValueSymbol = utils.ImportNow("promise_value_symbol"); |
var toStringTagSymbol = utils.ImportNow("to_string_tag_symbol"); |
+const kPromiseChain = 17; |
+const kPromiseAccept = 18; |
+const kPromiseDefer = 19; |
adamk
2016/01/05 19:10:09
Same for theses consts. I can imagine doing a clea
Dan Ehrenberg
2016/01/06 03:20:55
I don't like macros! But this patch isn't the foru
|
utils.Import(function(from) { |
MakeTypeError = from.MakeTypeError; |
@@ -239,10 +242,12 @@ function NewPromiseCapability(C) { |
} |
function PromiseDeferred() { |
adamk
2016/01/05 19:10:09
Could this be renamed "PromiseDefer" for clarity?
Dan Ehrenberg
2016/01/06 03:20:55
Agreed that this is confusing. I plan to do this a
|
+ %IncrementUseCounter(kPromiseDefer); |
return NewPromiseCapability(this); |
} |
function PromiseResolved(x) { |
adamk
2016/01/05 19:10:09
Same here, clarity. The two lines where this funct
Dan Ehrenberg
2016/01/06 03:20:55
Ditto.
|
+ %IncrementUseCounter(kPromiseAccept); |
return %_Call(PromiseCast, this, x); |
} |
@@ -306,6 +311,7 @@ function PromiseThen(onResolve, onReject) { |
// Chain is left around for now as an alias for then |
function PromiseChain(onResolve, onReject) { |
+ %IncrementUseCounter(kPromiseChain); |
return %_Call(PromiseThen, this, onResolve, onReject); |
} |