Closed Bug 812906 Opened 13 years ago Closed 13 years ago

Issues with JSOP_INTRINSICNAME and --ion-eager

Categories

(Core :: JavaScript Engine, defect)

Other Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla20

People

(Reporter: till, Unassigned)

References

Details

(Whiteboard: [ion:p2])

Attachments

(3 files, 1 obsolete file)

The attached patch fixes a problem with the IM VMFunction not being installed early enough because it's not initialized statically. With that patch applied, self-hosted functions are sucessfully Ion-compiled. During execution, however, an infer failure is logged. I'll attach a log of that failure next. STR: 1. Apply the patch from bug 784294 2. execute './js --ion-eager -e "[0,0].sort(Array.some)"' Expected result: the log "-e:1:0 TypeError: 0 is not a function" Actual result: The STDERR log "Missing type at #3:00012 pushed 0: int Assertion failure: [infer failure] Missing type pushed 0: int, at /Users/till/dev/mozilla/mozilla-central/js/src/jsinfer.cpp:315 Segmentation fault: 11" Full infer failure log attached in the next comment. I'm not entirely sure if the issues only occur with --ion-eager, but that's easiest to test.
Attachment #682908 - Flags: review?(nicolas.b.pierron)
Okay, I tracked the bug. There is an assumption that the 'this' value gets transformed to an object from a primitive in normal calls. This is the assumption that TI operates under, and it installs a constraint that transforms primitive types such as 'int' into boxed types for the 'this' values. For self-hosted code we should turn this off to allow maximum flexibility for what to pass as 'this' values.
Attachment #682925 - Flags: review?(bhackett1024)
Comment on attachment 682925 [details] [diff] [review] no type transform for self-hosted 'this' Review of attachment 682925 [details] [diff] [review]: ----------------------------------------------------------------- I can confirm that this resolves the error I described, thanks!
Comment on attachment 682908 [details] [diff] [review] Statically initialize GetIntrinsicValueInfo Review of attachment 682908 [details] [diff] [review]: ----------------------------------------------------------------- This change is related to brian changes to make all VMWrapper generated at the beginning of the program, such as we can link to them during a threaded compilation.
Attachment #682908 - Flags: review?(nicolas.b.pierron) → review+
Attachment #682925 - Flags: review?(bhackett1024) → review+
Till, mind pushing these patches as 2 parts, since they have 2 different reviewers? This patch has the right commit message.
Attachment #682925 - Attachment is obsolete: true
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla20
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: