ee9b0f9f02
This change also modifies the way references are typed: Instead of using the static type (which may be a generic type like anyref) the actual type based on the referenced object is used. While this is very useful for arrays and structs (and somewhat nice for i31 not just being a number but also having some type information), it means for non-null values that the reference type is "not nullable", so it will show e.g. "ref $type0" although the static type might be "ref null $type0". Bug: v8:7748 Change-Id: I00c3258b0da6f89ec5efffd2a963889b1f341c3a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3852485 Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Matthias Liedtke <mliedtke@chromium.org> Cr-Commit-Position: refs/heads/main@{#82753}
34 lines
1.0 KiB
Plaintext
34 lines
1.0 KiB
Plaintext
Tests GC object inspection.
|
|
|
|
Running test: test
|
|
Instantiating.
|
|
Waiting for wasm script (ignoring first non-wasm script).
|
|
Setting breakpoint at offset 103 on script wasm://wasm/476d7da6
|
|
Calling main()
|
|
Paused:
|
|
Script wasm://wasm/476d7da6 byte offset 103: Wasm opcode 0x1a (kExprDrop)
|
|
Scope:
|
|
at $main (0:103):
|
|
- scope (wasm-expression-stack):
|
|
0: Array ((ref $ArrC))
|
|
1: hello world (stringref)
|
|
object details:
|
|
0: Struct ((ref $StrA))
|
|
length: 1 (number)
|
|
- scope (local):
|
|
$var0: hello world (stringref)
|
|
$varA: Struct ((ref $StrA))
|
|
$varB: null ((ref null $ArrC))
|
|
object details:
|
|
$byte: 127 (i8)
|
|
$word: 32767 (i16)
|
|
$pointer: Struct ((ref $veryLongNameWithMoreThanOneHundredAndTwentyEightCharactersToTestThatWeAreHandlingStringBufferOverflowWithoutCrashing_ThisWontGetTruncated))
|
|
- scope (module):
|
|
instance: exports: "main" (Function)
|
|
module: Module
|
|
functions: "$main": (Function)
|
|
globals: "$global0": function $main() { [native code] } ((ref null $type3))
|
|
at (anonymous) (0:17):
|
|
-- skipped
|
|
exports.main returned!
|