IonMonkey: Trace embedded GC pointers in JIT code

RESOLVED FIXED

Status

()

Core
JavaScript Engine
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: dvander, Assigned: dvander)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Assignee)

Description

6 years ago
We have Assembler functions that embed GC pointers and Values into code. We handle this already for jumps and relative calls, but not moves.
(Assignee)

Updated

6 years ago
Assignee: general → dvander
Status: NEW → ASSIGNED
(Assignee)

Comment 1

6 years ago
Created attachment 566027 [details] [diff] [review]
part 1: renaming

Prefix "jump" before occurrences of "relocation"
Attachment #566027 - Flags: review?(sstangl)
(Assignee)

Comment 2

6 years ago
Created attachment 566028 [details] [diff] [review]
part 2: emit and trace relocation info
Attachment #566028 - Flags: review?(sstangl)
(Assignee)

Updated

6 years ago
Blocks: 684402

Updated

6 years ago
Attachment #566027 - Flags: review?(sstangl) → review+
(Assignee)

Updated

6 years ago
Duplicate of this bug: 691600
Comment on attachment 566028 [details] [diff] [review]
part 2: emit and trace relocation info

Review of attachment 566028 [details] [diff] [review]:
-----------------------------------------------------------------

::: js/src/ion/IonCode.h
@@ +84,5 @@
>          bufferSize_(bufferSize),
>          insnSize_(0),
>          dataSize_(0),
> +        jumpRelocTableSize_(0),
> +        dataRelocTableSize_(0)

Naming things "size" bothers me a bit: it's unclear whether the name means "the number of items" or "the number of bytes". Could we use "Size" to mean the former, and "SizeBytes" to mean the latter? ("Bytes" by itself is also ambiguous.)

If you agree, I wouldn't mind doing this in a separate patch, since a bunch of places use "Size" to mean a bytecount.
Attachment #566028 - Flags: review?(sstangl) → review+
(Assignee)

Comment 5

6 years ago
Agree - Length_ doesn't really make sense either because the length of individual "elements" is variable. I'll change it for those two members, and save the rest for later.

http://hg.mozilla.org/projects/ionmonkey/rev/24db30e862ec
Status: ASSIGNED → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.