Closed Bug 732423 Opened 12 years ago Closed 12 years ago

IonMonkey: Compile JSOP_CALLELEM

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jandem, Assigned: jandem)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

CALLELEM be mostly identical to GETELEM, only __noSuchMethod__ may need some work. We need to handle this op for box2d/emscripten.
Attached patch PatchSplinter Review
Attachment #602394 - Flags: review?(dvander)
Comment on attachment 602394 [details] [diff] [review]
Patch

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

r=me with this fixed (maybe have  a CallElemOperation?)

::: js/src/jsinterp.cpp
@@ +4569,5 @@
>  
>  bool
> +js::CallElement(JSContext *cx, const Value &lref, const Value &rref, Value *res)
> +{
> +    if (!GetElementOperation(cx, lref, rref, res))

This should follow CALLELEM in the interpreter, rather than GETELEM, I think. So, calling ValuePropertyBearer instead of ValueToObject, and js_GetMethod instead of getProperty.
Attachment #602394 - Flags: review?(dvander) → review+
This patch coalesces the GETELEM/CALLELEM interpreter cases, and lets stubs::GetElem call GetElementOperation. Also fixes some problems with CALLELEM and e4x/__noSuchMethod__ (see the testcase).
Attachment #603359 - Flags: review?(bhackett1024)
Attachment #603359 - Flags: review?(bhackett1024) → review+
https://hg.mozilla.org/projects/ionmonkey/rev/c9f4c7f87223
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Whiteboard: [Leave open after merge]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: