- 06 Sep, 2016 18 commits
-
-
mstarzinger authored
This adds handling of {IrOpcode::kObjectIsReceiver} nodes to the escape status analysis. Such uses are treated as escaping for now until we add dedicated handling to the escape analysis reducer. R=bmeurer@chromium.org TEST=mjsunit/regress/regress-crbug-631027 BUG=chromium:631027 Review-Url: https://codereview.chromium.org/2317623003 Cr-Commit-Position: refs/heads/master@{#39205}
-
rmcilroy authored
The constructor and new.target arguments were passed to CallConstruct in the wrong order by BytecodeGraphBuilder, which caused subclassing to be incorrect when optimizing from bytecode. Also clean up some unecessary functions in interpreter.cc found while figuring this out. BUG=chromium:642409 Review-Url: https://codereview.chromium.org/2312103002 Cr-Commit-Position: refs/heads/master@{#39204}
-
jacob.bramley authored
ARMv6 has the same basic barriers as ARMv7+, but they are accessed using the CP15 coprocessor. This patch allows the assembler to select the appropriate instruction. This also fixes TurboFan's atomic loads and stores for ARMv6 platforms. BUG= Review-Url: https://codereview.chromium.org/2318553002 Cr-Commit-Position: refs/heads/master@{#39203}
-
jacob.bramley authored
ARMv8 can use vminnm and vmaxnm to handle most inputs. Other platforms use an implementation similar to what was there before, except that out-of-line code is used for the uncommon cases. BUG= Review-Url: https://codereview.chromium.org/2313863003 Cr-Commit-Position: refs/heads/master@{#39202}
-
machenbach authored
Reland of [gn] Switch win clang bot to gn (patchset #1 id:1 of https://codereview.chromium.org/2311853002/ ) Reason for revert: Trying reland with plugin switched off. Original issue's description: > Revert of [gn] Switch win clang bot to gn (patchset #1 id:1 of https://codereview.chromium.org/2310863002/ ) > > Reason for revert: > Fails compilation: > https://build.chromium.org/p/client.v8/builders/V8%20Win64%20-%20clang > > Original issue's description: > > [gn] Switch win clang bot to gn > > > > BUG=chromium:474921 > > NOTRY=true > > > > Committed: https://crrev.com/1740587772bbd1ffb7b79a90deb16519e8d47588 > > Cr-Commit-Position: refs/heads/master@{#39156} > > TBR=jochen@chromium.org,vogelheim@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=chromium:474921 > > Committed: https://crrev.com/49e13ea6eab4158915a75b95ccc9f01892924d9e > Cr-Commit-Position: refs/heads/master@{#39158} TBR=jochen@chromium.org,vogelheim@chromium.org NOTRY=true BUG=chromium:474921,chromium:644096 Review-Url: https://codereview.chromium.org/2312093002 Cr-Commit-Position: refs/heads/master@{#39201}
-
mlippautz authored
Replace first page size in the snapshots with a heap logic that trims pages after deserialization. The snapshot provided page sizes was just an approximation, while the heap knows exactly where to trim. Furthermore, trim the pages directly after deserialization, leaving no wiggle room for further objects. This avoids pollution of the immortal immovable pages with regular objects, e.g. Contexts. The downside is that we potentially require expanding the space with a new page. BUG=chromium:636331 Review-Url: https://codereview.chromium.org/2311963002 Cr-Commit-Position: refs/heads/master@{#39200}
-
ahaas authored
BUG=chromium:644182 R=titzer@chromium.org TEST=module-decoder-unittest.cc:ExportNameWithInvalidStringLength Review-Url: https://codereview.chromium.org/2310023002 Cr-Commit-Position: refs/heads/master@{#39199}
-
bmeurer authored
Keep the unrestricted feedback type around during retyping and use that to check whether an overflow check is actually necessary when doing the lowering of SpeculativeNumberAdd/Subtract/Multiply. If based on feedback that is taken for the inputs we already know that the result of the operation fits into Signed32 or Unsigned32 range, then we don't need to perform any overflow checks. R=mvstanton@chromium.org BUG=v8:5267,v8:5270 Review-Url: https://codereview.chromium.org/2309193003 Cr-Commit-Position: refs/heads/master@{#39198}
-
rmcilroy authored
BUG=chromium:642111 Review-Url: https://codereview.chromium.org/2313763002 Cr-Commit-Position: refs/heads/master@{#39197}
-
mlippautz authored
- Move implemnetation details into -inl.h or .cc file - Inline NewSpace::Contains manually R=ulan@chromium.org Review-Url: https://codereview.chromium.org/2316513002 Cr-Commit-Position: refs/heads/master@{#39196}
-
marja authored
Rebuilding (after touching certain files) is crazy slow because includes are out of control. The (last remaining) offending include path is: ast.h <- liveedit.h <- debug.h <- src/x64/assembler-whatever-port-inl.h <- src/macro-assembler.h <- everything possible With this CL, the rebuild steps needed when touching ast-value-factory.h drops from 365 to 181. BUG=v8:5294 TBR=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2316443002 Cr-Commit-Position: refs/heads/master@{#39195}
-
bmeurer authored
Previously we always lowered JSToBoolean(x:Number) to the subgraph NumberLessThan(0.0, NumberAbs(x)), which deals with both 0, -0 and NaNs appropriately. However this doesn't always generate the best, especially when we can later derive from feedback that x is always an Integral32 value, where the ideal code would be just a single comparison to 0 w/o the absolute value computation. R=mvstanton@chromium.org BUG=v8:5267,v8:5270 Review-Url: https://codereview.chromium.org/2309953002 Cr-Commit-Position: refs/heads/master@{#39194}
-
jacob.bramley authored
These are ARMv8 instructions that will be used in a follow-up patch. BUG= Review-Url: https://codereview.chromium.org/2273003002 Cr-Commit-Position: refs/heads/master@{#39193}
-
jochen authored
This will allow for chaining ScopeInfos together to form the same chains as contexts chains currently do. BUG=v8:5215 R=mstarzinger@chromium.org,marja@chromium.org,bmeurer@chromium.org,rmcilroy@chromium.org Review-Url: https://codereview.chromium.org/2314483002 Cr-Commit-Position: refs/heads/master@{#39192}
-
jgruber authored
Prior to 69debbb5, InstallGetterSetter was bugged and ignored all passed attributes, installing as DONT_ENUM instead. This commit makes sure we match old behavior now that that bug is fixed. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2316513003 Cr-Commit-Position: refs/heads/master@{#39191}
-
mtrofin authored
The Print APIs on the instruction model are for debugging. At debug time, we cannot (easily) synthesize an output stream, hence the choice of directing to stdout in those APIs. The concern in https://codereview.chromium.org/2293413004/ is addressed by the changes in pipeline.cc, using the various operator<<, and does not require the changes in instruction.{h|cc}, and the generalization of the Print APIs. BUG= Review-Url: https://codereview.chromium.org/2304423002 Cr-Commit-Position: refs/heads/master@{#39190}
-
v8-autoroll authored
Rolling v8/build to 464a8fa0e414f18a55f20f2a6981778f105060da TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2313833002 Cr-Commit-Position: refs/heads/master@{#39189}
-
jbroman authored
This restores the contract that all API methods that return Maybe<T> or MaybeLocal<T> always throw an exception when they return nothing. Since v8::ValueDeserializer::ReadHeader can now throw exceptions, it needs a Local<Context> parameter so that it can set up execution state (entering the context, etc.). The old method has been marked for deprecation, but since this API is experimental I intend to remove it as soon as I've removed the use from Blink. value-serializer-unittest has been updated to expect an exception in all decode failure cases. BUG=chromium:148757,chromium:641964 Review-Url: https://codereview.chromium.org/2308053002 Cr-Commit-Position: refs/heads/master@{#39188}
-
- 05 Sep, 2016 22 commits
-
-
mstarzinger authored
This handles the case where preparation of bytecode might fail inside Compiler::EnsureBytecode due to the underlying function being a fully validated asm.js module. We simply bailout of bytecode preparation. R=bradnelson@chromium.org TEST=mjsunit/regress/regress-crbug-644111 BUG=chromium:644111 Review-Url: https://codereview.chromium.org/2309853002 Cr-Commit-Position: refs/heads/master@{#39187}
-
mvstanton authored
Disable the propagation of truncations through Phi, Select or TypeGuard if the output representation is tagged, because when the truncations are taken we don't necessarily reflect this in the types and therefore we might end up in a situation where we produce a word32 value, the type says Number, and now we need to change that to tagged, which is not possible since we don't know how to interpret the bits, i.e. whether the value is Signed32 or Unsigned32. BUG=chromium:644048 Review-Url: https://codereview.chromium.org/2311903002 Cr-Commit-Position: refs/heads/master@{#39186}
-
mlippautz authored
R=ulan@chromium.org Review-Url: https://codereview.chromium.org/2311003002 Cr-Commit-Position: refs/heads/master@{#39185}
-
mlippautz authored
Move either in heap-inl.h or heap.cc, depending on the performance requirements. R=ulan@chromium.org Review-Url: https://codereview.chromium.org/2312643003 Cr-Commit-Position: refs/heads/master@{#39184}
-
georgia.kouveli authored
Generate a flag-setting instruction for a binary operation when the result is tested for equality/inequality to zero. BUG= Review-Url: https://codereview.chromium.org/2315453002 Cr-Commit-Position: refs/heads/master@{#39183}
-
neis authored
There are no CONST function declarations. Also make check independent of variable location. R=adamk@chromium.org, rmcilroy@chromium.org BUG= Review-Url: https://codereview.chromium.org/2301863002 Cr-Commit-Position: refs/heads/master@{#39182}
-
mvstanton authored
BUG= Review-Url: https://codereview.chromium.org/2309823002 Cr-Commit-Position: refs/heads/master@{#39181}
-
fmeawad authored
After we landed the tracing runtime call stats, which gave us a lot of V8 insight in tracing, we noticed that there is some arising issues and discrepancies. Issues include: Missing trace events, that happened due to transforming those trace events into runtime calls Discrepancies include: Missing categories in Runtime call stats like GC, because we are not handling the Scoped runtime calls properly in the tracing version. To reduce/eliminate those issue, we are taking a small step back. We are unifying the RuntimeStats code and using the original one. That would allow us to use all the original probes but emit trace events from them. We are also putting back the trace-events in their place. The output from both system should be intact (Except of the addition of the missing trace-events). Also as a byproduct, we are reducing the number of context scopes by half since we are using the same scope as runtime call stats. As a follow up to this CL, we will address the non-scoped Runtime Call Stats (mainly in GC). BUG=642373 Review-Url: https://codereview.chromium.org/2296243002 Cr-Commit-Position: refs/heads/master@{#39180}
-
mvstanton authored
And not the Representation dimension of Type*. BUG= Review-Url: https://codereview.chromium.org/2312703002 Cr-Commit-Position: refs/heads/master@{#39179}
-
ishell authored
Review-Url: https://codereview.chromium.org/2316453002 Cr-Commit-Position: refs/heads/master@{#39178}
-
jgruber authored
Revert of [regexp] Port RegExpConstructor (patchset #2 id:20001 of https://codereview.chromium.org/2302773002/ ) Reason for revert: Performance regressions: crbug.com/644087 Clusterfuzz: crbug.com/644074 We'll reland all regexp changes at once when the port is complete and at least performance-neutral, since the partial port requires slow workarounds. Original issue's description: > [regexp] Port RegExpConstructor > > BUG=v8:5339 > > Committed: https://crrev.com/0aa80be16b8d876999066545c2922e1291e09610 > Cr-Commit-Position: refs/heads/master@{#39074} TBR=bmeurer@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2312743002 Cr-Commit-Position: refs/heads/master@{#39177}
-
jgruber authored
Revert of [regexp] Port RegExp getters and setters (patchset #5 id:80001 of https://codereview.chromium.org/2305573002/ ) Reason for revert: Performance regressions: crbug.com/644087 Clusterfuzz: crbug.com/644074 We'll reland all regexp changes at once when the port is complete and at least performance-neutral, since the partial port requires slow workarounds. Original issue's description: > [regexp] Port RegExp getters and setters > > BUG=v8:5339 > > Committed: https://crrev.com/ac0eb5e05af40e16ae9402bb8a62600b32cc2ec9 > Committed: https://crrev.com/7711b1a16f864ed6ea56fa40274ff3f6287bbe34 > Cr-Original-Commit-Position: refs/heads/master@{#39076} > Cr-Commit-Position: refs/heads/master@{#39088} TBR=bmeurer@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2313713002 Cr-Commit-Position: refs/heads/master@{#39176}
-
nikolaos authored
This patch moves the following parsing methods to ParserBase: - ParseStatementList - ParseStatementListItem - ParseStatement - ParseSubStatement (subsumed in ParseStatement) - ParseStatementAsUnlabeled It also refactors the Target and TargetScope objects, used by the parser. R=adamk@chromium.org, marja@chromium.org BUG= LOG=N Committed: https://crrev.com/df29f3fda25660075a273cc27ad9f7787f321072 Review-Url: https://codereview.chromium.org/2307073002 Cr-Original-Commit-Position: refs/heads/master@{#39167} Cr-Commit-Position: refs/heads/master@{#39175}
-
rmcilroy authored
Review-Url: https://codereview.chromium.org/2309773002 Cr-Commit-Position: refs/heads/master@{#39174}
-
mstarzinger authored
R=mvstanton@chromium.org Review-Url: https://codereview.chromium.org/2312723002 Cr-Commit-Position: refs/heads/master@{#39173}
-
jkummerow authored
And also handle dictionary elements loads in the dispatcher. This is a reland with fix for negative indices into DICTIONARY_ELEMENTS. Original review: https://codereview.chromium.org/2245683002/ Review-Url: https://codereview.chromium.org/2313683002 Cr-Commit-Position: refs/heads/master@{#39172}
-
machenbach authored
Also disable four cpu-profiler tests under asan that fail with the GN setup. BUG=chromium:474921,v8:5243 Review-Url: https://codereview.chromium.org/2309263002 Cr-Commit-Position: refs/heads/master@{#39171}
-
jgruber authored
Revert of [regexp] Port RegExpCompile and RegExpToString (patchset #3 id:40001 of https://codereview.chromium.org/2295273003/ ) Reason for revert: Performance regressions: crbug.com/644087 Clusterfuzz: crbug.com/644074 We'll reland all regexp changes at once when the port is complete and at least performance-neutral, since the partial port requires slow workarounds. Original issue's description: > [regexp] Port RegExpCompile and RegExpToString > > BUG=v8:5339 > > Committed: https://crrev.com/836299aa9c484eb96b6b4aa48270ab2c30b85801 > Cr-Commit-Position: refs/heads/master@{#39119} TBR=bmeurer@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2311883002 Cr-Commit-Position: refs/heads/master@{#39170}
-
machenbach authored
Revert of [parser] Refactor of Parse*Statement*, part 1 (patchset #2 id:20001 of https://codereview.chromium.org/2307073002/ ) Reason for revert: https://build.chromium.org/p/client.v8.ports/builders/V8%20Mips%20-%20builder Original issue's description: > [parser] Refactor of Parse*Statement*, part 1 > > This patch moves the following parsing methods to ParserBase: > > - ParseStatementList > - ParseStatementListItem > - ParseStatement > - ParseSubStatement (subsumed in ParseStatement) > - ParseStatementAsUnlabeled > > It also refactors the Target and TargetScope objects, used by the > parser. > > R=adamk@chromium.org, marja@chromium.org > BUG= > LOG=N > > Committed: https://crrev.com/df29f3fda25660075a273cc27ad9f7787f321072 > Cr-Commit-Position: refs/heads/master@{#39167} TBR=adamk@chromium.org,marja@chromium.org,nikolaos@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://codereview.chromium.org/2313703002 Cr-Commit-Position: refs/heads/master@{#39169}
-
bmeurer authored
We used to have Array types for typed arrays in asm.js at some point, but had to change that quite some time ago already. And Function types were mostly used for the CallInterfaceDescriptor (and the code-stub.js experiment), but are also unusedn nowadays. R=mvstanton@chromium.org BUG=v8:5267,v8:5270 Review-Url: https://codereview.chromium.org/2310923002 Cr-Commit-Position: refs/heads/master@{#39168}
-
nikolaos authored
This patch moves the following parsing methods to ParserBase: - ParseStatementList - ParseStatementListItem - ParseStatement - ParseSubStatement (subsumed in ParseStatement) - ParseStatementAsUnlabeled It also refactors the Target and TargetScope objects, used by the parser. R=adamk@chromium.org, marja@chromium.org BUG= LOG=N Review-Url: https://codereview.chromium.org/2307073002 Cr-Commit-Position: refs/heads/master@{#39167}
-
bmeurer authored
Those have been effectively unused for quite a while now, and we don't see any use in having them around. Actually it'd be way more consistent and simpler to just use OtherInternal as type for contexts instead. R=mvstanton@chromium.org BUG=v8:5267,v8:5270 Review-Url: https://codereview.chromium.org/2305383002 Cr-Commit-Position: refs/heads/master@{#39166}
-