a5a87e1e87
Maglev is mid-tier optimising compiler designed mainly for compilation speed that can still generate good code for straightforward JS. This initial commit is an MVP for Maglev which can compile and run some very simple code, and sets up a framework that we can build upon. Design: https://docs.google.com/document/d/13CwgSL4yawxuYg3iNlM-4ZPCB8RgJya6b8H_E2F-Aek/edit# Bug: v8:7700 Change-Id: I5ae074ae099126c2c0d50864ac9b3d6fa5c9e85a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3483664 Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#79247}
821 lines
28 KiB
Plaintext
821 lines
28 KiB
Plaintext
Checks that Error.stackTraceLimit works correctly
|
|
|
|
Running test: testErrorStackTraceLimitWithRuntimeDisabled
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
exceptionDetails : {
|
|
columnNumber : 4
|
|
exception : {
|
|
className : Error
|
|
description : Error: Thrown from foo! at test.js:9:11 at recurse (test.js:4:10)
|
|
objectId : <objectId>
|
|
subtype : error
|
|
type : object
|
|
}
|
|
exceptionId : <exceptionId>
|
|
lineNumber : 8
|
|
scriptId : <scriptId>
|
|
text : Uncaught
|
|
}
|
|
result : {
|
|
className : Error
|
|
description : Error: Thrown from foo! at test.js:9:11 at recurse (test.js:4:10)
|
|
objectId : <objectId>
|
|
subtype : error
|
|
type : object
|
|
}
|
|
}
|
|
}
|
|
|
|
Running test: testErrorStackTraceLimitWithRuntimeEnabled
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
exceptionDetails : {
|
|
columnNumber : 4
|
|
exception : {
|
|
className : Error
|
|
description : Error: Thrown from foo! at test.js:9:11 at recurse (test.js:4:10)
|
|
objectId : <objectId>
|
|
subtype : error
|
|
type : object
|
|
}
|
|
exceptionId : <exceptionId>
|
|
lineNumber : 8
|
|
scriptId : <scriptId>
|
|
stackTrace : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 10
|
|
functionName :
|
|
lineNumber : 8
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[1] : {
|
|
columnNumber : 9
|
|
functionName : recurse
|
|
lineNumber : 3
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[2] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[3] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[4] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[5] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[6] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[7] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[8] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[9] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[10] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[11] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[12] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[13] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[14] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[15] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[16] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[17] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[18] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[19] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[20] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[21] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[22] : {
|
|
columnNumber : 2
|
|
functionName : foo
|
|
lineNumber : 7
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[23] : {
|
|
columnNumber : 0
|
|
functionName :
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
}
|
|
text : Uncaught
|
|
}
|
|
result : {
|
|
className : Error
|
|
description : Error: Thrown from foo! at test.js:9:11 at recurse (test.js:4:10)
|
|
objectId : <objectId>
|
|
subtype : error
|
|
type : object
|
|
}
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
exceptionDetails : {
|
|
columnNumber : 4
|
|
exception : {
|
|
className : Error
|
|
description : Error: Thrown from foo!
|
|
objectId : <objectId>
|
|
subtype : error
|
|
type : object
|
|
}
|
|
exceptionId : <exceptionId>
|
|
lineNumber : 8
|
|
scriptId : <scriptId>
|
|
text : Uncaught
|
|
}
|
|
result : {
|
|
className : Error
|
|
description : Error: Thrown from foo!
|
|
objectId : <objectId>
|
|
subtype : error
|
|
type : object
|
|
}
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
exceptionDetails : {
|
|
columnNumber : 4
|
|
exception : {
|
|
className : Error
|
|
description : Error: Thrown from foo! at test.js:9:11 at recurse (test.js:4:10) at recurse (test.js:3:23) at recurse (test.js:3:23) at recurse (test.js:3:23)
|
|
objectId : <objectId>
|
|
subtype : error
|
|
type : object
|
|
}
|
|
exceptionId : <exceptionId>
|
|
lineNumber : 8
|
|
scriptId : <scriptId>
|
|
stackTrace : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 10
|
|
functionName :
|
|
lineNumber : 8
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[1] : {
|
|
columnNumber : 9
|
|
functionName : recurse
|
|
lineNumber : 3
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[2] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[3] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[4] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
]
|
|
}
|
|
text : Uncaught
|
|
}
|
|
result : {
|
|
className : Error
|
|
description : Error: Thrown from foo! at test.js:9:11 at recurse (test.js:4:10) at recurse (test.js:3:23) at recurse (test.js:3:23) at recurse (test.js:3:23)
|
|
objectId : <objectId>
|
|
subtype : error
|
|
type : object
|
|
}
|
|
}
|
|
}
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
exceptionDetails : {
|
|
columnNumber : 4
|
|
exception : {
|
|
className : Error
|
|
description : Error: Thrown from foo! at test.js:9:11 at recurse (test.js:4:10) at recurse (test.js:3:23) at recurse (test.js:3:23) at recurse (test.js:3:23) at recurse (test.js:3:23) at recurse (test.js:3:23) at recurse (test.js:3:23) at recurse (test.js:3:23) at recurse (test.js:3:23)
|
|
objectId : <objectId>
|
|
subtype : error
|
|
type : object
|
|
}
|
|
exceptionId : <exceptionId>
|
|
lineNumber : 8
|
|
scriptId : <scriptId>
|
|
stackTrace : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 10
|
|
functionName :
|
|
lineNumber : 8
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[1] : {
|
|
columnNumber : 9
|
|
functionName : recurse
|
|
lineNumber : 3
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[2] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[3] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[4] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[5] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[6] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[7] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[8] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[9] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
]
|
|
}
|
|
text : Uncaught
|
|
}
|
|
result : {
|
|
className : Error
|
|
description : Error: Thrown from foo! at test.js:9:11 at recurse (test.js:4:10) at recurse (test.js:3:23) at recurse (test.js:3:23) at recurse (test.js:3:23) at recurse (test.js:3:23) at recurse (test.js:3:23) at recurse (test.js:3:23) at recurse (test.js:3:23) at recurse (test.js:3:23)
|
|
objectId : <objectId>
|
|
subtype : error
|
|
type : object
|
|
}
|
|
}
|
|
}
|
|
|
|
Running test: testErrorStackTraceLimitNonNumber
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
exceptionDetails : {
|
|
columnNumber : 4
|
|
exception : {
|
|
className : Error
|
|
description : Error: Thrown from foo!
|
|
objectId : <objectId>
|
|
subtype : error
|
|
type : object
|
|
}
|
|
exceptionId : <exceptionId>
|
|
lineNumber : 8
|
|
scriptId : <scriptId>
|
|
stackTrace : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 10
|
|
functionName :
|
|
lineNumber : 8
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[1] : {
|
|
columnNumber : 9
|
|
functionName : recurse
|
|
lineNumber : 3
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[2] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[3] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[4] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[5] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[6] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[7] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[8] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[9] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[10] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[11] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[12] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[13] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[14] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[15] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[16] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[17] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[18] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[19] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[20] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[21] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[22] : {
|
|
columnNumber : 2
|
|
functionName : foo
|
|
lineNumber : 7
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[23] : {
|
|
columnNumber : 0
|
|
functionName :
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
}
|
|
text : Uncaught
|
|
}
|
|
result : {
|
|
className : Error
|
|
description : Error: Thrown from foo!
|
|
objectId : <objectId>
|
|
subtype : error
|
|
type : object
|
|
}
|
|
}
|
|
}
|
|
|
|
Running test: testErrorStackTraceLimitDeleted
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
exceptionDetails : {
|
|
columnNumber : 4
|
|
exception : {
|
|
className : Error
|
|
description : Error: Thrown from foo!
|
|
objectId : <objectId>
|
|
subtype : error
|
|
type : object
|
|
}
|
|
exceptionId : <exceptionId>
|
|
lineNumber : 8
|
|
scriptId : <scriptId>
|
|
stackTrace : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 10
|
|
functionName :
|
|
lineNumber : 8
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[1] : {
|
|
columnNumber : 9
|
|
functionName : recurse
|
|
lineNumber : 3
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[2] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[3] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[4] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[5] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[6] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[7] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[8] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[9] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[10] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[11] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[12] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[13] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[14] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[15] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[16] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[17] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[18] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[19] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[20] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[21] : {
|
|
columnNumber : 22
|
|
functionName : recurse
|
|
lineNumber : 2
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[22] : {
|
|
columnNumber : 2
|
|
functionName : foo
|
|
lineNumber : 7
|
|
scriptId : <scriptId>
|
|
url : test.js
|
|
}
|
|
[23] : {
|
|
columnNumber : 0
|
|
functionName :
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
}
|
|
text : Uncaught
|
|
}
|
|
result : {
|
|
className : Error
|
|
description : Error: Thrown from foo!
|
|
objectId : <objectId>
|
|
subtype : error
|
|
type : object
|
|
}
|
|
}
|
|
}
|