- 05 Sep, 2016 27 commits
-
-
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}
-
jgruber authored
Revert of [regexp] Remove dead code (patchset #1 id:1 of https://codereview.chromium.org/2301803003/ ) 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] Remove dead code > > Remove dead code, and drop the legacy RegExp.prototype.exec implementation (the > only differences are TO_BOOLEAN on global and sticky). > > BUG=v8:5339 > > Committed: https://crrev.com/1cb2a70cb5baa7545fdf9cc4e035a6d45cb189fd > Cr-Commit-Position: refs/heads/master@{#39121} 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/2310903002 Cr-Commit-Position: refs/heads/master@{#39165}
-
jochen authored
Since the extension field is already used for the catch name, store a ContextExtension there instead. In the future, this will allow for chaining ScopeInfos together, so we no longer need a context chain for lazy parsing / compilation. BUG=v8:5215 R=bmeurer@chromium.org,neis@chromium.org,marja@chromium.org Review-Url: https://codereview.chromium.org/2302013002 Cr-Commit-Position: refs/heads/master@{#39164}
-
mstarzinger authored
R=rmcilroy@chromium.org BUG=v8:4680 Review-Url: https://codereview.chromium.org/2282733002 Cr-Commit-Position: refs/heads/master@{#39163}
-
bmeurer authored
R=mvstanton@chromium.org BUG=v8:5267,v8:5270 Review-Url: https://codereview.chromium.org/2312693002 Cr-Commit-Position: refs/heads/master@{#39162}
-
marja authored
Rebuilding (after touching certain files) is crazy slow because includes are out of control. BUG=v8:5294 Review-Url: https://codereview.chromium.org/2312683002 Cr-Commit-Position: refs/heads/master@{#39161}
-
jgruber authored
Revert of [regexp] Port RegExpExec (patchset #2 id:20001 of https://codereview.chromium.org/2307853002/ ) 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 RegExpExec > > BUG=v8:5339 > > Committed: https://crrev.com/c79e163ba82f2e2dcf9b60639127d187fdbf54b9 > Cr-Commit-Position: refs/heads/master@{#39150} TBR=bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5339 Review-Url: https://codereview.chromium.org/2315473002 Cr-Commit-Position: refs/heads/master@{#39160}
-
machenbach authored
Revert of includes: Make ast.h not need isolate.h any more. (patchset #3 id:60001 of https://codereview.chromium.org/2301423002/ ) Reason for revert: Breaks gc stress: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/5642 Original issue's description: > includes: Make ast.h not need isolate.h any more. > > Also remove other unnecessary includes from ast.h and dependencies. > > BUG=v8:5294 > > Committed: https://crrev.com/9c888dffda4bff420ec3ef21e623aa4e5054d1c3 > Cr-Commit-Position: refs/heads/master@{#39155} TBR=adamk@chromium.org,mstarzinger@chromium.org,bmeurer@chromium.org,marja@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5294 Review-Url: https://codereview.chromium.org/2305373002 Cr-Commit-Position: refs/heads/master@{#39159}
-
machenbach authored
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 Review-Url: https://codereview.chromium.org/2311853002 Cr-Commit-Position: refs/heads/master@{#39158}
-
ulan authored
BUG=chromium:605349 LOG=NO Review-Url: https://codereview.chromium.org/2304203002 Cr-Commit-Position: refs/heads/master@{#39157}
-
machenbach authored
BUG=chromium:474921 NOTRY=true Review-Url: https://codereview.chromium.org/2310863002 Cr-Commit-Position: refs/heads/master@{#39156}
-
marja authored
Also remove other unnecessary includes from ast.h and dependencies. BUG=v8:5294 Review-Url: https://codereview.chromium.org/2301423002 Cr-Commit-Position: refs/heads/master@{#39155}
-
machenbach authored
Revert of [wasm] reuse the first compiled module (patchset #12 id:220001 of https://codereview.chromium.org/2305903002/ ) Reason for revert: mac gc stress failures: https://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress/builds/8341 Original issue's description: > [wasm] reuse the first compiled module. > > This change avoids needing to keep around an unused compiled > module. Instead, the result of compiling the wasm bytes is > given to the first instance. The module object and that instance object > point to the same compiled module. Instances are, then, cloned from > the compiled module the module object points to. When an instance is > collected, we make sure that the module object still has a clone > available, and, if the last instance is GC-ed, we also reset the compiled > module so that it does not reference its heap, so that it (==heap) may > be collected. > > This is achieved by linking the clones in a double-linked list and > registering a finalizer for each. When we create an instance, we tie it > in the front of the list, making the module object point to it (O(1)). When > the finalizer is called, we relink the list over the dying object (O(1)). The > costliest operation is finalizing the last instance, since we need to visit > all wasm functions and reset heap references. > > BUG=v8:5316 > > Committed: https://crrev.com/01f5af515728aebe6c5246f4f7dd6c573e8748af > Cr-Commit-Position: refs/heads/master@{#39153} TBR=bradnelson@chromium.org,verwaest@chromium.org,vogelheim@chromium.org,yangguo@chromium.org,mtrofin@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5316 Review-Url: https://codereview.chromium.org/2306403002 Cr-Commit-Position: refs/heads/master@{#39154}
-
mtrofin authored
This change avoids needing to keep around an unused compiled module. Instead, the result of compiling the wasm bytes is given to the first instance. The module object and that instance object point to the same compiled module. Instances are, then, cloned from the compiled module the module object points to. When an instance is collected, we make sure that the module object still has a clone available, and, if the last instance is GC-ed, we also reset the compiled module so that it does not reference its heap, so that it (==heap) may be collected. This is achieved by linking the clones in a double-linked list and registering a finalizer for each. When we create an instance, we tie it in the front of the list, making the module object point to it (O(1)). When the finalizer is called, we relink the list over the dying object (O(1)). The costliest operation is finalizing the last instance, since we need to visit all wasm functions and reset heap references. BUG=v8:5316 Review-Url: https://codereview.chromium.org/2305903002 Cr-Commit-Position: refs/heads/master@{#39153}
-
bmeurer authored
There are no users of class types left inside TurboFan, so we can nuke them and thereby simplify the type system quite a bit. R=mvstanton@chromium.org BUG=v8:5267,v8:5270 Review-Url: https://codereview.chromium.org/2309753002 Cr-Commit-Position: refs/heads/master@{#39152}
-
bmeurer authored
Avoid the useless strict equality comparisons with true/false being generated for the JumpIfTrue, JumpIfFalse, JumpIfToBooleanTrue and JumpIfToBooleanFalse bytecodes. Instead feed the accumulator (or the outcome of ToBoolean) directly to the Branch node and do the negation as part of the control flow. The previous subraphs would render the loop variable analysis useless, and would cause a lot of unnecessary bit materialization, because many of our optimizations don't kick in. Note: This is only part of the problem, there are more subtle differences in the bytecode pipeline that prevent several important optimizations to kick in. R=mstarzinger@chromium.org BUG=v8:5267,v8:5348 Review-Url: https://codereview.chromium.org/2309733002 Cr-Commit-Position: refs/heads/master@{#39151}
-
jgruber authored
BUG=v8:5339 Review-Url: https://codereview.chromium.org/2307853002 Cr-Commit-Position: refs/heads/master@{#39150}
-
bmeurer authored
Fold a Select that negates a boolean value, i.e. returning true in the false case and vice versa, into Branch users, similar to what we already do for Branch nodes with BooleanNot inputs. BUG=v8:5267 Review-Url: https://codereview.chromium.org/2308303003 Cr-Commit-Position: refs/heads/master@{#39149}
-
ofrobots authored
R=bmeurer@chromium.org, rmcilroy@chromium.org Review-Url: https://codereview.chromium.org/2309203002 Cr-Commit-Position: refs/heads/master@{#39148}
-
mtrofin authored
has_slot_use is computed early, and we need it to determine if we need to generate SpillRanges. After splintering, however, the information may be incorrect - e.g. just the splinter may have slot uses, and not the original. BUG= Review-Url: https://codereview.chromium.org/2312523002 Cr-Commit-Position: refs/heads/master@{#39147}
-
v8-autoroll authored
Rolling v8/build to 1d4c40819ec61e059e2ca6893cd1d21b5bda6c75 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2305303002 Cr-Commit-Position: refs/heads/master@{#39146}
-
- 04 Sep, 2016 1 commit
-
-
zhengxing.li authored
port 7e5b8fee (r39120) original commit message: 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. Reland of https://codereview.chromium.org/2190293003/ with a bug fix. BUG= Review-Url: https://codereview.chromium.org/2293253007 Cr-Commit-Position: refs/heads/master@{#39145}
-
- 03 Sep, 2016 1 commit
-
-
v8-autoroll authored
Rolling v8/build to a767a79305018c5ec5affd7d96cff474aa3b03a1 Rolling v8/tools/clang to 052b1cffaca49a038f27168ef9d897db6df04e5a TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2311503003 Cr-Commit-Position: refs/heads/master@{#39144}
-
- 02 Sep, 2016 11 commits
-
-
bmeurer authored
R=franzih@chromium.org BUG=v8:3533 Review-Url: https://codereview.chromium.org/2306033002 Cr-Commit-Position: refs/heads/master@{#39143}
-
gdeepti authored
Using --trace-wasm-decoder prints unknowns for prefix opcodes, example: @3 #01:Block | env = 0x5547c10, state = R, reason = block:start, control = #0:Start @4 #14:GetLocal | i@4:GetLocal[0] @6 #e5:Unknown | s@6:Unknown @8 #15:SetLocal | s@8:SetLocal[1] @10 #14:GetLocal | s@8:SetLocal[1] i@10:GetLocal[0] @12 #14:GetLocal | s@8:SetLocal[1] i@10:GetLocal[0] s@12:GetLocal[1] @14 #cb:I8Const | s@8:SetLocal[1] i@10:GetLocal[0] s@12:GetLocal[1] i@14:I8Const @16 #e5:Unknown | s@8:SetLocal[1] i@10:GetLocal[0] i@16:Unknown Fixed to print: @3 #01:Block | env = 0x45cac10, state = R, reason = block:start, control = #0:Start @4 #14:GetLocal | i@4:GetLocal[0] @6 #e5 #1b:I32x4Splat | s@6:I32x4Splat @8 #15:SetLocal | s@8:SetLocal[1] @10 #14:GetLocal | s@8:SetLocal[1] i@10:GetLocal[0] @12 #14:GetLocal | s@8:SetLocal[1] i@10:GetLocal[0] s@12:GetLocal[1] @14 #cb:I8Const | s@8:SetLocal[1] i@10:GetLocal[0] s@12:GetLocal[1] i@14:I8Const @16 #e5 #1c:I32x4ExtractLane | s@8:SetLocal[1] i@10:GetLocal[0] i@16:I32x4ExtractLane R=ahaas@chromium.org, bbudge@chromium.org Review-Url: https://codereview.chromium.org/2307733002 Cr-Commit-Position: refs/heads/master@{#39142}
-
adamk authored
This makes for slightly faster rebuilds when touching parser-base.h (which changes frequently!). Also takes care of an old TODO, moving CompileTimeValue into its own file under ast/, where it properly belongs. BUG=v8:5294 Review-Url: https://codereview.chromium.org/2305883002 Cr-Commit-Position: refs/heads/master@{#39141}
-
jbroman authored
BUG=chromium:148757,chromium:641964 Review-Url: https://codereview.chromium.org/2307603002 Cr-Commit-Position: refs/heads/master@{#39140}
-
jgruber authored
This disables notification of wasm script 'compilation' since OnAfterCompile actually triggers a JS call (which is disallowed during stack trace collection). BUG=641065 Review-Url: https://codereview.chromium.org/2304943002 Cr-Commit-Position: refs/heads/master@{#39139}
-
bjaideep authored
Port 7e5b8fee Original commit message: 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. Reland of https://codereview.chromium.org/2190293003/ with a bug fix. R=mythria@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG=v8:4280, v8:4780 LOG=N Review-Url: https://codereview.chromium.org/2302343002 Cr-Commit-Position: refs/heads/master@{#39138}
-
franzih authored
BUG= Review-Url: https://codereview.chromium.org/2302133003 Cr-Commit-Position: refs/heads/master@{#39137}
-
machenbach authored
This prepares using mb as a library and not as a sub process. It is used like that in the new list command that shows available configurations. Also added more robust checks of user inputs, better hints and better docu. BUG=chromium:625791 NOTRY=true Review-Url: https://codereview.chromium.org/2300333002 Cr-Commit-Position: refs/heads/master@{#39136}
-
mvstanton authored
Our Type class has a semantic and representational dimension. Much code in src/ast, Crankshaft and Turbofan is based on it. Going forward in Turbofan we'd like to remove representational information entirely. To that end, new type AstType has been created to preserve existing behavior for the benefit of Crankshaft and the AST. BUG= Review-Url: https://codereview.chromium.org/2302283002 Cr-Commit-Position: refs/heads/master@{#39135}
-
neis authored
R=jochen BUG= NOTRY=true NOTREECHECKS=true Review-Url: https://codereview.chromium.org/2303113004 Cr-Commit-Position: refs/heads/master@{#39134}
-
mlippautz authored
We introduce, similar to regular heap, a hard and a soft limit for external memory. - Upon reaching the hard limit we do a full GC. The hard limit is a a delta from the size of external memory at last GC. - Upon reaching the soft limit we start incremental marking. Each further AdjustAmountOfExternalMemory will trigger a marking step. The step size depends on how far we are away from the hard limit. Further away means we have still some wiggle room and the step will be small. Being closer to the hard limit makes it more likely to trigger a full GC, so we increase the step size. BUG=chromium:621829 Review-Url: https://codereview.chromium.org/2256853003 Cr-Commit-Position: refs/heads/master@{#39133}
-