Closed Bug 838469 Opened 9 years ago Closed 9 years ago

IonMonkey: Use CallInfo for inlining natives

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla21

People

(Reporter: sstangl, Unassigned)

References

Details

Attachments

(1 file)

Attached patch patchSplinter Review
Uses CallInfo when inlining natives -- part of a cleanup effort that's a prerequisite for Bug 837312. There are some subtleties: most importantly, argv[n] is now callInfo.getArg(n-1), with explicit functions added for querying |this| to match the CallInfo interface. Passes jit-tests.
Attachment #710517 - Flags: review?(hv1989)
Comment on attachment 710517 [details] [diff] [review]
patch

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

Cool, thanks for doing this!
FYI getInlineThisTypeSet/getInlineArgTypeSet will go into CallInfo as of bug 796114

::: js/src/ion/MCallOptimize.cpp
@@ +540,5 @@
>      if (getInlineReturnType() != MIRType_Double)
>          return InliningStatus_NotInlined;
>  
> +    MIRType arg0Type = getInlineArgType(callInfo, 0);
> +    MIRType arg1Type = getInlineArgType(callInfo, 1);

Because you name the args a little bit later, I would name their type with ***Type
s/arg0Type/baseType
s/arg1Type/exponentType

@@ +550,5 @@
>  
> +    callInfo.unwrapArgs();
> +
> +    MDefinition *input = callInfo.getArg(0);
> +    MDefinition *power = callInfo.getArg(1);

I think the names for the inputs to a power is base and exponent
s/input/base
s/power/exponent
Attachment #710517 - Flags: review?(hv1989) → review+
https://hg.mozilla.org/mozilla-central/rev/6abdc780ba2b
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla21
You need to log in before you can comment on or make changes to this bug.