Closed Bug 683407 Opened 13 years ago Closed 13 years ago

IonMonkey: Trace embedded GC pointers in JIT code

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: dvander, Assigned: dvander)

References

Details

Attachments

(2 files)

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: general → dvander
Status: NEW → ASSIGNED
Attached patch part 1: renamingSplinter Review
Prefix "jump" before occurrences of "relocation"
Attachment #566027 - Flags: review?(sstangl)
Attachment #566027 - Flags: review?(sstangl) → review+
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+
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
Closed: 13 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.