Closed
Bug 812138
Opened 12 years ago
Closed 12 years ago
BaselineCompiler: Implement numFrameSlots/frameSlotValue for baseline frames
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
People
(Reporter: jandem, Assigned: jandem)
References
Details
Attachments
(1 file)
|
4.25 KB,
patch
|
djvj
:
review+
|
Details | Diff | Splinter Review |
These are only used by the expression decompiler stack search. There may be fewer or more values on the stack, but that's handled correctly by the decompiler. And IonMonkey has the same problem (the snapshot it uses encodes the state at another pc).
Attachment #681942 -
Flags: review?(kvijayan)
Comment 1•12 years ago
|
||
Comment on attachment 681942 [details] [diff] [review]
Patch
Review of attachment 681942 [details] [diff] [review]:
-----------------------------------------------------------------
::: js/src/vm/Stack.cpp
@@ +1785,5 @@
> case ION:
> #ifdef JS_ION
> + if (ionFrames_.isOptimizedJS())
> + return ionInlineFrames_.snapshotIterator().slots() - ionInlineFrames_.script()->nfixed;
> + return ionFrames_.numBaselineStackValues() - ionFrames_.script()->nfixed;
This would be clearer as an if-else instead of a terminating if with a fallthrough.
@@ +1815,5 @@
> + return si.maybeReadSlotByIndex(index);
> + }
> +
> + index += ionFrames_.script()->nfixed;
> + return ionFrames_.baselineStackValue(index);
Same as above. The logic here is choosing two different actions based on isOptimizedJS(), not shortcutting a larger action based on isOptimizedJS().
Attachment #681942 -
Flags: review?(kvijayan) → review+
| Assignee | ||
Comment 2•12 years ago
|
||
SM has a "no else after return" style rule.
https://hg.mozilla.org/projects/ionmonkey/rev/5d220bff87f0
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.
Description
•