- 19 Oct, 2017 40 commits
-
-
Daniel Clifford authored
Also ensure that CSA's CloneFixedArray and ExtractFixedArray correctly transition COW to non-COW maps when doing a clone requiring copying. Bug: chromium:775888 Change-Id: I31c97072761fdd2360d86f840c9fd6ab2d72973a Reviewed-on: https://chromium-review.googlesource.com/727900 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#48754}
-
Michael Lippautz authored
Includes the fix for aborted compaction pages that now require processing with all other ArrayBufferTrackers because the considered length (byteLength) may be a HeapNumber allocated on a compacted page. This is a reland of 46f9d5a2 Original change's description: > Reland "[heap] ArrayBufferTracker: Only consider committed size" > > This is a reland of 6488c9e5 > Original change's description: > > [heap] ArrayBufferTracker: Only consider committed size > > > > - Only consider commited size of ABs. > > - Compute freed memory from retained sizes byte length might be a > > HeapNumber and thus prohibited from accessing (as it may be already > > collected). > > > > CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux64_tsan_rel;master.tryserver.v8:v8_linux64_tsan_concurrent_marking_rel_ng;master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel > > > > Bug: chromium:775896 > > Change-Id: Ia0bed66afac5e4d5ed58194950a55156e19cec72 > > Reviewed-on: https://chromium-review.googlesource.com/725722 > > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#48699} > > Bug: chromium:775896 > Change-Id: Ibbec1ffa8fe90d3668f0fe0c1b8b9997b5fd644e > Cq-Include-Trybots: master.tryserver.v8:v8_linux64_tsan_rel;master.tryserver.v8:v8_linux64_tsan_concurrent_marking_rel_ng;master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel > Reviewed-on: https://chromium-review.googlesource.com/726579 > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48707} Bug: chromium:775896 Change-Id: I9b7b2ae865ef6cdb25692abb65108df5c2ecc157 Cq-Include-Trybots: master.tryserver.v8:v8_linux64_tsan_rel;master.tryserver.v8:v8_linux64_tsan_concurrent_marking_rel_ng;master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel Reviewed-on: https://chromium-review.googlesource.com/726800Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#48753}
-
Clemens Hammacher authored
This is a reland of f77d98f7. The issue was already fixed when this got reverted. Original change's description: > Reland "[arm] [simulator] Do also execute tests on real hardware" > > This is a reland of 8bacd848. > The failing test is disabled if not executing in the simulator. > > Original change's description: > > [arm] [simulator] Do also execute tests on real hardware > > > > In order to avoid writing tests that *only* pass in the simulator, but > > not on real hardware, do also execute the simulator tests on real > > hardware. > > > > R=ahaas@chromium.org, rodolph.perfetta@arm.com > > > > Bug: v8:6947 > > Change-Id: Ibdf1719fff20e17620c0aaa343d7ea28e48f3837 > > Reviewed-on: https://chromium-review.googlesource.com/722961 > > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > > Reviewed-by: Rodolph Perfetta <rodolph.perfetta@arm.com> > > Reviewed-by: Andreas Haas <ahaas@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#48706} > > Bug: v8:6947, v8:6963 > Change-Id: I5733794bc5ca223c8e66afcdeb8414b1b4121314 > Reviewed-on: https://chromium-review.googlesource.com/727880 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48734} Bug: v8:6947, v8:6963 Change-Id: I6124164ff92a2387d714ce974000b6f615b91983 Reviewed-on: https://chromium-review.googlesource.com/727207Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48752}
-
Ulan Degenbaev authored
This patch moves initialization of inobject_properties and unused_property_fields of a map to the construction time of the map. Map::AppendDescriptor now properly decrements unused_property_fields and thus maintains the invariant for property field counters. Bug: chromium:774644 Change-Id: I78e5d5c767e22148cb64e8cabe0564e7a13988f5 Reviewed-on: https://chromium-review.googlesource.com/725726Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#48751}
-
Michael Lippautz authored
Bug: No-try: true Change-Id: I5c4f050d338cb75e93e17aa645922673c74f16e7 Reviewed-on: https://chromium-review.googlesource.com/721664Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#48750}
-
Tobias Tebbi authored
This revert is manual, but almost completely automatic. It was just blocked by a single-line irrelevant refactoring change. This reverts commit 1cee0e01. Reason for revert: chromium:776256 Original change's description: > Reland^4 "[turbofan] eagerly prune None types and deadness from the graph" > > This fixes https://bugs.chromium.org/p/chromium/issues/detail?id=773954. > The issue was that in the EffectControlLinearizer, the effect input of an > {Unreachable} node was not updated, leaving a {Checkpoint} behind. > > This is a reland of 4cf47645 > Original change's description: > > Reland^3 "[turbofan] eagerly prune None types and deadness from the graph" > > > > This fixes the issues > > https://bugs.chromium.org/p/chromium/issues/detail?id=772873 > > and https://bugs.chromium.org/p/chromium/issues/detail?id=772872. > > > > One problem was that mutating an effect node into Unreachable confused > > the LoadElimination sidetables, so I just always create a new node now. > > > > The other problem was that UpdateBlockControl() was executed after > > UpdateEffectPhi() in the lazy case. This reverted the update to the Merge input. > > So now I make sure that UpdateEffectPhi() is always executed last. > > > > This is a reland of 6ddb5e7d > > Original change's description: > > > Reland^2 "[turbofan] eagerly prune None types and deadness from the graph" > > > > > > Now, the EffectControlLinearizer connects all occurrences of Unreachable to the > > > graph end. This fixes issues with later phases running DeadCodeElimination and > > > introducing new DeadValue nodes when processing uses of Unreachable. > > > > > > This is a reland of 3c4bc27f > > > Original change's description: > > > > Reland "[turbofan] eagerly prune None types and deadness from the graph" > > > > > > > > This is a reland of e1cdda25 > > > > Original change's description: > > > > > [turbofan] eagerly prune None types and deadness from the graph > > > > > > > > > > In addition to using the {Dead} node to prune dead control nodes and nodes that > > > > > depend on them, we introduce a {DeadValue} node representing an impossible value > > > > > that can occur at any position in the graph. The extended {DeadCodeElimination} > > > > > prunes {DeadValue} and its uses, inserting a crashing {Unreachable} node into > > > > > the effect chain when possible. The remaining uses of {DeadValue} are handled > > > > > in {EffectControlLinearizer}, where we always have access to the effect chain. > > > > > In addition to explicitly introduced {DeadValue} nodes, we consider any value use > > > > > of a node with type {None} as dead. > > > > > > > > > > Bug: chromium:741225 > > > > > Change-Id: Icc4b636d1d018c452ba1a2fa7cd3e00e522f1655 > > > > > Reviewed-on: https://chromium-review.googlesource.com/641250 > > > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > > > > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > > > > > Cr-Commit-Position: refs/heads/master@{#48208} > > > > > > > > Bug: chromium:741225 > > > > Change-Id: I21316913dae02864f7a6d7c9269405a79f054138 > > > > Reviewed-on: https://chromium-review.googlesource.com/692034 > > > > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > > > Cr-Commit-Position: refs/heads/master@{#48232} > > > > > > Bug: chromium:741225 > > > Change-Id: I5702ec34856c075717162153adc765774453c45f > > > Reviewed-on: https://chromium-review.googlesource.com/702264 > > > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#48366} > > > > Bug: chromium:741225 > > Change-Id: I4054a694d2521c2e1f0c4a3ad0f3cf100b5c536f > > Reviewed-on: https://chromium-review.googlesource.com/709214 > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#48469} > > Bug: chromium:741225 > Change-Id: Id9d4f3a3ae36cb3e38f80edcdba88efa7922ca24 > Reviewed-on: https://chromium-review.googlesource.com/715716 > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48660} TBR=jarin@chromium.org,tebbi@chromium.org,bmeurer@chromium.org Bug: chromium:741225 chromium:776256 Change-Id: Iaf2af3cb6dea5fdece43297cb9d987e7decc726d Reviewed-on: https://chromium-review.googlesource.com/727804 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#48749}
-
peterwmwong authored
- Add StringRaw CPP Builtin - Remove string.js Bug: v8:5049 Change-Id: I0d067c5b5aa9231383c2f9f2a9cf80f478fbbaa8 Reviewed-on: https://chromium-review.googlesource.com/727723Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#48748}
-
Toon Verwaest authored
This also changes modulo to be more like others, e.g., Pow: - have an inline Modulo - have a modulo_double_double that we can use as FUNCTION_ADDR in assembler.cc Bug: Change-Id: Id360e4adcde5712ffc5ac22abd3bbaab6aec09f5 Reviewed-on: https://chromium-review.googlesource.com/728027 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48747}
-
Marja Hölttä authored
We don't need to save any data for top-level leaf funcs (they contain no skippable funcs), so we don't need scope analysis for them either. BUG=v8:5516 Change-Id: I75700838a3df2f19da559145611c99e2c7ffd088 Reviewed-on: https://chromium-review.googlesource.com/691976 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#48746}
-
Michael Achenbach authored
This reverts commit 6f93d59d. Reason for revert: Breaks full-debug build: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20full%20debug/builds/2239 Original change's description: > [test] Add nan bit patterns to uint{32,64}_vector > > If you just cast those patterns to float or double and pass them > around, the quiet/signaling NaN bit might change. We had several bugs > around this, so add these patterns to the general input vectors. > > This oncovers a bug in the wasm interpreter, which will be fixed in a > separate CL. > > R=ahaas@chromium.org > > Bug: v8:6947, v8:6954 > Change-Id: I205b8ab784b087b1e4988190fa725df0b90e7ee0 > Reviewed-on: https://chromium-review.googlesource.com/725345 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48731} TBR=ahaas@chromium.org,clemensh@chromium.org Change-Id: I4ceb82eab5d4cbf1f335bf6f358178a17a2fd0ba No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6947, v8:6954 Reviewed-on: https://chromium-review.googlesource.com/728101Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#48745}
-
Daniel Clifford authored
Change-Id: I67d75423a4f1db330fc79ec274ed7b3c6a9e2cd2 Reviewed-on: https://chromium-review.googlesource.com/725734Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#48744}
-
Michael Achenbach authored
This reverts commit f77d98f7. Reason for revert: Still fails: https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm/builds/4978 Original change's description: > Reland "[arm] [simulator] Do also execute tests on real hardware" > > This is a reland of 8bacd848. > The failing test is disabled if not executing in the simulator. > > Original change's description: > > [arm] [simulator] Do also execute tests on real hardware > > > > In order to avoid writing tests that *only* pass in the simulator, but > > not on real hardware, do also execute the simulator tests on real > > hardware. > > > > R=ahaas@chromium.org, rodolph.perfetta@arm.com > > > > Bug: v8:6947 > > Change-Id: Ibdf1719fff20e17620c0aaa343d7ea28e48f3837 > > Reviewed-on: https://chromium-review.googlesource.com/722961 > > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > > Reviewed-by: Rodolph Perfetta <rodolph.perfetta@arm.com> > > Reviewed-by: Andreas Haas <ahaas@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#48706} > > Bug: v8:6947, v8:6963 > Change-Id: I5733794bc5ca223c8e66afcdeb8414b1b4121314 > Reviewed-on: https://chromium-review.googlesource.com/727880 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48734} TBR=rodolph.perfetta@arm.com,ahaas@chromium.org,clemensh@chromium.org Change-Id: I0ed35fc9e1dd5d30b0871479d17f0678fec17499 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6947, v8:6963 Reviewed-on: https://chromium-review.googlesource.com/727903Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#48743}
-
Jaroslav Sevcik authored
Changes: - introduce the notion of unreachable abstract states. - reconnect unreachables states to runtime abort in effect phis (so that the merged states are not polluted by unreachable branches while preserving SSA). - mark states with failed map checks, unreachable map guars as unreachable. - add instance type to AbstractMaps, only invalidate instance type on mismatched effect merges. This results in 2-3% improvement on ARES/ML steady state. Bug: v8:6396 Change-Id: I35b0d4482fa400ba7ee9a754f8ef1b2663ebc7dc Reviewed-on: https://chromium-review.googlesource.com/727761Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#48742}
-
Mike Stanton authored
If we have good lower bound type information in simplified lowering that the input to PlainPrimitiveToNumber is a string, then we'd like to introduce a call to the StringToNumber builtin. However, this requires more careful management of the effect chain than we had previously. To fix this, introduce a StringToNumber opcode which defers the graph alteration until effect-control-linearization, when the effect chain is available for careful wiring. Bug: v8:6929 Change-Id: I4f0e43fe474a44d0dfa095a3a01caece649d82db Reviewed-on: https://chromium-review.googlesource.com/727934Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#48741}
-
Michael Achenbach authored
TBR=sergiyb@chromium.org Bug: v8:6917 Change-Id: I96cedba176cd3c35ca39bb2d4604956cded114fc Reviewed-on: https://chromium-review.googlesource.com/728023Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#48740}
-
Clemens Hammacher authored
The test was recently enabled (together with other simulator tests) to also run on native hardware (in https://crrev.com/c/727880). Temporarlily disable this one test again until the issue is fixed. R=ahaas@chromium.org Bug: v8:6963 Change-Id: Ib6bae773a1d54541c87c37fb8547413ee7deac58 Reviewed-on: https://chromium-review.googlesource.com/728021Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48739}
-
Michael Starzinger authored
This allocates and populates potential deoptimization data arrays before the underlying {Code} objects is allocated. It aims at making the field holding said data immutable after allocation. Note that we still mutate this field during deoptimization. R=verwaest@chromium.org BUG=v8:6792 Change-Id: Id0c2cfb65e782d7292d2df6bff41c54b2b8c3351 Reviewed-on: https://chromium-review.googlesource.com/725704Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48738}
-
Michael Starzinger authored
R=jgruber@chromium.org Change-Id: I5748dcf1456a19be66058b1b7025da44bcbd999c Reviewed-on: https://chromium-review.googlesource.com/725735 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#48737}
-
Choongwoo Han authored
- Throw a TypeError exception if a given target argument is not a typed array before converting a given offset argument to an integer. - Add a testcase Bug: chromium:768775 Change-Id: Id132a0f154fcf930f211922fcbef6c66f9d6f285 Reviewed-on: https://chromium-review.googlesource.com/728120Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#48736}
-
Michael Achenbach authored
TBR=sergiyb@chromium.org NOTRY=true Bug: v8:6917 Change-Id: Ia417ab5cf59a6c2894de67d5519394629b6ab1b9 Reviewed-on: https://chromium-review.googlesource.com/727936Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#48735}
-
Clemens Hammacher authored
This is a reland of 8bacd848. The failing test is disabled if not executing in the simulator. Original change's description: > [arm] [simulator] Do also execute tests on real hardware > > In order to avoid writing tests that *only* pass in the simulator, but > not on real hardware, do also execute the simulator tests on real > hardware. > > R=ahaas@chromium.org, rodolph.perfetta@arm.com > > Bug: v8:6947 > Change-Id: Ibdf1719fff20e17620c0aaa343d7ea28e48f3837 > Reviewed-on: https://chromium-review.googlesource.com/722961 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Rodolph Perfetta <rodolph.perfetta@arm.com> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48706} Bug: v8:6947, v8:6963 Change-Id: I5733794bc5ca223c8e66afcdeb8414b1b4121314 Reviewed-on: https://chromium-review.googlesource.com/727880 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#48734}
-
Toon Verwaest authored
Bug: v8:6921 Change-Id: Id73a9ecc476c3c3ce0718bef81684787b72e366e Reviewed-on: https://chromium-review.googlesource.com/727202Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#48733}
-
Michael Starzinger authored
R=bmeurer@chromium.org BUG=v8:6792 Change-Id: I9f3be5304917215283643385ba4a216023c822ab Reviewed-on: https://chromium-review.googlesource.com/725800 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48732}
-
Clemens Hammacher authored
If you just cast those patterns to float or double and pass them around, the quiet/signaling NaN bit might change. We had several bugs around this, so add these patterns to the general input vectors. This oncovers a bug in the wasm interpreter, which will be fixed in a separate CL. R=ahaas@chromium.org Bug: v8:6947, v8:6954 Change-Id: I205b8ab784b087b1e4988190fa725df0b90e7ee0 Reviewed-on: https://chromium-review.googlesource.com/725345 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#48731}
-
Georg Neis authored
This adds BigInt support to JavaScript's abstract equality (== and !=), implemented mainly via CodeStubAssembler::Equal and via Object::Equals. Bug: v8:6791 Change-Id: I53219f2f71baa760b142cc676f18931731b87226 Reviewed-on: https://chromium-review.googlesource.com/725701 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#48730}
-
Clemens Hammacher authored
Use the (D)CHECK_{EQ,NE,GT,...} macros instead of (D)CHECK with an embedded comparison. This gives better error messages and also does the right comparison for signed/unsigned mismatches. This will allow us to reenable the readability/check cpplint check. R=ishell@chromium.org Bug: v8:6837, v8:6921 Change-Id: If44435035d234e90c1dc306a306832c9d36013a2 Reviewed-on: https://chromium-review.googlesource.com/723019Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48729}
-
Mostyn Bramley-Moore authored
This makes jumbo_file_merge_limit=50 work again. Bug: chromium:770684 Change-Id: I5db6566da876d71ea6ba50ff03b7652074b0a35f Reviewed-on: https://chromium-review.googlesource.com/725818Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Mostyn Bramley-Moore <mostynb@vewd.com> Cr-Commit-Position: refs/heads/master@{#48728}
-
Mike Stanton authored
Because the toboolean operator may lower to a builtin call (which is effectful in turbofan parlance after effect control linearization), it really should be encoded as a simplified operator, which can be optimized with respect for the effect chain in linearization. No new functionality here, rather a furniture rearrangement in the TurboFan node structure. Bug: v8:6929 Change-Id: I371fd22941397d5c28d13bded2738161d8da8275 Reviewed-on: https://chromium-review.googlesource.com/725721Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#48727}
-
Clemens Hammacher authored
This is a reland of e737b4ce. The issue on windows bots was fixed in https://crrev.com/c/725733. Original change's description: > [test] Avoid unnecessary std::vector allocations > > Instead of copying an array of fixed values into an std::vector for > each usage of the FOR_INPUTS macro, just iterate the constant data > directly. > This also makes the <type>_vector() functions return {constexpr Vector} > instead of {std::vector}. > > R=tebbi@chromium.org > > Change-Id: Ifc3e5509b2fbf5e383c967c2f46acf2b07f7b5b4 > Reviewed-on: https://chromium-review.googlesource.com/725427 > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48688} Change-Id: I9ad5d22803bbbf35c458965497acc603cfa01b20 Reviewed-on: https://chromium-review.googlesource.com/725979Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48726}
-
jgruber authored
Encapsulates special reservation / allocation behavior for builtin serialization. This allows us to remove special logic around kNextChunk in builtin deserialization (since we don't generate that bytecode anymore for builtins). Bug: v8:6624 Change-Id: Ice7673006cee53b9d11cdfb7f84d4175221c7984 Reviewed-on: https://chromium-review.googlesource.com/720357Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#48725}
-
Jaroslav Sevcik authored
Change-Id: I1157ef6baaf60bdbf5d55a1b8f75edb15794baef Bug: v8:6916 Reviewed-on: https://chromium-review.googlesource.com/715800Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#48724}
-
Choongwoo Han authored
Replace GetElement and SetElement to Get and Set, and use CopyElements, which reduces 4x-13x overheads. Bug: chromium:768775 Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I58534b30c2035195c5f4b8f2c04e7c459bdbebaa Reviewed-on: https://chromium-review.googlesource.com/720661Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#48723}
-
Benedikt Meurer authored
This addresses the odd performance cliff, where the CallIC tracks known JSFunction targets, but goes MEGAMORPHIC when it sees a JSBoundFunction target. With this fix in place the micro-benchmark on the bug goes from arrowCall: 82 ms. boundCall: 234 ms. to arrowCall: 81 ms. boundCall: 80 ms. so Function#bind doesn't cause any additional overhead anymore. Bug: v8:5267, v8:6962 Change-Id: Iaceaf89fd3e99e2afe2ae45e96a6813a3ef8b1d2 Reviewed-on: https://chromium-review.googlesource.com/727879 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#48722}
-
Jakob Gruber authored
Intent to ship: goo.gl/QZ4QZ5 Bug: v8:5437 Change-Id: Icdacceefa3085f2657edd7f99c7d8f4dbbb76814 Reviewed-on: https://chromium-review.googlesource.com/727200Reviewed-by: Michael Hablich <hablich@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#48721}
-
Georg Neis authored
Example before: Slot #0 BinaryOp MONOMORPHIC [0]: 15 Slot #1 CompareOp MONOMORPHIC [1]: 1 And after: Slot #0 BinaryOp MONOMORPHIC (NumberOrOddball) [0]: 15 Slot #1 CompareOp MONOMORPHIC (SignedSmall) [1]: 1 R=jarin@chromium.org Bug: Change-Id: Ia22437c52289a13bcfd8847d6e5677ad44529b39 Reviewed-on: https://chromium-review.googlesource.com/725815Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#48720}
-
Michael Achenbach authored
Broke in: https://chromium-review.googlesource.com/c/v8/v8/+/725706 TBR=sergiyb@chromium.org NOTRY=true Bug: v8:6917 Change-Id: Ieb91c06a6bc1447acbe68c9ce881478c9a4a6149 Reviewed-on: https://chromium-review.googlesource.com/727800Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#48719}
-
Jakob Kummerow authored
This patch provides "Abstract Comparison" functions on the BigInt class for comparing BigInts to Numbers and Strings. The functionality is not exposed to JavaScript yet. Bug: v8:6791 Change-Id: I835f290203a31f363970b1edb359e19af6dabc5d Reviewed-on: https://chromium-review.googlesource.com/722324 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#48718}
-
Michael Achenbach authored
Bug: v8:6917 Change-Id: Ia768c9aaf71e70d1376ae21a35fd539a7315b0cd Reviewed-on: https://chromium-review.googlesource.com/725802 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#48717}
-
Michael Achenbach authored
This reverts commit 8bacd848. Reason for revert: Fails on chromebooks: https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm%20-%20debug/builds/4820 Original change's description: > [arm] [simulator] Do also execute tests on real hardware > > In order to avoid writing tests that *only* pass in the simulator, but > not on real hardware, do also execute the simulator tests on real > hardware. > > R=ahaas@chromium.org, rodolph.perfetta@arm.com > > Bug: v8:6947 > Change-Id: Ibdf1719fff20e17620c0aaa343d7ea28e48f3837 > Reviewed-on: https://chromium-review.googlesource.com/722961 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Rodolph Perfetta <rodolph.perfetta@arm.com> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48706} TBR=rodolph.perfetta@arm.com,ahaas@chromium.org,clemensh@chromium.org Change-Id: I4ec1c6ce4f6e86916a83a748819752ba00179ca2 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6947 Reviewed-on: https://chromium-review.googlesource.com/727760Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#48716}
-
Michael Achenbach authored
This ports the build_config json from GN to GYP to prepare deprecating tedious flags passing to the test runner. This also removes two unused GN flags that only hold temporary values. Bug: v8:6917 Change-Id: I976185f1541277dc5c9bfbaa7578f35c19dd254c Reviewed-on: https://chromium-review.googlesource.com/725706 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#48715}
-