- 19 Oct, 2016 1 commit
-
-
gsathya authored
Moving the rest of the debugging code is blocked on making IsPromise inlinable. BUG=v8:5343 Review-Url: https://chromiumcodereview.appspot.com/2431793003 Cr-Commit-Position: refs/heads/master@{#40440}
-
- 18 Oct, 2016 3 commits
-
-
gsathya authored
BUG=v8:5343 Review-Url: https://codereview.chromium.org/2425553003 Cr-Commit-Position: refs/heads/master@{#40405}
-
bmeurer authored
R=epertoso@chromium.org BUG=v8:5049 Review-Url: https://codereview.chromium.org/2424403002 Cr-Commit-Position: refs/heads/master@{#40399}
-
caitp authored
Implements the variations of CreateArrayIterator() in TFJ builtins (ArrayPrototypeValues, ArrayPrototypeEntries and ArrayPrototypeKeys), and provides two new Object types with numerous maps which identify certain behaviours, which will be useful for inlining. Removes src/js/array-iterator.js entirely Also adds support for printing Symbol literals inserted by the Parser during desugaring when FLAG_print_builtin_ast is set to true. BUG=v8:5388 R=bmeurer@chromium.org, cbruni@chromium.org TBR=ulan@chromium.org Review-Url: https://codereview.chromium.org/2405253006 Cr-Commit-Position: refs/heads/master@{#40373}
-
- 17 Oct, 2016 1 commit
-
-
gsathya authored
BUG=v8:5343 Review-Url: https://codereview.chromium.org/2415023002 Cr-Commit-Position: refs/heads/master@{#40369}
-
- 14 Oct, 2016 7 commits
-
-
gsathya authored
If the catch prediction machinery in the middle of some async op, we shouldn't send invalid events to the debugger. Instead of sending events with an undefined id, we don't send them at all. Review-Url: https://codereview.chromium.org/2417093003 Cr-Commit-Position: refs/heads/master@{#40327}
-
yangguo authored
R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2410303009 Cr-Commit-Position: refs/heads/master@{#40311}
-
jgruber authored
Now that all accesses to the last match info are in C++ and TF code, we can finally turn the last match info into a FixedArray. Similar to the ArrayList, it uses its first field to store its length and grows dynamically in amortized O(1) time. Unlike previously, this means that the last match info pointer stored on the context can actually change (in case the FixedArray needs to grow). BUG=v8:5339 Review-Url: https://codereview.chromium.org/2415103002 Cr-Commit-Position: refs/heads/master@{#40308}
-
bmeurer authored
These accessors also always call into C++ anyways, so there's no point in having the JavaScript wrappers. R=yangguo@chromium.org BUG=v8:5049, chromium:655963 Committed: https://crrev.com/ede69cfabd790fe9f171b5d1f426ea0fc55e3c98 Review-Url: https://codereview.chromium.org/2417183002 Cr-Original-Commit-Position: refs/heads/master@{#40298} Cr-Commit-Position: refs/heads/master@{#40306}
-
machenbach authored
Revert of [builtins] Also port the Object.prototype.__proto__ accessors to C++. (patchset #1 id:1 of https://codereview.chromium.org/2417183002/ ) Reason for revert: [Sheriff] Speculative revert for webkit tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/10656 Was broken before, but this one test failure started with this CL: inspector/console/console-dir.htm All other errors stopped after another revert. See also: https://github.com/v8/v8/wiki/Blink-layout-tests Original issue's description: > [builtins] Also port the Object.prototype.__proto__ accessors to C++. > > These accessors also always call into C++ anyways, so there's no point > in having the JavaScript wrappers. > > R=yangguo@chromium.org > BUG=v8:5049 > > Committed: https://crrev.com/ede69cfabd790fe9f171b5d1f426ea0fc55e3c98 > Cr-Commit-Position: refs/heads/master@{#40298} TBR=yangguo@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:5049 Review-Url: https://codereview.chromium.org/2415173003 Cr-Commit-Position: refs/heads/master@{#40303}
-
bmeurer authored
These accessors also always call into C++ anyways, so there's no point in having the JavaScript wrappers. R=yangguo@chromium.org BUG=v8:5049 Review-Url: https://codereview.chromium.org/2417183002 Cr-Commit-Position: refs/heads/master@{#40298}
-
bmeurer authored
This calls into C++ anyways, so no need to add the JavaScript wrapper around it. R=yangguo@chromium.org BUG=v8:5049 Review-Url: https://codereview.chromium.org/2421803002 Cr-Commit-Position: refs/heads/master@{#40293}
-
- 13 Oct, 2016 2 commits
-
-
jgruber authored
This ports RegExpInitialize, IsRegExp, InternalMatch and InternalReplace to C++ / TurboFan. InternalMatch is in TurboFan because it calls RegExpExecStub and needs to construct a RegExpResult (which are, respectively, a PlatformStub and a CodeStubAssembler function). Except for LastMatchInfo (and GetSubstitution, which could be moved to string.js anytime), regexp.js is now completely empty. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2409513003 Cr-Commit-Position: refs/heads/master@{#40277}
-
jgruber authored
This moves the implementation of @@replace from regexp.js to builtins-regexp.cc (the TurboFan fast path) and runtime-regexp.cc (slow path). The fast path handles all cases in which the regexp itself is an unmodified JSRegExp instance, the given 'replace' argument is not callable and does not contain any '$' characters (i.e. we are doing a string replacement). BUG=v8:5339 Review-Url: https://codereview.chromium.org/2398423002 Cr-Commit-Position: refs/heads/master@{#40253}
-
- 12 Oct, 2016 3 commits
-
-
gsathya authored
Review-Url: https://codereview.chromium.org/2419713002 Cr-Commit-Position: refs/heads/master@{#40241}
-
gsathya authored
This patch results in a 11% improvement over 5 runs in the bluebird benchmark. BUG=v8:5343,v8:5046 TBR=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2406343002 Cr-Commit-Position: refs/heads/master@{#40239}
-
jgruber authored
Our minifier (tools/jsmin.py) shortens variable names it comes across. It generally tries to avoid name conflicts caused by renamed variables, but cannot handle lambda function syntax. This is what happens here. Both lambda function parameters 'x' and 'y' are not recognized as identifiers by the minifier and it thus potentially causes naming conflicts. BUG=v8:5505 Review-Url: https://codereview.chromium.org/2412533002 Cr-Commit-Position: refs/heads/master@{#40198}
-
- 11 Oct, 2016 4 commits
-
-
petermarshall authored
BUG=v8:5364 Review-Url: https://codereview.chromium.org/2407173002 Cr-Commit-Position: refs/heads/master@{#40165}
-
petermarshall authored
BUG=v8:5364 Review-Url: https://codereview.chromium.org/2406873002 Cr-Commit-Position: refs/heads/master@{#40164}
-
jgruber authored
This CL ports RegExp.prototype[@@split] to C++. Performance regressions are expected due to: * Slow RegExpImpl::Exec implementation instead of RegExpExec stub. We should be able to improve this by straight-lining RegExpImpl::Exec. * Slow Factory::NewSubString instead of SubStringStub. * Slow elements access to lastMatchInfo. These points will be addressed in a follow-up CL. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2401643002 Cr-Commit-Position: refs/heads/master@{#40161}
-
yangguo authored
R=bmeurer@chromium.org BUG=v8:5049, v8:5086 Review-Url: https://codereview.chromium.org/2402363002 Cr-Commit-Position: refs/heads/master@{#40149}
-
- 10 Oct, 2016 7 commits
-
-
gsathya authored
The behavior was changed in https://codereview.chromium.org/2357423002 Review-Url: https://codereview.chromium.org/2403163002 Cr-Commit-Position: refs/heads/master@{#40142}
-
gsathya authored
Review-Url: https://codereview.chromium.org/2397373004 Cr-Commit-Position: refs/heads/master@{#40130}
-
petermarshall authored
Also add a test for when the first argument is null or undefined, as there are no tests that cover this currently. BUG=v8:5364 Review-Url: https://codereview.chromium.org/2399423003 Cr-Commit-Position: refs/heads/master@{#40127}
-
jgruber authored
This CL ports RegExp.prototype.test, RegExp.prototype.match and RegExp.prototype.search to C++. Performance regressions are expected but should be improved in an upcoming CL. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2394713003 Cr-Commit-Position: refs/heads/master@{#40122}
-
jgruber authored
Again, fast paths could be added for unmodified JSRegExp instances. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2392463005 Cr-Commit-Position: refs/heads/master@{#40119}
-
petermarshall authored
Revert of [builtins] Move StringIncludes to a builtin. (patchset #4 id:60001 of https://codereview.chromium.org/2399423003/ ) Reason for revert: String.includes crashes when called with null or undefined as the first param Original issue's description: > [builtins] Move StringIncludes to a builtin. > > BUG=v8:5364 > > Committed: https://crrev.com/b374d719e79a5b32168c25c0cda30056f5e6e36c > Cr-Commit-Position: refs/heads/master@{#40110} TBR=franzih@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:5364 Review-Url: https://codereview.chromium.org/2407793002 Cr-Commit-Position: refs/heads/master@{#40118}
-
petermarshall authored
BUG=v8:5364 Review-Url: https://codereview.chromium.org/2399423003 Cr-Commit-Position: refs/heads/master@{#40110}
-
- 07 Oct, 2016 2 commits
-
-
petermarshall authored
BUG=v8:5364 Review-Url: https://codereview.chromium.org/2350963004 Cr-Commit-Position: refs/heads/master@{#40093}
-
bmeurer authored
This implicitly convers parseFloat on the global object as well, since it's the same function. This is mostly straight-forward, but adds another fast case for HeapNumbers as well. R=ishell@chromium.org Review-Url: https://codereview.chromium.org/2395373002 Cr-Commit-Position: refs/heads/master@{#40072}
-
- 06 Oct, 2016 2 commits
-
-
gsathya authored
This patch sets `this` to be undefined when calling resolve and reject functions attached to the deferred. BUG=v8:5476 Review-Url: https://codereview.chromium.org/2399053003 Cr-Commit-Position: refs/heads/master@{#40056}
-
jgruber authored
Flag getters are implemented as TurboFan stubs while the rest are written as C++. This distinction is somewhat arbitrary and more getters could be ported to TurboFan in the future. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2389233002 Cr-Commit-Position: refs/heads/master@{#40036}
-
- 05 Oct, 2016 3 commits
-
-
gsathya authored
When we create native promises as part of PromiseThen, we don't have to create resolving closures. The closure will only ever be called once from PromiseHandle, therefore we don't need the alreadyResolved check. This results in a 21.76% improvement in the bluebird benchmark over 5 runs. BUG=v8:5046 Review-Url: https://codereview.chromium.org/2396763002 Cr-Commit-Position: refs/heads/master@{#40018}
-
gsathya authored
Review-Url: https://codereview.chromium.org/2376613003 Cr-Commit-Position: refs/heads/master@{#40011}
-
jgruber authored
This moves the RegExp constructor to C++. Local runs of octane/regexp are performance-neutral: C++: 4970.1 +- 404.981 JS: 4869.2 +- 586.743 That's probably only the case because exec and replace dominate octane/regexp. There's potential for improvement here, for instance by adding a fast-path if new.target is an unmodified JSRegExp function. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2384613004 Cr-Commit-Position: refs/heads/master@{#39981}
-
- 04 Oct, 2016 1 commit
-
-
jgruber authored
BUG=v8:5415 Review-Url: https://codereview.chromium.org/2373493002 Cr-Commit-Position: refs/heads/master@{#39951}
-
- 30 Sep, 2016 1 commit
-
-
jgruber authored
This ports RegExp.prototype.exec to a TurboFan builtin. LastMatchInfo is now stored on the context in order to be able to access it from the stub. Unmodified RegExp instances go through a fast path of accessing the lastIndex property as an in-object field, while modified instances call into runtime for lastIndex loads and stores. Octane/regexp shows slight improvements (between 0 and 5%) with this CL. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2375953002 Cr-Commit-Position: refs/heads/master@{#39899}
-
- 29 Sep, 2016 1 commit
-
-
jgruber authored
BUG=v8:5415 Committed: https://crrev.com/cc37dff7ba21345b3a867a86127a208e34a3f707 Review-Url: https://codereview.chromium.org/2358133004 Cr-Original-Commit-Position: refs/heads/master@{#39717} Cr-Commit-Position: refs/heads/master@{#39852}
-
- 28 Sep, 2016 1 commit
-
-
bmeurer authored
This matches current Crankshaft/fullcodegen behavior more closely and thus reduces the chances that we run into unnecessary polymorphism due to the field representation tracking in our object model. Drive-by-fixes: Make sure the JSRegExp::lastIndex field stays Smi if possible (otherwise we tank the regexp benchmark in Octane). CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_mac64_rel,v8_mac64_dbg R=jarin@chromium.org BUG=v8:5267 Committed: https://chromium.googlesource.com/v8/v8/+/6a939714e991ebf10d56ddbd2869325cca99c0ef Committed: https://crrev.com/ee158e6c4cc896479a32245432a3c2fdd31bcb73 Committed: https://crrev.com/ddf792beb3a72f6dba83e94fc8ada03ebf1630bd Review-Url: https://codereview.chromium.org/2367593003 Cr-Original-Original-Commit-Position: refs/heads/master@{#39692} Cr-Original-Commit-Position: refs/heads/master@{#39748} Cr-Commit-Position: refs/heads/master@{#39803}
-
- 27 Sep, 2016 1 commit
-
-
gsathya authored
Previously passing in the PromiseNopResolver function to the Promise constructor would result in creating the resolving functions to be in passed in to the executor, but the PromiseNopResolver does not use these resolving functions resulting in wastefully creating these closures. Instead we pass in the promiseRawSymbol to the promise constructor so that these unnecessary resolving functions are not created. BUG=v8:5046 Review-Url: https://codereview.chromium.org/2353303003 Cr-Commit-Position: refs/heads/master@{#39791}
-