- 18 Mar, 2016 1 commit
-
-
vogelheim authored
API change: This adds a new flag skip_html_comments to v8::ScriptOriginOptions. This flag controls whether V8 will attempt to honour HTML-style comments in JS sources. (That is: Gracefully ignore <!-- ... ---> in JS sources, which was a popular technique in the early days of JavaScript, to prevent non-JS-enabled browsers from displaying script sources to uses.) The flag defaults to 'true' when using v8::ScriptOrigin constructor, which preserves the existing behaviour. Embedders which are happy with the existing behaviour will thus not need any changes. BUG=chromium:573887 LOG=Y Review URL: https://codereview.chromium.org/1801203002 Cr-Commit-Position: refs/heads/master@{#34904}
-
- 17 Mar, 2016 1 commit
-
-
yangguo authored
A startup snapshot is considered cold when it does not contain any function code. We can now create a warm startup snapshot from a cold one by running a warm-up script. Functions exercised by the warm-up script are compiled and its code included in the warm startup snapshot. Side effects caused by the warm-up script does not persist. R=vogelheim@chromium.org BUG=v8:4836 LOG=Y Review URL: https://codereview.chromium.org/1805903002 Cr-Commit-Position: refs/heads/master@{#34849}
-
- 08 Mar, 2016 1 commit
-
-
littledan authored
We have compatibility workarounds to return 'undefined' on accessors to RegExp.prototype. This patch adds two UseCounters for two categories of this non-spec-compliant path: - source - ignorecase, multiline, global R=yangguo BUG=chromium:581577 LOG=Y Review URL: https://codereview.chromium.org/1762423002 Cr-Commit-Position: refs/heads/master@{#34597}
-
- 04 Mar, 2016 5 commits
-
-
dgozman authored
This scope is used to control microtasks execution when MicrotasksPolicy::kScoped is engaged. Attempt #2. First one was reverted due to chromium breakage: SetAutorunMicrotasks(false) was broken. BUG=chromium:585949 LOG=Y TEST=ScopedMicrotasks Review URL: https://codereview.chromium.org/1741893003 Cr-Commit-Position: refs/heads/master@{#34504}
-
haraken authored
Blink wants to distinguish GCs triggered by CollectAllAvailableGarbage from GCs forced by testing. This CL introduces a new flag to differentiate the two GC types. BUG=591463 LOG=Y Review URL: https://codereview.chromium.org/1757263003 Cr-Commit-Position: refs/heads/master@{#34494}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1765713003 Cr-Commit-Position: refs/heads/master@{#34492}
-
machenbach authored
Revert of Introduce v8::MicrotasksScope. (patchset #6 id:100001 of https://codereview.chromium.org/1741893003/ ) Reason for revert: [Sheriff] Speculative. Seems to break a bunch of webkit tests and causes timeouts: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/5103 Please rebase upstream if intended. Original issue's description: > Introduce v8::MicrotasksScope. > > This scope is used to control microtasks execution when MicrotasksPolicy::kScoped is engaged. > > BUG=chromium:585949 > LOG=Y > TEST=ScopedMicrotasks > > Committed: https://crrev.com/db77cec242dbdf8ee26da8232fa930270429f253 > Cr-Commit-Position: refs/heads/master@{#34472} TBR=jochen@chromium.org,adamk@chromium.org,dgozman@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:585949 Review URL: https://codereview.chromium.org/1762943002 Cr-Commit-Position: refs/heads/master@{#34480}
-
dgozman authored
This scope is used to control microtasks execution when MicrotasksPolicy::kScoped is engaged. BUG=chromium:585949 LOG=Y TEST=ScopedMicrotasks Review URL: https://codereview.chromium.org/1741893003 Cr-Commit-Position: refs/heads/master@{#34472}
-
- 03 Mar, 2016 2 commits
-
-
littledan authored
ES2015 generally bans FunctionDeclarations in positions which expect a Statement, as opposed to a StatementListItem, such as a FunctionDeclaration which constitutes the body of a for loop. However, Annex B 3.2 and 3.4 make exceptions for labeled function declarations and function declarations as the body of an if statement in sloppy mode, in the latter case specifying that the semantics are as if the function declaration occurred in a block. Chrome has historically permitted further extensions, for the body of any flow control construct. This patch addresses both the syntactic and semantic mismatches between V8 and the spec. For the semantic mismatch, function declarations as the body of if statements change from unconditionally hoisting in certain cases to acquiring the sloppy mode function in block semantics (based on Annex B 3.3). For the extra syntax permitted, this patch adds a flag, --harmony-restrictive-declarations, which excludes disallowed function declaration cases. A new UseCounter, LegacyFunctionDeclaration, is added to count how often function declarations occur as the body of other constructs in sloppy mode. With this patch, the code generally follows the form of the specification with respect to parsing FunctionDeclarations, rather than allowing them in arbitrary Statement positions, and makes it more clear where our extensions occur. BUG=v8:4647 R=adamk LOG=Y Review URL: https://codereview.chromium.org/1757543003 Cr-Commit-Position: refs/heads/master@{#34470}
-
machenbach authored
This reverts commit 2608ecc7. Revert "Specialize helper methods in the LookupIterator by is_element." This reverts commit 6eb483f8. Revert "Avoid SetPropertyInternal if the LookupIterator is NotFound" This reverts commit ca5bd8d4. Revert "Inline fast-bailout-checks for LookupIterator::UpdateProtector" This reverts commit d98570a1. This breaks layout tests with timeouts: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/5060 It also seems to break jsfunfuzz: https://build.chromium.org/p/client.v8/builders/V8%20Fuzzer/builds/7930 The other three CLs are reverted to be able to revert the first. BUG=v8:4798 LOG=n TBR=verwaest@chromium.org Review URL: https://codereview.chromium.org/1761593003 Cr-Commit-Position: refs/heads/master@{#34457}
-
- 02 Mar, 2016 1 commit
-
-
verwaest authored
This introduces a new instance type and reorders the JSObject types so any type requiring special LookupIterator support can be identified with a single range check. In addition, it restructures the Next for better performance, avoiding unnecessary calls. BUG= Review URL: https://codereview.chromium.org/1751043002 Cr-Commit-Position: refs/heads/master@{#34429}
-
- 01 Mar, 2016 1 commit
-
-
fmeawad authored
This should land after the chromium CL that starts using the new AddTraceEvent lands (https://codereview.chromium.org/1742603004/) BUG=4565 LOG=N Review URL: https://codereview.chromium.org/1744733002 Cr-Commit-Position: refs/heads/master@{#34412}
-
- 29 Feb, 2016 2 commits
-
-
bmeurer authored
Rename the existing (patching) ToBooleanStub to ToBooleanICStub to match our naming convention, and add a new TurboFan-powered ToBooleanStub, which just does the ToBoolean conversion without any runtime call or code patching, so we can use it for Ignition (and TurboFan). Drive-by-fix: Add an Oddball::to_boolean field similar to the ones we already have for to_string and to_number, so we don't need to actually dispatch on the concrete Oddball at all. R=epertoso@chromium.org, rmcilroy@chromium.org, yangguo@chromium.org Review URL: https://codereview.chromium.org/1744163002 Cr-Commit-Position: refs/heads/master@{#34361}
-
jochen authored
Probably easier to use for embedders. BUG= R=ulan@chromium.org Review URL: https://codereview.chromium.org/1749663002 Cr-Commit-Position: refs/heads/master@{#34357}
-
- 28 Feb, 2016 1 commit
-
-
hablich authored
TBR=machenbach@chromium.org NOTRY=true Review URL: https://codereview.chromium.org/1744823002 Cr-Commit-Position: refs/heads/master@{#34347}
-
- 26 Feb, 2016 1 commit
-
-
fmeawad authored
This patch adds the newly added support for contexts in V8 Tracing, as well as use it to mark all the entry points for a V8 Isolate. Update for reland: The current tracing interface needs to be updated (AddTraceEvent), but the embedders need to migrate to the new version before removing the old version. (Reland of: https://codereview.chromium.org/1686233002) The revert happened because the 2 signatures of the old and new AddTraceEvent where different so it threw an overload-virtual error on cross arm debug. This issue is temporary, and to solve it, I added an implementation of the old and new everywhere until the embedder implements the new. BUG=v8:4565 LOG=N R=jochen@chromium.org Review URL: https://codereview.chromium.org/1704253002 Cr-Commit-Position: refs/heads/master@{#34332}
-
- 25 Feb, 2016 2 commits
-
-
dgozman authored
This calback is run after an attempt to run microtasks. BUG=chromium:585949 LOG=Y Review URL: https://codereview.chromium.org/1731773005 Cr-Commit-Position: refs/heads/master@{#34305}
-
ulan authored
BUG=v8:4781 LOG=NO Review URL: https://codereview.chromium.org/1740533004 Cr-Commit-Position: refs/heads/master@{#34304}
-
- 22 Feb, 2016 1 commit
-
-
littledan authored
This patch makes ArraySpeciesCreate fast in V8 by avoiding two property reads when the following conditions are met: - No Array instance has had its __proto__ reset - No Array instance has had a constructor property defined - Array.prototype has not had its constructor changed - Array[Symbol.species] has not been reset For subclasses of Array, or for conditions where one of these assumptions is violated, the full lookup of species is done according to the ArraySpeciesCreate algorithm. Although this is a "performance cliff", it does not come up in the expected typical use case of @@species (Array subclassing), so it is hoped that this can form a good start. Array subclasses will incur the slowness of looking up @@species, but their use won't slow down invocations of, for example, Array.prototype.slice on Array base class instances. Possible future optimizations: - For the fallback case where the assumptions don't hold, optimize the two property lookups. - For Array.prototype.slice and Array.prototype.splice, even if the full lookup of @@species needs to take place, we still could take the rest of the C++ fastpath. However, to do this correctly requires changing the calling convention from C++ to JS to pass the @@species out, so it is not attempted in this patch. With this patch, microbenchmarks of Array.prototype.slice do not suffer a noticeable performance regression, unlike their previous 2.5x penalty. TBR=hpayer@chromium.org Review URL: https://codereview.chromium.org/1689733002 Cr-Commit-Position: refs/heads/master@{#34199}
-
- 19 Feb, 2016 2 commits
-
-
dgozman authored
This new callback is similar to CallCompletedCallback, but is executed before the call has been made. Added Isolate* parameter to CallCompletedCallback, marking previous one as deprecated. BUG=chromium:585949 LOG=Y Review URL: https://codereview.chromium.org/1689863002 Cr-Commit-Position: refs/heads/master@{#34167}
-
jochen authored
R=verwaest@chromium.org LOG=y BUG=none Review URL: https://codereview.chromium.org/1711833002 Cr-Commit-Position: refs/heads/master@{#34142}
-
- 18 Feb, 2016 1 commit
-
-
jochen authored
R=adamk@chromium.org BUG= Review URL: https://codereview.chromium.org/1705013002 Cr-Commit-Position: refs/heads/master@{#34101}
-
- 17 Feb, 2016 3 commits
-
-
machenbach authored
Revert of Add Scoped Context Info (Isolate) to V8 Traces (patchset #5 id:80001 of https://codereview.chromium.org/1686233002/ ) Reason for revert: [Sheriff] Breaks arm cross-compile: https://build.chromium.org/p/client.v8/builders/V8%20Arm%20-%20debug%20builder/builds/7825/ Original issue's description: > Add Scoped Context Info (Isolate) to V8 Traces > > This patch adds the newly added support for contexts in V8 Tracing, as well > as use it to mark all the entry points for a V8 Isolate. > > BUG=v8:4565 > LOG=N > > Committed: https://crrev.com/44823c3c6965966c63b7e2e2361d0f2a58d196ea > Cr-Commit-Position: refs/heads/master@{#34092} TBR=jochen@chromium.org,fmeawad@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4565 Review URL: https://codereview.chromium.org/1710573002 Cr-Commit-Position: refs/heads/master@{#34095}
-
fmeawad authored
This patch adds the newly added support for contexts in V8 Tracing, as well as use it to mark all the entry points for a V8 Isolate. BUG=v8:4565 LOG=N Review URL: https://codereview.chromium.org/1686233002 Cr-Commit-Position: refs/heads/master@{#34092}
-
hablich authored
R=machenbach@chromium.org TBR=danno@chromium.org NOTRY=true Review URL: https://codereview.chromium.org/1706753002 Cr-Commit-Position: refs/heads/master@{#34076}
-
- 05 Feb, 2016 1 commit
-
-
mlippautz authored
The call can be used by the embedder to provide information on the workers executing background tasks. BUG=chromium:524425 LOG=N Review URL: https://codereview.chromium.org/1664203004 Cr-Commit-Position: refs/heads/master@{#33788}
-
- 03 Feb, 2016 2 commits
-
-
kozyatinskiy authored
A lot of deverlopers use deprecated sourceURL syntax. We should add console warning message before removing this. Original CL: https://codereview.chromium.org/1495633002/ BUG=chromium:558998 LOG=Y R=yangguo@chromium.org,hablich@chromium.org,adamk@chromium.org Review URL: https://codereview.chromium.org/1654223003 Cr-Commit-Position: refs/heads/master@{#33709}
-
jochen authored
BUG=none R=verwaest@chromium.org LOG=n Review URL: https://codereview.chromium.org/1653423002 Cr-Commit-Position: refs/heads/master@{#33699}
-
- 02 Feb, 2016 2 commits
-
-
vogelheim authored
(Trying to finish FastAccessorAssembler this week. This should make it easier to pick up the Blink side of this work later on.) BUG=chromium:508898 SOUNDTRACK=http://youtu.be/i1EG-MKy4so LOG=Y Review URL: https://codereview.chromium.org/1620293002 Cr-Commit-Position: refs/heads/master@{#33671}
-
jochen authored
BUG=none R=haraken@chromium.org,hpayer@chromium.org LOG=n Review URL: https://codereview.chromium.org/1659433002 Cr-Commit-Position: refs/heads/master@{#33658}
-
- 01 Feb, 2016 1 commit
-
-
littledan authored
This patch adds a UseCounter for each of the following: - Allowing duplicate sloppy-mode block-scoped function declarations in the exact same scope - for-in loops with an initializer The patch also refactors some of the declaration code to clean it up and enable the first counter, and adds additional unit tests to nail down the semantics of edge cases of sloppy-mode block-scoped function declarations. BUG=v8:4693,chromium:579395 LOG=N R=adamk Review URL: https://codereview.chromium.org/1633743003 Cr-Commit-Position: refs/heads/master@{#33650}
-
- 29 Jan, 2016 1 commit
-
-
xaxxon authored
Without this change, the v8::Local<> constructor will be picked up by the compiler as an option for an implicit cast for any pointer type. This leads to bad error messages when accidentally passing an erroneous pointer type to a function wanting a Local<> (complains about a pointer assignment in Local<>'s constructor as opposed to a bad type for the parameter of the function being called) and also causes ambiguity errors where none should exist when calling overloaded functions (for example a function taking either a std::string or a v8::Local<v8::Script> cannot be called with a const char * because the compiler sees both types as being constructable with a const char *). R=jochen@chromium.org BUG= Review URL: https://codereview.chromium.org/1647833005 Cr-Commit-Position: refs/heads/master@{#33602}
-
- 27 Jan, 2016 2 commits
-
-
jochen authored
R=yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/1641673002 Cr-Commit-Position: refs/heads/master@{#33561}
-
jochen authored
R=verwaest@chromium.org BUG= Review URL: https://codereview.chromium.org/1644603002 Cr-Commit-Position: refs/heads/master@{#33557}
-
- 26 Jan, 2016 1 commit
-
-
alph authored
It allows embedder to inject a stack sample on demand. BUG=chromium:579191 LOG=N Review URL: https://codereview.chromium.org/1631043002 Cr-Commit-Position: refs/heads/master@{#33527}
-
- 22 Jan, 2016 2 commits
-
-
ofrobots authored
Revert "Revert of [profiler] Implement POC Sampling Heap Profiler (patchset #12 id:220001 of https://codereview.chromium.org/1555553002/ )" This reverts commit 77df8659. BUG= Review URL: https://codereview.chromium.org/1618693004 Cr-Commit-Position: refs/heads/master@{#33473}
-
ishell authored
When accessor getter callback is called the v8::PropertyCallbackInfo::ShouldThrowOnError() is always false, since according to ES6 there's no difference between strict and non-strict property loads. For the setter case the v8::PropertyCallbackInfo::ShouldThrowOnError() returns true if the property is set in strict context. Interceptors follow same idea: for getter, enumerator and query callbacks the v8::PropertyCallbackInfo::ShouldThrowOnError() is always false, and for setter and deleter callback the v8::PropertyCallbackInfo::ShouldThrowOnError() returns true in strict context. This CL also cleans up the CallApiGetterStub and removes bogus asserts from [arm] Push(reg1, reg2, ..., regN) that prevented from pushing a set of registers containing duplicates. BUG=v8:4267 LOG=Y Committed: https://crrev.com/1d3e837fcbbd9d9fd5e72dfe85dfd47c025f3c9f Cr-Commit-Position: refs/heads/master@{#33438} Review URL: https://codereview.chromium.org/1587073003 Cr-Commit-Position: refs/heads/master@{#33461}
-
- 21 Jan, 2016 3 commits
-
-
ofrobots authored
Revert of [profiler] Implement POC Sampling Heap Profiler (patchset #12 id:220001 of https://codereview.chromium.org/1555553002/ ) Reason for revert: The random nature of the tests caused the following buildbot to fail: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20gcc%204.8/builds/4724/steps/Check/logs/stdio Original issue's description: > [profiler] Implement POC Sampling Heap Profiler > > This implements a proof-of-concept sampling based heap profiler inspired by > tcmalloc's heap profiler [1] and Go's mprof/memprofile [2]. > > The basic idea is the sample allocations using a randomized Poisson process. At > any point in time we can cheaply request the set of live sample objects that > should be a representative sample of heap. Samples include stack-traces from the > allocation sites, making this an effective tool for memory leak debugging. > > Unlike AllocationTracking, this is intended to be cheap and usable online in > production. > > The proof-of-concept is only sampling new-space allocations at this point. > Support for sampling paged space and native allocations is anticipated in the > future. > > [1] http://goog-perftools.sourceforge.net/doc/heap_profiler.html > [2] http://blog.golang.org/profiling-go-programs > > Committed: https://crrev.com/e5a9947811db9c9e23557dbad27f8b8a349b3262 > Cr-Commit-Position: refs/heads/master@{#33448} TBR=jochen@chromium.org,alph@chromium.org,hpayer@chromium.org,yangguo@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/1615173002 Cr-Commit-Position: refs/heads/master@{#33449}
-
ofrobots authored
This implements a proof-of-concept sampling based heap profiler inspired by tcmalloc's heap profiler [1] and Go's mprof/memprofile [2]. The basic idea is the sample allocations using a randomized Poisson process. At any point in time we can cheaply request the set of live sample objects that should be a representative sample of heap. Samples include stack-traces from the allocation sites, making this an effective tool for memory leak debugging. Unlike AllocationTracking, this is intended to be cheap and usable online in production. The proof-of-concept is only sampling new-space allocations at this point. Support for sampling paged space and native allocations is anticipated in the future. [1] http://goog-perftools.sourceforge.net/doc/heap_profiler.html [2] http://blog.golang.org/profiling-go-programs Review URL: https://codereview.chromium.org/1555553002 Cr-Commit-Position: refs/heads/master@{#33448}
-
machenbach authored
Revert of Array length reduction should throw in strict mode if it can't delete an element. (patchset #7 id:220001 of https://codereview.chromium.org/1587073003/ ) Reason for revert: [Sheriff] Breaks layout tests. Please fix upstream. https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/4077 Original issue's description: > Array length reduction should throw in strict mode if it can't delete an element. > > When accessor getter callback is called the v8::PropertyCallbackInfo::ShouldThrowOnError() is always false, since according to ES6 there's no difference between strict and non-strict property loads. For the setter case the v8::PropertyCallbackInfo::ShouldThrowOnError() returns true if the property is set in strict context. > > Interceptors follow same idea: for getter, enumerator and query callbacks the v8::PropertyCallbackInfo::ShouldThrowOnError() is always false, and for setter and deleter callback the v8::PropertyCallbackInfo::ShouldThrowOnError() returns true in strict context. > > This CL also cleans up the CallApiGetterStub and removes bogus asserts from [arm] Push(reg1, reg2, ..., regN) that prevented from pushing a set of registers containing duplicates. > > BUG=v8:4267 > LOG=Y > > Committed: https://crrev.com/1d3e837fcbbd9d9fd5e72dfe85dfd47c025f3c9f > Cr-Commit-Position: refs/heads/master@{#33438} TBR=verwaest@chromium.org,ishell@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4267 Review URL: https://codereview.chromium.org/1611313003 Cr-Commit-Position: refs/heads/master@{#33444}
-