v8/test/inspector/runtime/evaluate-async-expected.txt
Caitlin Potter 52ff3ae48b [builtins] implement RunMicrotasks pump as a code stub
- Implement RunMicrotasks in CSA to prevent a potentially large number
  of jumps between C++ and JS code while consuming te queue. Appears to
  provide a ~60% speedup in microtask-heavy code, which from limited
  testing appears to scale linearly.

  The code-stub microtask pump bails out to the old C++ microtask pump
  if it encounters a CallHandlerInfo microtask, and remains in C++ for
  the remainder of the queue (returning to the JS/stub implementation
  after the bailed out queue is exhausted).

- Add a variation of JSEntryStub which enters the new RunMicrotasks code
  stub.

- Add a new RunMicrotasks helper to Execution, which uses the
  RunMicrotasks entry stub.

Bug: 
Change-Id: I4667d4dd633d24455ea5d7cef239da0af1a7365e
Reviewed-on: https://chromium-review.googlesource.com/650486
Commit-Queue: Caitlin Potter <caitp@igalia.com>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49842}
2017-12-04 17:55:29 +00:00

250 lines
5.7 KiB
Plaintext

Tests that Runtime.evaluate works with awaitPromise flag.
Running test: testResolvedPromise
{
id : <messageId>
result : {
result : {
description : 239
type : number
value : 239
}
}
}
Running test: testRejectedPromise
{
id : <messageId>
result : {
exceptionDetails : {
columnNumber : 0
exception : {
description : 239
type : number
value : 239
}
exceptionId : <exceptionId>
lineNumber : 0
text : Uncaught (in promise)
}
result : {
description : 239
type : number
value : 239
}
}
}
Running test: testRejectedPromiseWithError
{
id : <messageId>
result : {
exceptionDetails : {
columnNumber : 11
exception : {
className : Error
description : Error: MyError at foo (<anonymous>:13:11) at throwError (<anonymous>:15:3)
objectId : <objectId>
subtype : error
type : object
}
exceptionId : <exceptionId>
lineNumber : 13
scriptId : <scriptId>
stackTrace : {
callFrames : [
[0] : {
columnNumber : 10
functionName : foo
lineNumber : 12
scriptId : <scriptId>
url :
}
[1] : {
columnNumber : 2
functionName : throwError
lineNumber : 14
scriptId : <scriptId>
url :
}
]
}
text : Uncaught (in promise) Error: MyError
}
result : {
className : Error
description : Error: MyError at foo (<anonymous>:13:11) at throwError (<anonymous>:15:3)
objectId : <objectId>
subtype : error
type : object
}
}
}
Running test: testRejectedPromiseWithSyntaxError
{
id : <messageId>
result : {
exceptionDetails : {
columnNumber : 5
exception : {
className : SyntaxError
description : SyntaxError: Unexpected token } at foo (<anonymous>:21:5) at throwSyntaxError (<anonymous>:23:3)
objectId : <objectId>
subtype : error
type : object
}
exceptionId : <exceptionId>
lineNumber : 21
scriptId : <scriptId>
stackTrace : {
callFrames : [
[0] : {
columnNumber : 4
functionName : foo
lineNumber : 20
scriptId : <scriptId>
url :
}
[1] : {
columnNumber : 2
functionName : throwSyntaxError
lineNumber : 22
scriptId : <scriptId>
url :
}
]
}
text : Uncaught (in promise) SyntaxError: Unexpected token }
}
result : {
className : SyntaxError
description : SyntaxError: Unexpected token } at foo (<anonymous>:21:5) at throwSyntaxError (<anonymous>:23:3)
objectId : <objectId>
subtype : error
type : object
}
}
}
Running test: testPrimitiveValueInsteadOfPromise
{
id : <messageId>
result : {
result : {
type : boolean
value : true
}
}
}
Running test: testObjectInsteadOfPromise
{
id : <messageId>
result : {
result : {
type : object
value : {
}
}
}
}
Running test: testPendingPromise
{
id : <messageId>
result : {
result : {
type : object
value : {
a : 239
}
}
}
}
Running test: testExceptionInEvaluate
{
id : <messageId>
result : {
exceptionDetails : {
columnNumber : 0
exception : {
description : 239
type : number
value : 239
}
exceptionId : <exceptionId>
lineNumber : 0
scriptId : <scriptId>
text : Uncaught
}
result : {
description : 239
type : number
value : 239
}
}
}
Running test: testThenableJob
{
id : <messageId>
result : {
result : {
description : 42
type : number
value : 42
}
}
}
Running test: testLastEvaluatedResult
{
id : <messageId>
result : {
result : {
description : 42
type : number
value : 42
}
}
}
{
id : <messageId>
result : {
result : {
description : 42
type : number
value : 42
}
}
}
Running test: testRuntimeDisable
Resolving promise..
{
id : <messageId>
result : {
result : {
className : Object
description : Object
objectId : <objectId>
type : object
}
}
}
Promise resolved
Running test: testImmediatelyResolvedAfterAfterContextDestroyed
Destroying context..
{
error : {
code : -32000
message : Execution context was destroyed.
}
id : <messageId>
}
Context destroyed
Triggering weak callback..