- 13 Apr, 2018 2 commits
-
-
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 31 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}
-
Clemens Hammacher authored
This adds support for i64.mul. On x64, the implementation is straight forward, on ia32, we need three multiplies and two additions. R=ahaas@chromium.org Bug: v8:6600 Change-Id: I083872c1a6885458396ae5ff29e29d057e458561 Reviewed-on: https://chromium-review.googlesource.com/1009943 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52576}
-
Ivica Bogosavljevic authored
Change-Id: I13c58a462ec844b6df0e55bbbbf9134a476363c4 Reviewed-on: https://chromium-review.googlesource.com/1009908Reviewed-by: Sreten Kovacevic <sreten.kovacevic@mips.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#52575}
-
Simon Zünd authored
This adds benchmarks that sort all element kinds with multiple comparison functions. This also adds benchmarks that cause the element kind of the array to change after x amount of comparisons. The last set of benchmarks that are added, measure performance on pre-sorted arrays. R=jgruber@chromium.org, petermarshall@chromium.org Bug: v8:7382 Change-Id: I620de37f4a28f8096682bb708ea4f7a9a21d5316 Reviewed-on: https://chromium-review.googlesource.com/1009602 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52574}
-
sreten.kovacevic authored
Also, implement supporting function for translating Condition to MIPS FPUCondition. Bug: v8:6600 Change-Id: I5a3497a8445e2fc5a18abd56a83cd1451c2c48ec Reviewed-on: https://chromium-review.googlesource.com/1010163 Commit-Queue: Sreten Kovacevic <sreten.kovacevic@mips.com> Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#52573}
-
Igor Sheludko authored
Bug: v8:7570 Change-Id: I3349062f82df89a5a1a484b22fea5c5763d264f7 Reviewed-on: https://chromium-review.googlesource.com/1007662 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#52572}
-
Peter Marshall authored
Looking up line numbers with the JITLineInfoTable would sometimes give wrong answers. Fix these bugs and add a cctest for this data structure. Also do some cleanup while we're here like inlining the (empty) constructor and destructor and removing the empty() method which is only used unnecessarily anyway, to make the contract of GetSourceLineNumber a bit clearer. Also rename the data structure to SourcePositionTable, because it doesn't just provide info for JIT code, but also bytecode, and 'Info' is pretty ambiguous. Bug: v8:7018 Change-Id: I126581c844d85df6b2b3f80f2f5acbce01c16ba1 Reviewed-on: https://chromium-review.googlesource.com/1006795Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#52571}
-
Michael Hablich authored
TBR=machenbach@chromium.org NOTRY=true Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ifd0eee86da0bf8b8e234b6f55ddce77239d0a3a5 Reviewed-on: https://chromium-review.googlesource.com/1009905 Commit-Queue: Michael Hablich <hablich@chromium.org> Reviewed-by: Michael Hablich <hablich@chromium.org> Cr-Commit-Position: refs/heads/master@{#52570}
-
Michael Achenbach authored
NOTRY=true TBR=sergiyb@chromium.org Change-Id: I1f7281fdf4144ad192efa6581df3109a0f6abd68 Reviewed-on: https://chromium-review.googlesource.com/1010067Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52569}
-
Clemens Hammacher authored
Memory size, mask and function table size are 32-bit values in wasm. There is no relation to pointer size. Hence, replace uintptr_t by uint32_t. These fields are already being loaded as uint32_t in wasm-compiler.cc, causing problems on big endian systems. R=mstarzinger@chromium.org Change-Id: Ie03b552934262d5fa8de9998abdd7409e60af690 Reviewed-on: https://chromium-review.googlesource.com/1005154 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52568}
-
Sergiy Byelozyorov authored
TBR=sergiyb@chromium.org Bug: chromium:827890 Change-Id: I25d647f3511c2101c30cca88b91c372ee4fee05b Reviewed-on: https://chromium-review.googlesource.com/1009662Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#52567}
-
Toon Verwaest authored
Bug: chromium:831981 Change-Id: Ie0e4bb6ca585f76829e0100202e01d02c521ac51 Reviewed-on: https://chromium-review.googlesource.com/1009902Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#52566}
-
sreten.kovacevic authored
Add big endian support for MIPS in Liftoff. Bug: v8:6600 Change-Id: Ibd90e7b6a8f0f826bd70ef489135cabcadeed7b0 Reviewed-on: https://chromium-review.googlesource.com/995457 Commit-Queue: Sreten Kovacevic <sreten.kovacevic@mips.com> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#52565}
-
Michael Achenbach authored
It'll replace the linux32 debug trybot in CQ soon when it's confirmed stable. This also adds the corresponding MB config. NOTRY=true TBR=sergiyb@chromium.org Change-Id: I99464d7d2d776390e59c48f0f65daa213a14f0f7 Reviewed-on: https://chromium-review.googlesource.com/1009746Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52564}
-
Michael Achenbach authored
NOTRY=true Change-Id: Ie97090587841830ed82097f5411131a9dc9ff5e6 Reviewed-on: https://chromium-review.googlesource.com/1009742 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Hablich <hablich@chromium.org> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#52563}
-
Vlad Tsyrklevich authored
This is a reland of 9a7e9cf2 Original change's description: > Enable cfi-icall on the v8 CFI bots > > BUG=v8:7164 > > Change-Id: I7522ba6ac2bde89c84bcd49bc116a432091a2938 > Reviewed-on: https://chromium-review.googlesource.com/990802 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52343} CQ_INCLUDE_TRYBOTS=luci.v8.try:v8_linux64_cfi_rel_ng Bug: v8:7164 Change-Id: I683116e86685fb7295bb576e57ce85fed7445b3c Reviewed-on: https://chromium-review.googlesource.com/1003692Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52562}
-
Clemens Hammacher authored
R=ahaas@chromium.org Bug: chromium:831989, chromium:824681 Change-Id: I0a8b2cc9f80af5f954bd358c30a3c6d84b6adeae Reviewed-on: https://chromium-review.googlesource.com/1009603Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52561}
-
Peter Marshall authored
Fixes some failing test262 tests for a corner-case in the spec where we need to use the buffer constructor from a different realm. Bug: v8:7512 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I3f1334f6181eaaddf0326156139ac20a970c235b Reviewed-on: https://chromium-review.googlesource.com/966223 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#52560}
-
Sigurd Schneider authored
Bug: chromium:829253 Change-Id: Ie9102adcecfe4f019ccf8b5e82e55509a416bfc3 Reviewed-on: https://chromium-review.googlesource.com/1007195Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#52559}
-
Vlad Tsyrklevich authored
It's not possible to use GeneratedCode for this test because the called stubs use the stdcall calling convention but GeneratedCode does not allow specifying a custom calling convention. BUG=v8:7164 Change-Id: Ic28c4313bb2b68103b94e4c1ae7c037a789edce2 Reviewed-on: https://chromium-review.googlesource.com/1008994Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52558}
-
Michael Achenbach authored
V8 part for https://crrev.com/c/1007058 NOTRY=true Change-Id: I212eb12e83ea647af7d009747bf94baf3ab9febf Reviewed-on: https://chromium-review.googlesource.com/1007238Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52557}
-
Jungshik Shin authored
This is to fix an assertion failure in formatToParts when Chinese calendar is specified with 'u-ca-chinese'. See https://github.com/tc39/ecma402/issues/225 . This CL is a temporary work-around to get v8 match the spec in terms of the external behavior, but it's not taking the steps in the spec, yet. Moreover, the spec may have to be revised as to how to pick the best match pattern when the default calendar for a locale is different from the calendar specified via 'u-ca'. How to handle 'related year' part also needs to be specified. Bug: chromium:826549 Test: intl/date-format/format-with-extensions Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I1f9a2467e86e71e024bc9babe18f16e49746008e Reviewed-on: https://chromium-review.googlesource.com/1006915Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jungshik Shin <jshin@chromium.org> Cr-Commit-Position: refs/heads/master@{#52556}
-
Kim-Anh Tran authored
When using registers during the Liftoff-prologue, we need to make sure that all reserved registers are correctly pushed to and restored from stack. Change-Id: Iac444448cfd99fca70a811cb941d0cf5979d638b Reviewed-on: https://chromium-review.googlesource.com/1005754 Commit-Queue: Kim-Anh Tran <kimanh@google.com> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52555}
-
Junliang Yan authored
Port 077205be Original Commit Message: This CL allows SetPrototypeAdd and ArrayIteratorPrototypeNext to be called on temporary objects during side effect free evaluation. R=kozyatinskiy@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I4f6d4e885c19a032723ea8fe39976780900ba922 Reviewed-on: https://chromium-review.googlesource.com/1008634Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#52554}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/73e352e..bf6af18 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/2c59f67..a227198 TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: I561d492911e3528b7fdf19fc24efa671eaa1245c Reviewed-on: https://chromium-review.googlesource.com/1009283 Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#52553}
-
- 11 Apr, 2018 7 commits
-
-
Alexei Filippov authored
Previously embedder had to create an instance of TracingCpuProfiler explicitly. The patch makes the profiler created automatically for every isolate. The profiler has no overhead unless tracing with v8.cpu_profiler category is enabled. Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I9369c2c56bcddc72093eda33dc2bc185c9253b4a Reviewed-on: https://chromium-review.googlesource.com/1006049 Commit-Queue: Alexei Filippov <alph@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52552}
-
Junliang Yan authored
Port ada64b58 Original Commit Message: Before Turbofan/Ignition it was possible to use external profilers to sample running V8/Node.js processes and generate reports/FlameGraphs from that. It's still possible to do so, but non-optimized JavaScript functions appear in the stack as InterpreterEntryTrampoline. This commit adds a runtime flag which makes interpreted frames visible on the process' native stack as distinguishable functions, making the sampled data gathered by external profilers such as Linux perf and DTrace more useful. R=matheus@sthima.com.br, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I0416b53c53248a5624061d0155712a3e2396c725 Reviewed-on: https://chromium-review.googlesource.com/1008045Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#52551}
-
Sigurd Schneider authored
The promise constructor fast-path did allocate contexts that were too large, resulting in GC overhead compared to the slow-path which contributes to a performance regression we are currently dealing with. Bug: chromium:829253 Change-Id: I82883358933df9ce5241bad53b85867455046cc1 Reviewed-on: https://chromium-review.googlesource.com/1007054Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#52550}
-
Igor Sheludko authored
Bug: v8:7570 Change-Id: I8b15d6e9f4991d0a6884277a5d67090f24270fcc Reviewed-on: https://chromium-review.googlesource.com/1005261Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#52549}
-
Alexey Kozyatinskiy authored
This CL allows SetPrototypeAdd and ArrayIteratorPrototypeNext to be called on temporary objects during side effect free evaluation. Bug: v8:7588 Change-Id: Id77848e48d98c243de91bc6c0fae5a0877e693d4 Reviewed-on: https://chromium-review.googlesource.com/998439 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52548}
-
Andreas Haas authored
ValueDeserializer::ReadWasmModule does not call API functions, therefore there can be no scheduled_exceptions, and therefore we do not have to translate scheduled_exceptions to pending_exceptions. On the contrary, there can be pending_exceptions, which causes the call to RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION to crash. This CL fixes a crash in a layout test which was caused by another CL (https://crrev.com/c/975547). R=mstarzinger@chromium.org CC=binji@chromium.org Change-Id: I3078a2a9a532b079b5a4ea604c2f3f777fa2e287 Reviewed-on: https://chromium-review.googlesource.com/1006794Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52547}
-
Hannes Payer authored
Bug:chromium:831501 Change-Id: I82daa3dc1a6cc08cb63e42f4a54b69d28303ce0f NOTREECHECKS=true Change-Id: I82daa3dc1a6cc08cb63e42f4a54b69d28303ce0f Reviewed-on: https://chromium-review.googlesource.com/1006755 Commit-Queue: Michael Hablich <hablich@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52546}
-