- 24 Aug, 2016 8 commits
-
-
jarin authored
This recovers about 50% of the regression in compilation time. BUG=chromium:638208 Review-Url: https://codereview.chromium.org/2274053002 Cr-Commit-Position: refs/heads/master@{#38854}
-
verwaest authored
BUG=v8:5209 Review-Url: https://codereview.chromium.org/2270213002 Cr-Commit-Position: refs/heads/master@{#38853}
-
jgruber authored
A FrameArray encodes information about a set of stack frames into a fixed array. This commit is a pure refactoring to make the structure of fixed array-encoded frames explicit. BUG= Review-Url: https://codereview.chromium.org/2270783002 Cr-Commit-Position: refs/heads/master@{#38852}
-
https://codereview.chromium.org/2276833002/hablich authored
Reason for revert: Breaks TSAN Original issue's description: > Update V8 DEPS. > > Rolling v8/build to b02fa16a7e5f43a2afb00b8cf56375a700f3ed0e > > Rolling v8/tools/clang to 82fffa46e8fedec2be06199c5f90410e7f2bffb8 > > Rolling v8/tools/mb to 94f86dcf676fbf08448f662273aac62951365b2c > > TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org > > Committed: https://crrev.com/a796d69a9a093ca7773acbe9377865b7df680fe6 > Cr-Commit-Position: refs/heads/master@{#38850} TBR=machenbach@chromium.org,vogelheim@chromium.org,v8-autoroll@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2270293004 Cr-Commit-Position: refs/heads/master@{#38851}
-
v8-autoroll authored
Rolling v8/build to b02fa16a7e5f43a2afb00b8cf56375a700f3ed0e Rolling v8/tools/clang to 82fffa46e8fedec2be06199c5f90410e7f2bffb8 Rolling v8/tools/mb to 94f86dcf676fbf08448f662273aac62951365b2c TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2276833002 Cr-Commit-Position: refs/heads/master@{#38850}
-
zhengxing.li authored
port d941b52d (r38657) original commit message: These new representations aren't used yet. BUG= Review-Url: https://codereview.chromium.org/2277473004 Cr-Commit-Position: refs/heads/master@{#38849}
-
mtrofin authored
When compiling a wasm module, we initially generate placeholders for imports, which store the index corresponding to that import. Later, at instantiation time, we use that index to correctly link the provided import. In this scheme, supporting multiple instantiations requires we preserve a template (set of unlinked compiled wasm functions) which we clone for each instance. To avoid holding on to this template, which may be large (wasm compiled code should be expected to be in the order of tens of MB), we must enable cloning from an instance's linked wasm functions. This change is a step in that direction. Instead of assuming the wasm functions reference placeholders, we store a table of the code objects used for imports together with the compiled module, and use that information to determine the index of the import. Initially, that table contains placeholders. For instances, however, that table contains their actual imports. BUG= Review-Url: https://codereview.chromium.org/2269323002 Cr-Commit-Position: refs/heads/master@{#38848}
-
littledan authored
To make async/await catch prediction work well, this patch regularizes the exception events sent to DevTools from various places in the Promise lifecycle. The core is that there should be an exception event when the rejection first starts, rather than when it is propagated. - Several cases within Promise code which propagate errors are modified to not trigger a new ExceptionEvent in that case, such as .then on a rejected Promise and returning a rejected Promise from .then, as well as Promise.race and Promise.all. - Make Promise.reject() create an ExceptionEvent, subject to catch prediction based on the Promise stack. This is important so that, e.g., if "await Promise.reject()" will trigger a new throw (rather than a silent rethrow of something that never triggered an event in the first place). BUG=v8:5167 Review-Url: https://codereview.chromium.org/2244003003 Cr-Commit-Position: refs/heads/master@{#38847}
-
- 23 Aug, 2016 32 commits
-
-
adamk authored
R=littledan@chromium.org BUG=v8:4483 Review-Url: https://codereview.chromium.org/2270223002 Cr-Commit-Position: refs/heads/master@{#38846}
-
jpp authored
Introduces support for using try { } finally { } in wasm. BUG= Review-Url: https://codereview.chromium.org/2240743003 Cr-Commit-Position: refs/heads/master@{#38845}
-
verwaest authored
This gets rid of the BindingsKind flag. It replaces the factory argument with a bool that indicates whether free variables should be resolved as well. BUG= Review-Url: https://codereview.chromium.org/2262393004 Cr-Commit-Position: refs/heads/master@{#38844}
-
gdeepti authored
- Instruction selection, code generation, test for Splat/Extract - Fixes for AstS128 Locals in wasm R=bbudge@chromium.org, titzer@chromium.org Review-Url: https://codereview.chromium.org/2264533002 Cr-Commit-Position: refs/heads/master@{#38843}
-
adamk authored
"ExpressionProductions" was missing the plural. I don't think this changed any behavior, but I'd rather be safe than sorry. Also removed redundant mention of TailCall production. A future patch will attempt to make calls to Accumulate make more sense, in general. R=littledan@chromium.org Review-Url: https://codereview.chromium.org/2270153002 Cr-Commit-Position: refs/heads/master@{#38842}
-
adamk authored
In particular, this covers one caller of CheckDestructuringElement that didn't have tests before. R=caitp@igalia.com Review-Url: https://codereview.chromium.org/2267153002 Cr-Commit-Position: refs/heads/master@{#38841}
-
bjaideep authored
Port b305c7df Original commit message: Drive-by fix: the order of parameters in the BinaryOpWithFeedback TurboFan code stubs now reflects the convention of having the context at the end. R=epertoso@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG=v8:5273 LOG=N Review-Url: https://codereview.chromium.org/2264353003 Cr-Commit-Position: refs/heads/master@{#38840}
-
adamk authored
The only two places where these Forgive methods were called was in ParseAssignmentExpression just at the time we were calling Accumulate(). So instead of Forgiving, we can simply not accumulate the bits that would have been forgiven. Also slightly restructures the nearby code in ParseAssignmentExpression, and removes the use of non-const references in ExpressionClassifier. Review-Url: https://codereview.chromium.org/2267223002 Cr-Commit-Position: refs/heads/master@{#38839}
-
jpp authored
Adds a check so that module validation fails if there are any assignments to immutable identifiers (e.g., module name, module parameters, stdlib imports.) BUG= https://bugs.chromium.org/p/chromium/issues/detail?id=640194 Review-Url: https://codereview.chromium.org/2268363002 Cr-Commit-Position: refs/heads/master@{#38838}
-
nikolaos authored
This patch removes 26 elements of the (pre)parser traits objects. Some methods are removed completely and called directly from the implementation objects: - ParseAsyncFunctionExpression - ParseClassLiteral - ParseDoExpression - ParseEagerFunctionBody - ParseFunctionLiteral - ParseV8Intrinsic Some methods have to be moved to at least one implementation object: - AddTemplateExpression - AddTemplateSpan - CheckConflictingVarDeclarations - CloseTemplateLiteral - MarkCollectedTailCallExpressions - MarkTailPosition - OpenTemplateLiteral - ParseAsyncArrowSingleExpressionBody - PrepareSpreadArguments - QueueDestructuringAssignmentForRewriting - QueueNonPatternForRewriting - RewriteAssignExponentiation - RewriteAwaitExpression - RewriteDestructuringAssignments - RewriteExponentiation - RewriteNonPattern - RewriteYieldStar - SkipLazyFunctionBody - SpreadCall - SpreadCallNew Also, the inner class/struct TemplateLiteralState is moved to the implementation objects. R=adamk@chromium.org, marja@chromium.org BUG= LOG=N Review-Url: https://codereview.chromium.org/2267783002 Cr-Commit-Position: refs/heads/master@{#38837}
-
verwaest authored
We anyway have its index in params_, so just always access through params_. BUG=v8:5209 Review-Url: https://codereview.chromium.org/2275573002 Cr-Commit-Position: refs/heads/master@{#38836}
-
jbroman authored
BUG=chromium:148757 Review-Url: https://codereview.chromium.org/2262013002 Cr-Commit-Position: refs/heads/master@{#38835}
-
mlippautz authored
Before this patch all tracing scopes in incremental marking would be reset during a gc tracer start/stop cycle. This patch handles scopes the same way it does other incremental marking metrics. Also: - Align finalization metric with regular marking metric. - Smaller cleanups BUG=chromium:639818 Review-Url: https://codereview.chromium.org/2273673002 Cr-Commit-Position: refs/heads/master@{#38834}
-
jyan authored
R=bjaideep@ca.ibm.com BUG= Review-Url: https://codereview.chromium.org/2270523002 Cr-Commit-Position: refs/heads/master@{#38833}
-
epertoso authored
Drive-by fix: the order of parameters in the BinaryOpWithFeedback TurboFan code stubs now reflects the convention of having the context at the end. BUG=v8:5273 Review-Url: https://codereview.chromium.org/2263253002 Cr-Commit-Position: refs/heads/master@{#38832}
-
franzih authored
BUG=v8:5260 Review-Url: https://codereview.chromium.org/2263363002 Cr-Commit-Position: refs/heads/master@{#38831}
-
jbroman authored
BUG=chromium:148757 Review-Url: https://codereview.chromium.org/2265603002 Cr-Commit-Position: refs/heads/master@{#38830}
-
mic.besace authored
On FreeBSD, sem_t is a struct with a couple of uint32_t fields. It only needs dword alignment on 64 bits architectures, not the qword (pointer) alignment that the CHECK currently enforces. BUG= Review-Url: https://codereview.chromium.org/2268993002 Cr-Commit-Position: refs/heads/master@{#38829}
-
verwaest authored
This flag was only set on receiver scopes (declaration scopes) already. This makes it statically obvious. BUG=v8:5209 Review-Url: https://codereview.chromium.org/2268333002 Cr-Commit-Position: refs/heads/master@{#38828}
-
mlippautz authored
Revert of [heap] Tracer: Handle incremental marking scopes (patchset #4 id:100001 of https://codereview.chromium.org/2264033002/ ) Reason for revert: Unittest fails on win32 debug: https://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20debug/builds/4188/steps/Check/logs/GCTracerTest.Incremen.. Original issue's description: > [heap] Tracer: Handle incremental marking scopes > > Before this patch all tracing scopes in incremental marking would be reset > during a gc tracer start/stop cycle. This patch handles scopes the same way it > does other incremental marking metrics. > > Also: > - Align finalization metric with regular marking metric. > - Smaller cleanups > > BUG=chromium:639818 > R=jochen@chromium.org > > Committed: https://crrev.com/300a8f97472b88ff2f94eb977c36b4bf1bedabf1 > Cr-Commit-Position: refs/heads/master@{#38822} TBR=jochen@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:639818 Review-Url: https://codereview.chromium.org/2275583002 Cr-Commit-Position: refs/heads/master@{#38827}
-
franzih authored
BUG=v8:5260 Review-Url: https://codereview.chromium.org/2262313002 Cr-Commit-Position: refs/heads/master@{#38826}
-
slan authored
Non-CrOS builds should use clang for snapshot_toolchain, even on builds which use gcc for the target device. Change the default value for snapshot_toolchain to always use clang, except on ChromeOS gcc builds. In practice, every platform except ChromeOS always uses clang, so this should not affect any platform except non-CrOS gcc builds (like Cast) BUG= internal b/30873074 Review-Url: https://codereview.chromium.org/2265983002 Cr-Commit-Position: refs/heads/master@{#38825}
-
vogelheim authored
- The static method CopyChars was actually used and has been extracted. - It was used in tests, where it's been replaced w/ ExternalOneByteString... - Only one test actually relied on Utf8 handling (as opposed to ASCII only), and that was the test testing Utf8ToUtf16CharacterStream itself. +66 -277 LOC :) BUG=v8:4947 Review-Url: https://codereview.chromium.org/2256273002 Cr-Commit-Position: refs/heads/master@{#38824}
-
franzih authored
BUG=v8:5260 Review-Url: https://codereview.chromium.org/2268673002 Cr-Commit-Position: refs/heads/master@{#38823}
-
mlippautz authored
Before this patch all tracing scopes in incremental marking would be reset during a gc tracer start/stop cycle. This patch handles scopes the same way it does other incremental marking metrics. Also: - Align finalization metric with regular marking metric. - Smaller cleanups BUG=chromium:639818 R=jochen@chromium.org Review-Url: https://codereview.chromium.org/2264033002 Cr-Commit-Position: refs/heads/master@{#38822}
-
franzih authored
BUG= Review-Url: https://codereview.chromium.org/2269033002 Cr-Commit-Position: refs/heads/master@{#38821}
-
mstarzinger authored
This makes sure the check of the return value of an inlined constructor call is properly wired into the control chain. The check only happens on successful completion of the underlying call and hence is wired into the success latch of the control projections. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2272633002 Cr-Commit-Position: refs/heads/master@{#38820}
-
nikolaos authored
This patch applies an adaptation of the Curiously Recurring Template Pattern to the parser objects. The result is roughly: // Common denominator, needed to avoid cyclic dependency. // Instances of this template will end up with very minimal // definitions, ideally containing just typedefs. template <typename Impl> class ParserBaseTraits; // The parser base object, which should just implement pure // parser behavior. The Impl parameter is the actual derived // class (according to CRTP), which implements impure parser // behavior. template <typename Impl> class ParserBase : public ParserBaseTraits<Impl> { ... }; // And then, for each parser variant: class Parser; template <> class ParserBaseTraits<Parser> { ... }; class Parser : public ParserBase<Parser> { ... }; Using the CRTP, we will ultimately achieve two goals: (1) clean up the traits objects, but most importantly (2) clearly separate pure/impure parser implementation and facilitate experimentation with different parser variants. R=adamk@chromium.org, marja@chromium.org BUG= LOG=N Review-Url: https://codereview.chromium.org/2267663002 Cr-Commit-Position: refs/heads/master@{#38819}
-
marja authored
Rebuilding (after touching certain files) is crazy slow because includes are out of control. Fixing it: - Don't include stuff in headers unless necessary. - Include the stuff you need, not some other stuff that happens to include the stuff you need. BUG=v8:5294 Review-Url: https://codereview.chromium.org/2268303002 Cr-Commit-Position: refs/heads/master@{#38818}
-
jochen authored
When preparing compilation, we can't delay error reporting either. Also put handles during internalization into a deferred handle scope. BUG=v8:5215 R=marja@chromium.org,rmcilory@chromium.org Review-Url: https://codereview.chromium.org/2268983002 Cr-Commit-Position: refs/heads/master@{#38817}
-
jochen authored
Also, clarify comments about how semaphores work BUG=none R=mlippautz@chromium.org Review-Url: https://codereview.chromium.org/2270703002 Cr-Commit-Position: refs/heads/master@{#38816}
-
mstarzinger authored
This makes sure the deoptimizer picks bytecode prepared for debugging when materializing an interpreted frame if one is available. This is normally done by the interpreter entry trampoline and hence needs to be replicated by the deoptimizer. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2271443003 Cr-Commit-Position: refs/heads/master@{#38815}
-