IonMonkey: Compile JSOP_NEW with callVM().

RESOLVED FIXED

Status

()

Core
JavaScript Engine
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: nbp, Assigned: sstangl)

Tracking

(Blocks: 1 bug)

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

Necessary for benchmarks.
(Assignee)

Comment 1

6 years ago
Hot in some benchmarks currently (notably crypto-aes), so taking.
Assignee: general → sstangl
v8-earley-boyer, access-binary-trees, v8-raytrace, are also big ones that will benefit a lot
(Assignee)

Comment 3

6 years ago
Created attachment 588220 [details] [diff] [review]
Support JSOP_NEW via callVM.

Implements JSOP_NEW via a flag on Call/CallGeneric.

This establishes a baseline for regression to ensure that a performant implementation really does introduce no additional bugs.

Passes jit-tests on x64 with no new failures.
Attachment #588220 - Flags: review?(dvander)
Comment on attachment 588220 [details] [diff] [review]
Support JSOP_NEW via callVM.

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

::: js/src/ion/CodeGenerator.cpp
@@ +446,5 @@
> +    // in the case of a constructing call.
> +    // TODO: Bug 701692: performant support for JSOP_NEW.
> +    if (call->mir()->isConstruct()) {
> +
> +        typedef bool (*pf)(JSContext *, JSFunction *, uint32, Value *, Value *);

drop newline above

::: js/src/ion/VMFunctions.cpp
@@ +62,4 @@
>      return ok;
>  }
>  
> +bool InvokeConstructorFunction(JSContext *cx, JSFunction *fun, uint32 argc, Value *argv, Value *rval)

bool on separate line
Attachment #588220 - Flags: review?(dvander) → review+
(Assignee)

Comment 5

6 years ago
http://hg.mozilla.org/projects/ionmonkey/rev/af79cb016a99
(Assignee)

Comment 6

6 years ago
Backed out: caused x86 sunspider failure.
http://hg.mozilla.org/projects/ionmonkey/rev/770d43b354f4
(Assignee)

Updated

6 years ago
Depends on: 718122
(Assignee)

Comment 7

6 years ago
http://hg.mozilla.org/projects/ionmonkey/rev/4f9d917dd77f
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
(Assignee)

Updated

6 years ago
Summary: IonMonkey: Compile JSOP_NEW → IonMonkey: Compile JSOP_NEW with callVM().

Comment 8

6 years ago
Just wondering if there is something else to do in this bug or if this reference from patch is incorrect:

    1.14 +    // TODO: Bug 701692: performant support for JSOP_NEW.
(Assignee)

Comment 9

6 years ago
Whoops, I forgot about that comment! Attempting to keep one patch series per bug, the recently-filed bug for performant JSOP_NEW is bug 723333.
You need to log in before you can comment on or make changes to this bug.