- 19 Aug, 2016 1 commit
-
-
klaasb authored
Changes the control flow builder classes to make use of the BytecodeLabels helper class. BUG=v8:4280 LOG=n Review-Url: https://codereview.chromium.org/2254493002 Cr-Commit-Position: refs/heads/master@{#38744}
-
- 18 Aug, 2016 3 commits
-
-
klaasb authored
One more bytecode to pass info through to TurboFan. BUG=v8:4280 LOG=n Review-Url: https://codereview.chromium.org/2260473003 Cr-Commit-Position: refs/heads/master@{#38726}
-
klaasb authored
Generates a JSCreateWithContext node for TurboFan to optimize. BUG=v8:4280 LOG=n Review-Url: https://codereview.chromium.org/2255793002 Cr-Commit-Position: refs/heads/master@{#38723}
-
rmcilroy authored
Ensures SMI values have SMI type even if they have a dot (e.g., 1.0). Adds SMI_WITH_DOT type to maintain this. BUG=chromium:638134 Review-Url: https://codereview.chromium.org/2248693005 Cr-Commit-Position: refs/heads/master@{#38698}
-
- 17 Aug, 2016 1 commit
-
-
neis authored
Async functions are implemented via special generator functions; special in the sense that they generally do not immediately yield. However, our generators implementation still assumed that every generator function initially yields (concretely: before doing the state dispatch in a loop header). This CL fixes that. R=littledan@chromium.org, rmcilroy@chromium.org BUG=chromium:638019 Review-Url: https://codereview.chromium.org/2253033002 Cr-Commit-Position: refs/heads/master@{#38684}
-
- 16 Aug, 2016 1 commit
-
-
klaasb authored
Allows us to create a corresponding TurboFan node, so TF can optimize it. BUG=v8:4280 LOG=n Review-Url: https://codereview.chromium.org/2248633002 Cr-Commit-Position: refs/heads/master@{#38651}
-
- 15 Aug, 2016 1 commit
-
-
klaasb authored
Adds TestResultScope and uses it to directly jump/fall through to the correct branch in expressions used as branch conditions. Should enable nicer TurboFan-graphs for easier control-flow transformations in the future. BUG=v8:4280 LOG=n Review-Url: https://codereview.chromium.org/2242463002 Cr-Commit-Position: refs/heads/master@{#38634}
-
- 11 Aug, 2016 1 commit
-
-
rmcilroy authored
This optimization required access to the heap which we can't do off-thread. There doesn't seem to be a regression without this optmization in anycase, so just rip it out. BUG=v8:5203 Review-Url: https://codereview.chromium.org/2238853002 Cr-Commit-Position: refs/heads/master@{#38585}
-
- 10 Aug, 2016 2 commits
-
-
adamk authored
R=rmcilroy@chromium.org Review-Url: https://codereview.chromium.org/2233533002 Cr-Commit-Position: refs/heads/master@{#38556}
-
adamk authored
In addition, make use of Variable::binding_needs_init() in addition to VariableMode when deciding whether to do hole checking in variable assignment. R=rmcilroy@chromium.org Review-Url: https://codereview.chromium.org/2227203002 Cr-Commit-Position: refs/heads/master@{#38555}
-
- 09 Aug, 2016 3 commits
-
-
klaasb authored
Avoids the always generated Star bytecodes after ObjectLiteral. BUG=v4:4820 LOG=n Review-Url: https://codereview.chromium.org/2216023003 Cr-Commit-Position: refs/heads/master@{#38480}
-
bgeron authored
Previously, we would output \x5c to escape a backslash, but this is invalid JSON and it would crash Turbolizer. Use \u005c instead. BUG= Review-Url: https://codereview.chromium.org/2224913002 Cr-Commit-Position: refs/heads/master@{#38479}
-
jgruber authored
These were the final remnants of error code written in JavaScript. BUG= Review-Url: https://codereview.chromium.org/2222893002 Cr-Commit-Position: refs/heads/master@{#38475}
-
- 08 Aug, 2016 1 commit
-
-
mythria authored
Assign feedback slots in the type feedback vector for binary operations. Update bytecode-generator to use these slots and add them as an operand to binary operations. BUG=v8:4280 LOG=N Review-Url: https://codereview.chromium.org/2209633002 Cr-Commit-Position: refs/heads/master@{#38408}
-
- 05 Aug, 2016 4 commits
-
-
adamk authored
The old code was using VariableMode, but that signal is both over-pessimistic (some CONST and LET variables need no hole-initialization) and inconsistent with other uses of the InitializationFlag enum (such as %LoadLookupSlot). This changes no observable behavior, but removes unnecessary hole initialization and hole checks in a few places, including block-scoped function declarations, super property lookups, and new.target. R=bmeurer@chromium.org, neis@chromium.org Review-Url: https://codereview.chromium.org/2201193004 Cr-Commit-Position: refs/heads/master@{#38395}
-
klaasb authored
ForInPrepare checked whether the receiver object was null, undefined or converted to a JSObject. This is already done by the generated bytecode. BUG=v8:4820 LOG=n Review-Url: https://codereview.chromium.org/2208043002 Cr-Commit-Position: refs/heads/master@{#38394}
-
machenbach authored
Revert of [Interpreter] Collect type feedback for 'new' in the bytecode handler (patchset #6 id:100001 of https://codereview.chromium.org/2190293003/ ) Reason for revert: [Sheriff] Fails on nosnap debug: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/8403 Original issue's description: > [Interpreter] Collect type feedback for 'new' in the bytecode handler > > Collect type feedback in the bytecode handler for 'new' bytecode. The > earlier cl (https://codereview.chromium.org/2153433002/) was reverted > because that implementation did not collect allocation site feedback. > This regressed delta blue by an order of magnitude. This implementation > includes collection of allocation site feedback. > > BUG=v8:4280, v8:4780 > LOG=N > > Committed: https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c > Cr-Commit-Position: refs/heads/master@{#38364} TBR=bmeurer@chromium.org,rmcilroy@chromium.org,balazs.kilvady@imgtec.com,mythria@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4280, v8:4780 Review-Url: https://codereview.chromium.org/2212343002 Cr-Commit-Position: refs/heads/master@{#38368}
-
mythria authored
Collect type feedback in the bytecode handler for 'new' bytecode. The earlier cl (https://codereview.chromium.org/2153433002/) was reverted because that implementation did not collect allocation site feedback. This regressed delta blue by an order of magnitude. This implementation includes collection of allocation site feedback. BUG=v8:4280, v8:4780 LOG=N Review-Url: https://codereview.chromium.org/2190293003 Cr-Commit-Position: refs/heads/master@{#38364}
-
- 03 Aug, 2016 1 commit
-
-
klaasb authored
Add a new bytecode to create a function context. The handler inlines FastNewFunctionContextStub. BUG=v8:4280 LOG=n Review-Url: https://codereview.chromium.org/2187523002 Cr-Commit-Position: refs/heads/master@{#38301}
-
- 02 Aug, 2016 1 commit
-
-
mstarzinger authored
This makes sure we are not inserting {OsrPoll} instructions for any statements that are not actually loops and have no back edges. Without back edges the {BytecodeGraphBuilder} is unable to deduce loop ranges and hence cannot construct a graph for OSR entry. R=neis@chromium.org TEST=mjsunit/regress/regress-5252 BUG=v8:5252 Review-Url: https://codereview.chromium.org/2200733002 Cr-Commit-Position: refs/heads/master@{#38233}
-
- 01 Aug, 2016 1 commit
-
-
jgruber authored
BUG= Review-Url: https://codereview.chromium.org/2191293002 Cr-Commit-Position: refs/heads/master@{#38212}
-
- 29 Jul, 2016 1 commit
-
-
klaasb authored
This gets rid of the Star bytecodes that were always dispatched to from ToObject. ToObject now outputs to register instead of to the accumulator and ForInPrepare gets the receiver object from an input register. BUG=v8:4820 LOG=n Review-Url: https://codereview.chromium.org/2189463006 Cr-Commit-Position: refs/heads/master@{#38177}
-
- 28 Jul, 2016 1 commit
-
-
cbruni authored
This CL introduces a new fast flat instantiations cache for the first 1024 object templates. After that we fall back to the existing slower dictionary cache. Drive-by-fix: de-handlify and clean up some code in api-natives.cc BUG=chromium:630217 Review-Url: https://codereview.chromium.org/2170743003 Cr-Commit-Position: refs/heads/master@{#38146}
-
- 27 Jul, 2016 2 commits
-
-
klaasb authored
Remove TODO to perform same optimization as AstGraphBuilder. When visiting for effect in a postfix count operation, don't keep the intermediate result of ToNumber. BUG=v4:4280 LOG=n Review-Url: https://codereview.chromium.org/2187823002 Cr-Commit-Position: refs/heads/master@{#38101}
-
klaasb authored
https://codereview.chromium.org/2176143002 removed parsing of a golden file header option but did not remove the option. BUG= LOG=n Review-Url: https://codereview.chromium.org/2189583002 Cr-Commit-Position: refs/heads/master@{#38096}
-
- 25 Jul, 2016 2 commits
-
-
bakkot authored
This slightly simplifies scope handling. It also makes it possible to implement some potential future changes to classes purely in the parser by adding additional code to the DoExpression. This is a portion of https://codereview.chromium.org/2142333002/, which probably isn't going through in full. Review-Url: https://codereview.chromium.org/2176653003 Cr-Commit-Position: refs/heads/master@{#38035}
-
klaasb authored
ToName was always generated with a subsequent Star, fuse them. Requires a few changes in the peephole optimizer as ToName cannot be elided as easily, but must be replaced by Star. BUG=v8:4280 LOG=n Review-Url: https://codereview.chromium.org/2169813002 Cr-Commit-Position: refs/heads/master@{#38019}
-
- 22 Jul, 2016 1 commit
-
-
klaasb authored
ToNumber's result is always directly stored to a register using a Star bytecode. Fuse it into ToNumber. BUG=v8:4280 LOG=n Review-Url: https://codereview.chromium.org/2165953002 Cr-Commit-Position: refs/heads/master@{#37976}
-
- 21 Jul, 2016 2 commits
-
-
rmcilroy authored
Move VisitLiteral to decide what type of literal is being emitted by checking the raw ASTValue type, instead of the internalized on-heap value. This is required for concurrent bytecode generation. As part of this change, the NUMBER AstValue constructor is modified to try to convert numbers without a dot to SMIs where possible. This is to maintain the behavior in NewNumber where such numbers are internalized as SMIs, and ensures that we still emit LdaSmi bytecodes for these values in the generated bytecode. BUG=v8:5203 Review-Url: https://codereview.chromium.org/2152853002 Cr-Commit-Position: refs/heads/master@{#37931}
-
mstarzinger authored
This removes a duplicate control scope. The visitor for ForOfStatement nodes in the AST uses VisitIterationBody which pushes a separate control scope. The number of control scopes will be off when we use them for tracking loop depths. R=rmcilroy@chromium.org Review-Url: https://codereview.chromium.org/2164503005 Cr-Commit-Position: refs/heads/master@{#37930}
-
- 19 Jul, 2016 3 commits
-
-
mythria authored
Revert of [Interpreter] Collect type feedback for 'new' in the bytecode handler (patchset #6 id:100001 of https://codereview.chromium.org/2153433002/ ) Reason for revert: This cl causes a large regression in octane (https://chromeperf.appspot.com/group_report?bug_id=629503). I have to investigate the reason before I can reland this. Original issue's description: > [Interpreter] Collect type feedback for 'new' in the bytecode handler > > Collect type feedback in the bytecode handler for 'new' bytecode. The > current implementation does not collect allocation site feedback. > > BUG=v8:4280, v8:4780 > LOG=N > > Committed: https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59 > Cr-Commit-Position: refs/heads/master@{#37862} TBR=rmcilroy@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4280, v8:4780 Review-Url: https://codereview.chromium.org/2165633003 Cr-Commit-Position: refs/heads/master@{#37872}
-
oth authored
Original issue's description: > [interpeter] Move to table based peephole optimizer. > > Introduces a lookup table for peephole optimizations. > > Fixes some tests using BytecodePeepholeOptimizer::Write() that should > have been update to use BytecodePeepholeOptimizer::WriteJump(). > > BUG=v8:4280 > LOG=N > > Committed: https://crrev.com/f4234422b93b21a286b0f31799009bcbe8b90b9e > Cr-Commit-Position: refs/heads/master@{#37819} BUG=v8:4280 LOG=N Review-Url: https://codereview.chromium.org/2164583002 Cr-Commit-Position: refs/heads/master@{#37866}
-
mythria authored
Collect type feedback in the bytecode handler for 'new' bytecode. The current implementation does not collect allocation site feedback. BUG=v8:4280, v8:4780 LOG=N Review-Url: https://codereview.chromium.org/2153433002 Cr-Commit-Position: refs/heads/master@{#37862}
-
- 18 Jul, 2016 3 commits
-
-
oth authored
Revert of [interpeter] Move to table based peephole optimizer. (patchset #38 id:730001 of https://codereview.chromium.org/2118183002/ ) Reason for revert: Break MIPS port. Original issue's description: > [interpeter] Move to table based peephole optimizer. > > Introduces a lookup table for peephole optimizations. > > Fixes some tests using BytecodePeepholeOptimizer::Write() that should > have been update to use BytecodePeepholeOptimizer::WriteJump(). > > BUG=v8:4280 > LOG=N > > Committed: https://crrev.com/f4234422b93b21a286b0f31799009bcbe8b90b9e > Cr-Commit-Position: refs/heads/master@{#37819} TBR=rmcilroy@chromium.org,machenbach@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4280 Review-Url: https://codereview.chromium.org/2161563002 Cr-Commit-Position: refs/heads/master@{#37821}
-
oth authored
Introduces a lookup table for peephole optimizations. Fixes some tests using BytecodePeepholeOptimizer::Write() that should have been update to use BytecodePeepholeOptimizer::WriteJump(). BUG=v8:4280 LOG=N Review-Url: https://codereview.chromium.org/2118183002 Cr-Commit-Position: refs/heads/master@{#37819}
-
neis authored
Highlights: - Record all imports and exports in the ModuleDescriptor. - Remove ImportDeclaration; instead, introduce a new variable kind for imports. - Set name on default exported anonymous functions. Still to do: declaration of namespace imports. BUG=v8:1569 Review-Url: https://codereview.chromium.org/2108193003 Cr-Commit-Position: refs/heads/master@{#37815}
-
- 13 Jul, 2016 1 commit
-
-
ishell authored
[ic] Initialize feedback slots for LoadGlobalIC in Runtime::kDeclareGlobals when possible to avoid misses. BUG=chromium:576312 Review-Url: https://codereview.chromium.org/2107193002 Cr-Commit-Position: refs/heads/master@{#37709}
-
- 07 Jul, 2016 1 commit
-
-
neis authored
When reading the value property of an iterator result fails, we must not close the iterator. This was not discovered earlier because the tests had a subtle bug. This CL fixes both the desugaring and the tests. BUG= Review-Url: https://codereview.chromium.org/2119353002 Cr-Commit-Position: refs/heads/master@{#37571}
-
- 05 Jul, 2016 2 commits
-
-
verwaest authored
BUG=chromium:621147 Review-Url: https://codereview.chromium.org/2122943002 Cr-Commit-Position: refs/heads/master@{#37535}
-
oth authored
Introduces fused bytecodes for fusing LdaSmi followed by a binary op bytecode. The chosen bytecodes are used frequently in Octane: AddSmi, SubSmi, BitwiseOrSmi, BitwiseAndSmi, ShiftLeftSmi, ShiftRightSmi. There are additional code stubs for these operations that are biased towards both the left hand and right hand operands being Smis. BUG=v8:4280 LOG=N Review-Url: https://codereview.chromium.org/2111923002 Cr-Commit-Position: refs/heads/master@{#37531}
-