Closed Bug 818042 Opened 12 years ago Closed 12 years ago

BaselineCompiler: Compile GETPROP

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jandem, Assigned: jandem)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

      No description provided.
Attached patch patchSplinter Review
Slow path to handle GETPROP/CALLPROP/LENGTH. CALLPROP is used with SWAP, so the patch adds that one too since it's so simple.
Attachment #688249 - Flags: review?(kvijayan)
Comment on attachment 688249 [details] [diff] [review]
patch

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

::: js/src/ion/BaselineCompiler.cpp
@@ +249,5 @@
>  bool
> +BaselineCompiler::emit_JSOP_SWAP()
> +{
> +    // Keep top stack values in R0 and R1.
> +    frame.popRegsAndSync(2);

Are there any situations where we expect that more than two unsynced values on the stack?  If there are, we could make this more efficient by excluding an unnecessary sync by hardcoding the stack manipulation in that case.

Don't think it's a big deal, but it occurred to me when reviewing.
Attachment #688249 - Flags: review?(kvijayan) → review+
https://hg.mozilla.org/projects/ionmonkey/rev/163971bbdc1e

(In reply to Kannan Vijayan [:djvj] from comment #2)
> Are there any situations where we expect that more than two unsynced values
> on the stack?

Not in this case since SWAP immediately follows a CALLPROP. If there are other cases where SWAP is used, we could look into that though.
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: