Closed
Bug 604334
Opened 14 years ago
Closed 10 years ago
tests/32-bit/many_params.in failed on SPARC
Categories
(Core Graveyard :: Nanojit, defect)
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: ginnchen+exoracle, Assigned: ginnchen+exoracle)
Details
(Whiteboard: fixed-in-nanojit, fixed-in-tamarin)
Attachments
(1 file, 1 obsolete file)
1.17 KB,
patch
|
wmaddox
:
review+
|
Details | Diff | Splinter Review |
Currently asm_param only supports less than 6 params. argRegs[a] bounds exceeded when a is 6.
Updated•14 years ago
|
Attachment #484261 -
Flags: review?(edwsmith) → review?(wmaddox)
Comment 2•14 years ago
|
||
Delegating review to Bill who has a keener eye for Sparc than I do.
Comment 3•14 years ago
|
||
Comment on attachment 484261 [details] [diff] [review] patch It looks like that in NativeSparc.cpp, calls to underrunProtect() are lifted to the asm_foo() routines rather than performed in the emitters for the individual instructions, e.g., the LDSW32. I think you need one here, or at least need to convince me (and document in a comment) why one is not required in this case.
Attachment #484261 -
Flags: review?(wmaddox) → review-
Thanks for the catch. I'll check other places for underrunprotect and fix them in other patches.
Attachment #484261 -
Attachment is obsolete: true
Attachment #485239 -
Flags: review?(wmaddox)
Comment 5•14 years ago
|
||
Comment on attachment 485239 [details] [diff] [review] patch v2 Lifting underrunProtect() to contexts in which the actual length of the emitted code is not obvious seems asking for trouble. On i386, the low-level instruction emitters take care of this, rather than the 'asm_foo' routines. Perhaps we should consider this approach on Sparc as well.
Attachment #485239 -
Flags: review?(wmaddox) → review+
Comment 6•14 years ago
|
||
Agreed. You'll want to keep underrunProtect close to the location that actually emits the machine code, ideally in the emitters only. If you need to protect a sequence of instructions (e.g a location that will be patched later), then placing it outside is ok, but be very careful that the code in between can absolutely honour the implied contract. You'll probably also want to comment on that type of usage.
http://hg.mozilla.org/projects/nanojit-central/rev/5a600b5166ea
Whiteboard: fixed-in-nanojit
(In reply to comment #6) > Agreed. You'll want to keep underrunProtect close to the location that > actually emits the machine code, ideally in the emitters only. > > If you need to protect a sequence of instructions (e.g a location that will be > patched later), then placing it outside is ok, but be very careful that the > code in between can absolutely honour the implied contract. You'll probably > also want to comment on that type of usage. Filed Bug 608098
Comment 9•14 years ago
|
||
http://hg.mozilla.org/tamarin-redux/rev/51f4eaf0a1ed
Whiteboard: fixed-in-nanojit → fixed-in-nanojit, fixed-in-tamarin
Updated•10 years ago
|
Product: Core → Core Graveyard
Comment 10•10 years ago
|
||
Nanojit has been dead for several years. Its Bugzilla component has been moved to the graveyard (bug 984276). I checked all the open bugs. They're all uninteresting, so I'm WONTFIXing them all. Apologies for the bugspam.
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•