- 16 Apr, 2018 7 commits
-
-
Georg Neis authored
The recent changes related to the Address type broke this. R=bmeurer@chromium.org Change-Id: I404930435e9f48750a735beed7d79108b9cc96ee Reviewed-on: https://chromium-review.googlesource.com/1014081 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52616}
-
Dan Elphick authored
Previously Isolate and Factory relied on the undefined behavior of reinterpret_cast to switch between the two unrelated classes (which worked because Factory had no data members). With Isolate inheriting from Factory, it's now possible to switch between the two classes using c-style casts. These are allowed under the C++ standard. The inheritance is private which allows the continuing separation of the Factory and Isolate namespaces. This is a defensive clean-up, since ubsan does not yet detect the previous undefined behavior. Bug: v8:3770 Change-Id: I0ccf09f1d34f747550812ce698ab7e182812409e Reviewed-on: https://chromium-review.googlesource.com/1010122Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#52615}
-
Yang Guo authored
The embedder should not need to keep track of the source string. R=jgruber@chromium.org Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ie27df755a22fbcae7b6e87a435419d2d8f545558 Reviewed-on: https://chromium-review.googlesource.com/1013482Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52614}
-
Marja Hölttä authored
BUG=v8:7308 Change-Id: I5e9f371b1db5515b723d9a2864bf2038706e2015 Reviewed-on: https://chromium-review.googlesource.com/960032 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#52613}
-
Simon Zünd authored
This adds tests for 'oddly' behaving comparison functions. I.e. functions that cause an element kind change and/or modify the array. The tests check that sort does not crash in these instances. R=jgruber@chromium.org Bug: v8:7382 Change-Id: I4ac9aa081fda9088d1848a960dc66aba671872e5 Reviewed-on: https://chromium-review.googlesource.com/1010062 Commit-Queue: Simon Zünd <szuend@google.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52612}
-
Jakob Kummerow authored
Spec change: https://github.com/tc39/proposal-bigint/pull/138 Bug: v8:6791 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I7367273ed1e98971be3b277f6486333a96412185 Reviewed-on: https://chromium-review.googlesource.com/1004120 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#52611}
-
Igor Sheludko authored
Bug: v8:5988 Change-Id: I2e90ed8df6b966e04299774e50aeb2913a8c1922 Reviewed-on: https://chromium-review.googlesource.com/999603 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#52610}
-
- 15 Apr, 2018 1 commit
-
-
Jakob Kummerow authored
Per the spec change at [1], Abstract Relational Comparison between a BigInt and a String converts the String to BigInt via StringToBigInt before performing the comparison. Before this change, the String was converted to a Number, and a BigInt/Number comparison was performed. [1] https://github.com/tc39/proposal-bigint/pull/139 Bug: v8:6791 Change-Id: I40b4f4ddc78977adb0d44180eb58e0f9a8a70cb6 Reviewed-on: https://chromium-review.googlesource.com/1004117 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#52609}
-
- 14 Apr, 2018 8 commits
-
-
Ben L. Titzer authored
R=gdeepti@chromium.org Change-Id: I3d0a21c6db671718b9f41fb8392f6900b2fecf27 Reviewed-on: https://chromium-review.googlesource.com/1013197Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52608}
-
Junliang Yan authored
Port 2459046c Original Commit Message: The "Address" type is V8's general-purpose type for manipulating memory addresses. Per the C++ spec, pointer arithmetic and pointer comparisons are undefined behavior except within the same array; since we generally don't operate within a C++ array, our general-purpose type shouldn't be a pointer type. R=jkummerow@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Ic30ef19019e5b39b01f90587011c6a1b06c4b7a1 Reviewed-on: https://chromium-review.googlesource.com/1012461Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#52607}
-
Junliang Yan authored
Port a3b60675 Original Commit Message: This is mostly a simple copy & paste of the stub implementation from code-stubs-arch.cc to builtins-arch.cc. The conversion allows removal of a special case for the DoubleToIStub within the compiler & wasm pipelines, and also makes the following builtins isolate-independent (in conjunction with https://crrev.com/c/1006581): TFC BitwiseAnd TFC BitwiseOr TFC BitwiseXor TFC Exponentiate TFC ShiftLeft TFC ShiftRight TFC ShiftRightLogical TFJ AtomicsAdd TFJ AtomicsAnd TFJ AtomicsCompareExchange TFJ AtomicsExchange TFJ AtomicsLoad TFJ AtomicsOr TFJ AtomicsStore TFJ AtomicsSub TFJ AtomicsXor TFJ MathClz32 TFJ MathImul TFJ MathPow TFJ NumberParseInt TFJ StringFromCharCode TFJ TypedArrayFrom TFJ TypedArrayOf TFJ TypedArrayPrototypeMap R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Iee9fc5671646772625556717db052b78089c5c66 Reviewed-on: https://chromium-review.googlesource.com/1013247Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#52606}
-
Junliang Yan authored
Port 87557649 Original Commit Message: This changes DoubleToIStub to return its result on the stack instead of a specific return register. In a follow-up, the DoubleToIStub could be converted into a builtin. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I952fec4fbe004e2734a84ba853f4f5a33c8dd8ce Reviewed-on: https://chromium-review.googlesource.com/1013418Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#52605}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/7726657..80b7a3c Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/67d01a2..f718fb1 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/d7c36b0..5395a74 TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: I2981aa8a42866ecc06091a0090ea69f3d5829a5d Reviewed-on: https://chromium-review.googlesource.com/1012820 Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#52604}
-
Alexey Kozyatinskiy authored
This is a reland of deb875f7 Original change's description: > [inspector] added timeout argument for Runtime.evaluate > > R=yangguo@chromium.org,dgozman@chromium.org > > Bug: none > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel > Change-Id: I31667b3d5f39db9d899d58acd5205a9c34e570db > Reviewed-on: https://chromium-review.googlesource.com/1005985 > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Dmitry Gozman <dgozman@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52594} Bug: none Change-Id: Ib8aff5d9f83e41fc6c2019712708fda074bd1ad9 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Reviewed-on: https://chromium-review.googlesource.com/1012724Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#52603}
-
Alexey Kozyatinskiy authored
Bug: none Change-Id: I156bfe9846d0890ffdf482bcc8c84da53fe1af61 TBR: jkummerow@chromium.org NOTREECHECKS: true NOTRY: true Reviewed-on: https://chromium-review.googlesource.com/1013392 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#52602}
-
Jakob Kummerow authored
The "Address" type is V8's general-purpose type for manipulating memory addresses. Per the C++ spec, pointer arithmetic and pointer comparisons are undefined behavior except within the same array; since we generally don't operate within a C++ array, our general-purpose type shouldn't be a pointer type. Bug: v8:3770 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: Ib96016c24a0f18bcdba916dabd83e3f24a1b5779 Reviewed-on: https://chromium-review.googlesource.com/988657 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#52601}
-
- 13 Apr, 2018 17 commits
-
-
Deepti Gandluri authored
Change-Id: I4e32786d7c100161daf3d245d887dfe19b164394 Reviewed-on: https://chromium-review.googlesource.com/1013046Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#52600}
-
Fabrice de Gans-Riberi authored
This was missed in the original CL switching |is_posix| to false for Fuchsia. Bug: chromium:812974 Change-Id: I532516296c6b6ece9805c2f986c8dded00a798df Reviewed-on: https://chromium-review.googlesource.com/1011251Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Fabrice de Gans-Riberi <fdegans@chromium.org> Cr-Commit-Position: refs/heads/master@{#52599}
-
Deepti Gandluri authored
- Add Implementation for I64Atomic{Load, Store, Exchange, CompareExchange} for supported MemTypes/Representations - Refactoring to simplify instruction selection - Enable tests for ARM64 Bug: v8:6532 Change-Id: I4c4a65fd3bbdc6955eda29d7e08d6eef29c55628 Reviewed-on: https://chromium-review.googlesource.com/1003225Reviewed-by: Martyn Capewell <martyn.capewell@arm.com> Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Ben Smith <binji@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#52598}
-
Gus Caplan authored
This allows an embedder to check if a Value is a module namespace object. Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Idffceff451dd5f5c6a53d4cb3ce02c1c2c5b653c Reviewed-on: https://chromium-review.googlesource.com/1011762Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#52597}
-
Georg Neis authored
This patch moves the desugaring from the parser to the bytecode generator for super calls that have a spread at a non last position. This allows us to have the post super() call behavior, such as initializing instance fields in one place in VisitCallSuper. Bug: v8:7642 Change-Id: I00a693beb7078a63282359c1121b66bb62c157c8 Reviewed-on: https://chromium-review.googlesource.com/1009907 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#52596}
-
Deepti Gandluri authored
This reverts commit deb875f7. Reason for revert: ASAN failure closes tree. https://ci.chromium.org/buildbot/client.v8/V8%20Mac64%20ASAN/17377 Original change's description: > [inspector] added timeout argument for Runtime.evaluate > > R=yangguo@chromium.org,dgozman@chromium.org > > Bug: none > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel > Change-Id: I31667b3d5f39db9d899d58acd5205a9c34e570db > Reviewed-on: https://chromium-review.googlesource.com/1005985 > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Dmitry Gozman <dgozman@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52594} TBR=dgozman@chromium.org,yangguo@chromium.org,kozyatinskiy@chromium.org Change-Id: I61f996143d8c6436cbf9d3905d103047578aff0c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: none Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Reviewed-on: https://chromium-review.googlesource.com/1012562Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#52595}
-
Alexey Kozyatinskiy authored
R=yangguo@chromium.org,dgozman@chromium.org Bug: none Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I31667b3d5f39db9d899d58acd5205a9c34e570db Reviewed-on: https://chromium-review.googlesource.com/1005985 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#52594}
-
Ivica Bogosavljevic authored
This patch fixes register overwrite in ShrPair, ShlPair and SarPair instructions. Additionally, we rename kLithiumScratch register register since lithium is not present anymore. Change-Id: I65861c4f27d2161bcf49cf02ca8987eb82c997ea Reviewed-on: https://chromium-review.googlesource.com/1012110Reviewed-by: Sreten Kovacevic <sreten.kovacevic@mips.com> Commit-Queue: Sreten Kovacevic <sreten.kovacevic@mips.com> Cr-Commit-Position: refs/heads/master@{#52593}
-
Georg Neis authored
This factors out the element insertion code, so that it can be reused elsewhere in a follow-up CL. Change-Id: Ic085c8359b3024f381803ce64b49e976018277f9 Reviewed-on: https://chromium-review.googlesource.com/1010068Reviewed-by: Mythri Alle <mythria@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#52592}
-
jgruber authored
This is mostly a simple copy & paste of the stub implementation from code-stubs-arch.cc to builtins-arch.cc. The conversion allows removal of a special case for the DoubleToIStub within the compiler & wasm pipelines, and also makes the following builtins isolate-independent (in conjunction with https://crrev.com/c/1006581): TFC BitwiseAnd TFC BitwiseOr TFC BitwiseXor TFC Exponentiate TFC ShiftLeft TFC ShiftRight TFC ShiftRightLogical TFJ AtomicsAdd TFJ AtomicsAnd TFJ AtomicsCompareExchange TFJ AtomicsExchange TFJ AtomicsLoad TFJ AtomicsOr TFJ AtomicsStore TFJ AtomicsSub TFJ AtomicsXor TFJ MathClz32 TFJ MathImul TFJ MathPow TFJ NumberParseInt TFJ StringFromCharCode TFJ TypedArrayFrom TFJ TypedArrayOf TFJ TypedArrayPrototypeMap Drive-by: dead code removal & TODOs in code-stubs.h. Bug: v8:6666 Change-Id: I763cba2242bcadc2d130b0aaa16a9787212b466a Reviewed-on: https://chromium-review.googlesource.com/1012024 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52591}
-
jgruber authored
Prior to this, ToInt32Constant only matched Int64Constant nodes within the int32_t range, but did not match actual Int32Constant nodes. Change-Id: I4e67ea57f53f3b1d4b1f2b27f11ebdeffb2bf357 Reviewed-on: https://chromium-review.googlesource.com/1012022Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52590}
-
Mathias Bynens authored
This patch adds a micro-benchmark comparing `string.startsWith(singleCodeUnit)`, `string[0]`, `string.endsWith(singleCodeUnit)`, and `string[string.length - 1]`. The benchmark can be used to measure any String#{starts,ends}With optimizations we implement in the future. Test: tools/run_perf.py --binary-override-path=out/x64.release/d8 \ --filter=JSTests/Strings/StringStartsEndsWithComparison \ --extra-flags=--trace-turbo test/js-perf-test/JSTests.json Bug: v8:7453 Change-Id: I68cad197fbcbfc6b1938fc437776c319ee9f81df Reviewed-on: https://chromium-review.googlesource.com/1011619Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#52589}
-
Simon Zünd authored
R=sergiyb@chromium.org Bug: v8:7382 Change-Id: I6fc0b2ca9857a80192e1a202ee516f544105ee56 Reviewed-on: https://chromium-review.googlesource.com/1011611Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Commit-Queue: Simon Zünd <szuend@google.com> Cr-Commit-Position: refs/heads/master@{#52588}
-
jgruber authored
This changes DoubleToIStub to return its result on the stack instead of a specific return register. In a follow-up, the DoubleToIStub could be converted into a builtin. Bug: v8:6666 Change-Id: I7852e1586c8f7b56bc5d2545a7bf6238dd2ad650 Reviewed-on: https://chromium-review.googlesource.com/1009702 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#52587}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/bf6af18..7726657 Rolling v8/buildtools: https://chromium.googlesource.com/chromium/buildtools/+log/e8aa02e..8febfea Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/a227198..67d01a2 Rolling v8/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/7e5f90d..b640d87 Rolling v8/third_party/icu: https://chromium.googlesource.com/chromium/deps/icu/+log/d888fd2..aff99f5 TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: I9ee0ac81c771ba5659655d93bf2d46cbc2dec2b8 Reviewed-on: https://chromium-review.googlesource.com/1011145Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#52586}
-
jing.bao authored
Change-Id: I7749eae88e4a23d8fe2422e28b8dbcbbfb11f758 Reviewed-on: https://chromium-review.googlesource.com/991733Reviewed-by: Aseem Garg <aseemgarg@chromium.org> Commit-Queue: Jing Bao <jing.bao@intel.com> Cr-Commit-Position: refs/heads/master@{#52585}
-
Junliang Yan authored
R=joransiu@ca.ibm.com Change-Id: I97c8e5034cf3541707bf5f5d22359cdcf66f87e1 Reviewed-on: https://chromium-review.googlesource.com/1011585Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#52584}
-
- 12 Apr, 2018 7 commits
-
-
Junliang Yan authored
R=joransiu@ca.ibm.com Change-Id: Ic44ce01e4d9487c7319125df46914a528938071d Reviewed-on: https://chromium-review.googlesource.com/1010920Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#52583}
-
Sigurd Schneider authored
This reverts commit 4d7ad46d. Reason for revert: Makes i18n bot red https://logs.chromium.org/v/?s=chromium%2Fbb%2Fclient.v8%2FV8_Linux_-_noi18n_-_debug%2F20162%2F%2B%2Frecipes%2Fsteps%2FCheck%2F0%2Flogs%2FAssemblerIa32JumpTabl..%2F0 Original change's description: > Introduce CodeReference > > Add a struct CodeReference that can be stack allocated to pass a > reference to either an on-heap code object or off-heap WasmCode object > in a gc safe manner. The struct also provides a common interface such > that code can be written independently of the kind of code object it > references. > > Change-Id: I5a6f74462e6e141d167c7fd9bac8c21941fd83b1 > Reviewed-on: https://chromium-review.googlesource.com/977905 > Commit-Queue: Stephan Herhut <herhut@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52580} TBR=mstarzinger@chromium.org,herhut@chromium.org Change-Id: I9c49da9ee97e7423284e58bec3fdc1d212ff1af0 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/1010544Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#52582}
-
peterwmwong authored
Add fast paths when RegExp and RegExp result are fast wherever possible. As shown below, this CL improves the performance of calling S.p.matchAll and iterating over matches. Before: StringMatchAllBuiltinRegExpIteratorCreation-Strings(Score): 5002 StringMatchAllBuiltinStringIteratorCreation-Strings(Score): 13798 StringMatchAllBuiltinString-Strings(Score): 197 StringMatchAllManualString-Strings(Score): 454 StringMatchAllBuiltinRegExp-Strings(Score): 193 StringMatchAllManualRegExp-Strings(Score): 453 StringMatchAllBuiltinZeroWidth-Strings(Score): 97.2 StringMatchAllBuiltinZeroWidthUnicode-Strings(Score): 95.9 After: StringMatchAllBuiltinRegExpIteratorCreation-Strings(Score): 15437 StringMatchAllBuiltinStringIteratorCreation-Strings(Score): 16708 StringMatchAllBuiltinString-Strings(Score): 392 StringMatchAllManualString-Strings(Score): 452 StringMatchAllBuiltinRegExp-Strings(Score): 394 StringMatchAllManualRegExp-Strings(Score): 484 StringMatchAllBuiltinZeroWidth-Strings(Score): 409 StringMatchAllBuiltinZeroWidthUnicode-Strings(Score): 413 Bug: v8:6890 Change-Id: I6fcc1003a471314cf412aac456d42286b2926810 Reviewed-on: https://chromium-review.googlesource.com/1005400 Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52581}
-
Stephan Herhut authored
Add a struct CodeReference that can be stack allocated to pass a reference to either an on-heap code object or off-heap WasmCode object in a gc safe manner. The struct also provides a common interface such that code can be written independently of the kind of code object it references. Change-Id: I5a6f74462e6e141d167c7fd9bac8c21941fd83b1 Reviewed-on: https://chromium-review.googlesource.com/977905 Commit-Queue: Stephan Herhut <herhut@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52580}
-
Clemens Hammacher authored
It was supposed to add some randomness to the order of generated code objects, but it is totally unclear whether this is working, needed or helpful. This this adds considerable complexity, remove it for now. R=ahaas@chromium.org CC=titzer@chromium.org Change-Id: Ie2b8613bbdeedb48b2e72f5843bacd2c4873edf5 Reviewed-on: https://chromium-review.googlesource.com/1010082 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52579}
-
peterwmwong authored
It is not safe to assume the first match is a string just because the RegExp result is fast. Bug: chromium:831943 Change-Id: Idd40f8b75312f0be54f45f626dc017339033abc6 Reviewed-on: https://chromium-review.googlesource.com/1009325Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Cr-Commit-Position: refs/heads/master@{#52578}
-
Corentin Wallez authored
BUG=chromium:815092 Change-Id: Ide35e070c01e910545a6d04bd45382d91dbb45e5 Reviewed-on: https://chromium-review.googlesource.com/1008262Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> Cr-Commit-Position: refs/heads/master@{#52577}
-