- 11 Aug, 2017 20 commits
-
-
Ulan Degenbaev authored
Bytecode array visitor has a side-effect of incrementing the age counter. This patch makes the increment atomic and thus safe for the concurrent marker. Bug: chromium:694255 Change-Id: I36c65b02ace8d366206bd8295e72aaa19742ed56 Reviewed-on: https://chromium-review.googlesource.com/610001 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47317}
-
Jakob Kummerow authored
It expected its argument to be a JSFunction, but fuzzer tests can pass anything. Non-JSFunction arguments should just silently be ignored, just like similar CF-whitelisted runtime functions do. Bug: chromium:754177 Change-Id: I41b29528bbe72f24b3d84f021b22602160769d26 Reviewed-on: https://chromium-review.googlesource.com/610706Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#47316}
-
Ulan Degenbaev authored
Shared function info marking is now side-effect free, so can be handled by base HeapVisitor. Concurrent marker does not bailout on shared function infos. Bug: chromium:694255 Change-Id: I41efece68f6758219fca318deb97a7f163ee9638 Reviewed-on: https://chromium-review.googlesource.com/608700 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47315}
-
Ulan Degenbaev authored
Change-Id: I91bae96b82078a310b67707f98fb257896e3e00f Reviewed-on: https://chromium-review.googlesource.com/612083Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47314}
-
Georg Neis authored
R=marja@chromium.org Bug: Change-Id: I641ca830bb11b91e7098ee8d2dbec5d523bbc879 Reviewed-on: https://chromium-review.googlesource.com/612082Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#47313}
-
Georg Neis authored
R=marja@chromium.org Bug: Change-Id: Ic7a2fc28baa5ecf0650287fbc193ff0eccbf2f5e Reviewed-on: https://chromium-review.googlesource.com/612248Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#47312}
-
Ulan Degenbaev authored
This class provides byte level CAS operation using word level CAS. Bug: chromium:694255 Change-Id: I39e661ee8d11e3f61fd5cb64c36f8f5ee94d1244 Reviewed-on: https://chromium-review.googlesource.com/612170 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47311}
-
Tobias Tebbi authored
This improves compiler performance of the new escape analysis: runtime reduced by ~10% and zone memory reduced by ~40%. Bug: Change-Id: I6b9eeaecfee6faef616d5cb8fed57fd41856898b Reviewed-on: https://chromium-review.googlesource.com/611902 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#47310}
-
Benedikt Meurer authored
R=mstarzinger@chromium.org Bug: v8:6409 Change-Id: I676a61593a5b5e5df50990ded6f1882d8b7d0159 Reviewed-on: https://chromium-review.googlesource.com/612280Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47309}
-
Michael Starzinger authored
R=bmeurer@chromium.org TEST=cctest/test-api/ReceiverSignature Change-Id: I4f58d7a1ce15aa02b1fec5c0317733d3f3b1f4ef Reviewed-on: https://chromium-review.googlesource.com/611990Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47308}
-
Ross McIlroy authored
Deletes the now unused Full-codegen compiler. Also removes some macro assembler instructions which are no longer used. Note: there is still additional cleanup work to do after this lands (e.g., remove support for FCG frames support and FCG debugger support, etc.), but this will be done in followup CLs to keep this patch managable. BUG=v8:6409 Change-Id: I8d828fe7a64d29f2c1252d5fda968a630a2e9ef2 Reviewed-on: https://chromium-review.googlesource.com/584773 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47307}
-
Ulan Degenbaev authored
This fixes the UBSAN failures on the bot. Bug: chromium:694255 Change-Id: I7fc169bc526e71444ce52eba0285a8cafe9d902d Reviewed-on: https://chromium-review.googlesource.com/612167Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47306}
-
Michael Lippautz authored
- Move into v8::internal::heap namespace - Remove card marking ifdefs Bug: Change-Id: Ifd5e5d96c6ab0fea85a3646e5b307583eb13e2c3 Reviewed-on: https://chromium-review.googlesource.com/612066Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47305}
-
Michael Lippautz authored
The removed building blocks have either been completely unused or have already been replaced. Bug: Change-Id: I68a4d5d42b7f1cc3c5f8d0e7ea7146c5a0f59048 Reviewed-on: https://chromium-review.googlesource.com/612163Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47304}
-
Ulan Degenbaev authored
This allows handling transitions arrays in concurrent marking Bug: chromium:694255 Change-Id: I28196fccbf03bfba7d7dada1884813be372ddb54 Reviewed-on: https://chromium-review.googlesource.com/610961 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47303}
-
Benedikt Meurer authored
For Divide operations like r = a / b where r has only truncated uses (i.e. only used in bitwise operations), we used to generate a Float64Div unless we statically knew something about a and b, even if a and b have always been integers so far. Crankshaft was able to generate an integer division here, because Fullcodegen collected feedback independently for inputs and outputs of binary operations. This adds new BinaryOperationFeedback::kSignedSmallInputs, which is used specifically for Divide to state that we have seen only SignedSmall inputs thus far, but the outputs weren't always in the SignedSmall range. The issue was discovered in a WebGL Triangulation library and reported via https://twitter.com/mourner/status/895708603117518848 after Node 8.3.0 was released with I+TF. R=jarin@chromium.org Bug: v8:6698 Change-Id: I830e421a3bf91fc8fa3665cbb706bc13675a6d2b Reviewed-on: https://chromium-review.googlesource.com/612063 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#47302}
-
Michael Starzinger authored
This changes the baseline of an inspector test setting breakpoints within an asm.js module while the module is being executed. With the validator it is not supported to switch from active WebAssembly code back to debuggable interpreter code. Hence some previously expected breakpoints no longer fire, the behavior is consistent across all configurations now though. R=yangguo@chromium.org TEST=inspector/debugger/asm-js-breakpoint-during-exec BUG=v8:6166 Change-Id: Ie1bb62fa6df28b10336b4cb5d381d2141eec356c Reviewed-on: https://chromium-review.googlesource.com/608977Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47301}
-
Ulan Degenbaev authored
This reverts commit 3f820ebb. Revert "[heap, runtime] Avoid redundant clearing of slots in a trimmed array." This reverts commit ed76f17b. Reason: canary crashes. Bug: chromium:752750, chromium:694255 TBR: mlippautz@chromium.org Change-Id: I57c533e8a3db5f28e7659c5f326fa343627a3ff7 Reviewed-on: https://chromium-review.googlesource.com/607868Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47300}
-
Maya Lekova authored
This is a reland of edc4ae14 With fixes for crbug.com/752846, crbug.com/752712, crbug.com/752850 Previously landed as: 47a97aa5 / 47113 Previously landed as: 15ef03cb / 47159 Previously landed as: e86c066b / 47235 Previously landed as: edc4ae14 / 47245 TBR=jkummerow@chromium.org, franzih@chromium.org, bmeurer@chromium.org, jgruber@chromium.org, mstarzinger@chromium.org Bug: v8:6559, v8:6557 Change-Id: I956486e90aab36ba95676bd4ec2febebed509fc1 Reviewed-on: https://chromium-review.googlesource.com/609781Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Franziska Hinkelmann <franzih@chromium.org> Commit-Queue: Maya Lekova <mslekova@google.com> Cr-Commit-Position: refs/heads/master@{#47299}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/b6996c4..7c87e0e Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/bd05965..0eeb5ba TBR=machenbach@chromium.org,hablich@chromium.org Change-Id: I23ee429028dc94d66332ad1e624b95e46a459441 Reviewed-on: https://chromium-review.googlesource.com/611661Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#47298}
-
- 10 Aug, 2017 20 commits
-
-
Sathya Gunasekaran authored
Bug: v8:4643 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Id82365d20830e5efd33a8d066f5aab4b999807d7 Reviewed-on: https://chromium-review.googlesource.com/611180Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#47297}
-
Mircea Trofin authored
The compiler patches all call sites with a default code object value. We used to populate a vector with that value. Turns out that avoiding having that vector measurably reduces instantiation time. Bug: Change-Id: I2c843210a2ab24541f370b5493c3cbb555149e1a Reviewed-on: https://chromium-review.googlesource.com/609480 Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Reviewed-by: Brad Nelson <bradnelson@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47296}
-
Ulan Degenbaev authored
Bug: chromium:694255 TBR: mlippautz@chromium.org No-Tree-Checks: true No-Try: true Change-Id: I720dcc79c4cb8c1cbd7dd6e6de4c6113c363b2f0 Reviewed-on: https://chromium-review.googlesource.com/610561 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47295}
-
Eric Holk authored
Bug: Change-Id: I1ab93d5b2d02d9a4851c2e67d33968a7cafaedd3 Reviewed-on: https://chromium-review.googlesource.com/610892Reviewed-by: Brad Nelson <bradnelson@chromium.org> Commit-Queue: Brad Nelson <bradnelson@chromium.org> Cr-Commit-Position: refs/heads/master@{#47294}
-
Ulan Degenbaev authored
Bug: chromium:694255 TBR: mlippautz@chromium.org Change-Id: Ie9f2f7bff8ada297b1d078947f073eaf62ac0649 Reviewed-on: https://chromium-review.googlesource.com/610782Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47293}
-
Michael Lippautz authored
Bug: chromium:750084 Change-Id: I3c0059f1e986b5e4400f84f44b7f179e7232eae1 Reviewed-on: https://chromium-review.googlesource.com/610781 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47292}
-
Adam Klein authored
PatternRewriter is an implementation detail of the Parser; as such, there's no need for it to be exposed in parser.h (or even to most of the Parser). This patch is a cleanup that hides all of PatternRewriter in pattern-rewriter.cc, exposing only the few helper methods needed by the rest of Parser in parser.h. Also removed some duplication between the two PatternRewriter initialization functions by adding a constructor, and added a few DCHECKs here and there. Change-Id: I1dbae8dc0172ff16e40585d0e718d206d2075b3a Reviewed-on: https://chromium-review.googlesource.com/609365Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#47291}
-
Maya Lekova authored
Add additional tests for Proxy get and has property. Bug: v8:6560, v8:6557 Change-Id: I56360c230b03a16425f4068d8023f90b3164eebb Reviewed-on: https://chromium-review.googlesource.com/607889 Commit-Queue: Maya Lekova <mslekova@google.com> Reviewed-by: Franziska Hinkelmann <franzih@chromium.org> Cr-Commit-Position: refs/heads/master@{#47290}
-
Ulan Degenbaev authored
This partially relands b35a0789. Bug: chromium:752426 Change-Id: Ia6f9853115278109189291bca92e94974cfe35b0 Reviewed-on: https://chromium-review.googlesource.com/610580Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47289}
-
Ulan Degenbaev authored
This patch merges ObjectMarking and MarkingState. The new marking state encapsulates object marking, live byte tracking, and access atomicity. The old ObjectMarking calls are now replaced with calls to marking state. For example: ObjectMarking::WhiteToGrey<kAtomicity>(obj, marking_state(obj) becomes marking_state()->WhiteToGrey(obj) This simplifies custom handling of live bytes and allows to chose atomicity of markbit accesses depending on collector's state. This also decouples marking bitmap from the marking code, which will allows in future to use different data-structure for mark-bits. Bug: chromium:694255 Change-Id: Ifb4bc0144187bac1c08f6bc74a9d5c618fe77740 Reviewed-on: https://chromium-review.googlesource.com/602132 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47288}
-
Ulan Degenbaev authored
Bug: chromium:752461 Change-Id: Ie70a4ed1314e040d0edecece6a1dca7b1fc8d001 Reviewed-on: https://chromium-review.googlesource.com/610083Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47287}
-
Mircea Trofin authored
Bug: Change-Id: Ia8fd50cad1c7d0dd82eeadb22807e301246423a8 Reviewed-on: https://chromium-review.googlesource.com/610309Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#47286}
-
Mythri authored
Inline only if there is some additional budget left even after inlining the current candidate. This allows any small functions exposed by this function to be inlined. Earlier we used to check for the limit after inlining the function. Bug: v8:6682 Change-Id: Ia3931751f212e89ca6d9c8500c6b3a909f12d962 Reviewed-on: https://chromium-review.googlesource.com/608970Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#47285}
-
Ross McIlroy authored
Deletes AstGraphBuilder and associated classes now that it is unreachable. The following classes are also removed: - ControlBuilders - JSFrameSpecialization - AstLoopAssignmentAnalysis Also removes flags from compilation-info which are no longer used, and removes the no-deoptimization paths from TypedOptimization, JsTypedLowering, JSIntrinsicLowering and JSBuiltinLowering. BUG=v8:6409 Change-Id: I63986e8e3497bf63c4a27ea8ae827b8a633d4a26 Reviewed-on: https://chromium-review.googlesource.com/583652 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47284}
-
Leszek Swirski authored
Rather than lumping in parsing, bytecode compilation and optimized compilation all into the same VM "compile" state, seperate them out into individual states. Additionally, add support for these states to tickprocessor and profview. Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I5be943e23cae042e32e9ccb24415c67c18658b4b Reviewed-on: https://chromium-review.googlesource.com/608973 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#47283}
-
Ben L. Titzer authored
This is a pure renaming CL; no functionality changes. R=mtrofin@chromium.org Bug: Change-Id: I2f8262bdb17b9256d5b66fad56a7e51063f6f0d9 Reviewed-on: https://chromium-review.googlesource.com/610007Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47282}
-
Alexey Kozyatinskiy authored
protocol::HashMap(std::unordered_map)::iterator doesn't provide any guarantees about iteration order. At least Visual C++ from vS 2015 and clang compile for loop inside forEachSession differently. For tests we need stable order of iteration, so let's use std::map instead. R=dgozman@chromium.org Bug: none Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I329cb24cd182baa86c0ea4a526257856718f32b1 Reviewed-on: https://chromium-review.googlesource.com/609489Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47281}
-
Mircea Trofin authored
When lazy-compiling, it is important we reconstitute the ModuleEnv accurately. Besides addressing a bug, this change also does away with the need to relocate memory and globals parameters (in lazy compilation), by using "the right ones" upfront. Bug: chromium:753496 Change-Id: I1412a499f05d02d49319fced1b3047698328f3b5 Reviewed-on: https://chromium-review.googlesource.com/609376Reviewed-by: Brad Nelson <bradnelson@chromium.org> Commit-Queue: Brad Nelson <bradnelson@chromium.org> Cr-Commit-Position: refs/heads/master@{#47280}
-
Ilija Pavlovic authored
For load and store operations, the code generator for MIPS64 used simple instructions. In this CL, these instructions are substituted with corresponding macro-instructions. TEST=mjsunit/asm/poppler/poppler, mjsunit/asm/sqlite3/sqlite, mjsunit/asm/sqlite3/sqlite-pointer-masking BUG= Change-Id: I1a15be880cd32046b9e5eeea49e5c81ebd2f3138 Reviewed-on: https://chromium-review.googlesource.com/608975Reviewed-by: Miran Karić <Miran.Karic@imgtec.com> Commit-Queue: Miran Karić <Miran.Karic@imgtec.com> Cr-Commit-Position: refs/heads/master@{#47279}
-
Tobias Tebbi authored
Bug: chromium:753616 Change-Id: I0e9495184d83f30b91ba0c813c4222a962ec235e Reviewed-on: https://chromium-review.googlesource.com/610003Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#47278}
-