Last Comment Bug 683407 - IonMonkey: Trace embedded GC pointers in JIT code
: IonMonkey: Trace embedded GC pointers in JIT code
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: unspecified
: x86_64 Linux
: -- normal (vote)
: ---
Assigned To: David Anderson [:dvander]
:
Mentors:
: 691600 (view as bug list)
Depends on:
Blocks: 684402
  Show dependency treegraph
 
Reported: 2011-08-30 18:30 PDT by David Anderson [:dvander]
Modified: 2011-10-12 15:56 PDT (History)
3 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
part 1: renaming (16.15 KB, patch)
2011-10-10 14:08 PDT, David Anderson [:dvander]
sstangl: review+
Details | Diff | Splinter Review
part 2: emit and trace relocation info (14.17 KB, patch)
2011-10-10 14:08 PDT, David Anderson [:dvander]
sstangl: review+
Details | Diff | Splinter Review

Description David Anderson [:dvander] 2011-08-30 18:30:11 PDT
We have Assembler functions that embed GC pointers and Values into code. We handle this already for jumps and relative calls, but not moves.
Comment 1 David Anderson [:dvander] 2011-10-10 14:08:21 PDT
Created attachment 566027 [details] [diff] [review]
part 1: renaming

Prefix "jump" before occurrences of "relocation"
Comment 2 David Anderson [:dvander] 2011-10-10 14:08:51 PDT
Created attachment 566028 [details] [diff] [review]
part 2: emit and trace relocation info
Comment 3 David Anderson [:dvander] 2011-10-11 16:40:34 PDT
*** Bug 691600 has been marked as a duplicate of this bug. ***
Comment 4 Sean Stangl [:sstangl] 2011-10-12 15:23:15 PDT
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.
Comment 5 David Anderson [:dvander] 2011-10-12 15:56:39 PDT
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

Note You need to log in before you can comment on or make changes to this bug.