- 04 Jan, 2019 24 commits
-
-
Ross McIlroy authored
Now that Asm.js code is also context independent, move code to ensure context independence from BytecodeGenerator to FinalizeUnoptimizedCode. Reland of CL: https://chromium-review.googlesource.com/c/v8/v8/+/1349236 Change-Id: I718090850870c61733e0719d4091ec60bc080ebb Reviewed-on: https://chromium-review.googlesource.com/c/1396201 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#58558}
-
Andreas Haas authored
With this CL it is possible to import any JavaScript object as an anyref global. The exception is WasmGlobalObject, which cannot hold anyref globals yet. R=clemensh@chromium.org Bug: v8:7581 Change-Id: I5b0fc686a4ec5c579d1d635b53be5ccdf0a78f27 Reviewed-on: https://chromium-review.googlesource.com/c/1382452 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58557}
-
Clemens Hammacher authored
This reverts commit 26a78061. Reason for revert: Not all fuzzers support custom segfault handlers yet, see https://crbug.com/918949 Original change's description: > Remove trap handler fallback for sanitizers > > Since https://crrev.com/c/1335572, our sanitizers allow to set custom > segfault handlers. Thus remove special code that was added to handle > sanitizers that prevent installation of segfault handlers. Instead, > CHECK that the signal handler was installed correctly. > > R=ahaas@chromium.org, mseaborn@chromium.org, mark@chromium.org > > Bug: chromium:830894 > Change-Id: I3bd66e33efdceb3e8469f3f4a09fbde90cb3d7ec > Reviewed-on: https://chromium-review.googlesource.com/c/1392199 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58513} TBR=mseaborn@chromium.org,ahaas@chromium.org,mark@chromium.org,clemensh@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:830894, chromium:918949 Change-Id: Ide545860cf7729139ac50c0dd2e85facca49b0b1 Reviewed-on: https://chromium-review.googlesource.com/c/1396277Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58556}
-
Sigurd Schneider authored
Clang is known to use a lot of stack space for Debug builds, so this patch lowers the recursion depth of that test. Failing bot: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20full%20debug First failing run: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20full%20debug/6606 Change-Id: Ib1da016b190fa0d9d7d38bced19f600a284c7f01 Reviewed-on: https://chromium-review.googlesource.com/c/1396079 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#58555}
-
Peter Marshall authored
Previously we stored the source position table, which stored a mapping of pc offsets to line numbers, and the inline_locations, which stored a mapping of pc offsets to stacks of {CodeEntry, line_number} pairs. This was slightly wasteful because we had two different tables which were both keyed on the pc offset and contained some overlapping information. This CL combines the two tables in a way. The source position table now maps a pc offset to a pair of {line_number, inlining_id}. If the inlining_id is valid, then it can be used to look up the inlining stack which is stored in inline_locations, but is now keyed by inlining_id rather than pc offset. This also has the nice effect of de-duplicating inline stacks which we previously duplicated. The new structure is similar to how this data is stored by the compiler, except that we convert 'source positions' (char offset in a file) into line numbers as we go, because we only care about attributing ticks to a given line. Also remove the helper RecordInliningInfo() as this is only actually used to add inline stacks by one caller (where it is now inlined). The other callers would always bail out or are only called from test-cpu-profiler. Remove AddInlineStack and replace it with SetInlineStacks which adds all of the stacks at once. We need to do it this way because the source pos table is passed into the constructor of CodeEntry, so we need to create it before the CodeEntry, but the inline stacks are not (they are part of rare_data which is not always present), so we need to add them after construction. Given that we calculate both the source pos table and the inline stacks before construction, it's just easier to add them all at once. Also add a print() method to CodeEntry to make future debugging easier as I'm constantly rewriting this locally. Bug: v8:8575, v8:7719, v8:7203 Change-Id: I39324d6ea13d116d5da5d0a0d243cae76a749c79 Reviewed-on: https://chromium-review.googlesource.com/c/1392195 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#58554}
-
Sigurd Schneider authored
This CL adds more TypeScript types and inserts some instanceof checks to ensure typing. The CL also selects es2018 as target and loads es6/es2018 libs for TypeScript types. This ensures that RegExp groups matching results are properly typed. Notry: true Bug: v8:7327 Change-Id: I1a59a1047188a49579c975149b336cc232c05eef Reviewed-on: https://chromium-review.googlesource.com/c/1396095Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#58553}
-
Sigurd Schneider authored
...and fix all related issues. Change-Id: I3bd37ae038b9ea7c4305600958c1ae20e67e0f1f Notry: true Bug: v8:7327 Reviewed-on: https://chromium-review.googlesource.com/c/1396092Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#58552}
-
Sigurd Schneider authored
This CL updates TypeScript, rollup and d3 to newer versions. Drive-bys: - Remove unused source file lang-disassembly. - Fix typing problem with FileReader callback The rollup version update also ensures that watch mode works again: npm run-script watch Change-Id: If852bc4287760017c185fbcb6dd9d2e36db36a04 Notry: true Bug: v8:7327 Reviewed-on: https://chromium-review.googlesource.com/c/1396091 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#58551}
-
Sigurd Schneider authored
- Move helper functions to utils - Use let/const instead of var - Fix display bug when schedule view was initially selected Bug: v8:7327 Notry: true Change-Id: I7caf3dd17b725a4553d035293716f452b9999ed8 Reviewed-on: https://chromium-review.googlesource.com/c/1396088 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#58550}
-
Sigurd Schneider authored
This CL splits out a Graph class from the GraphView, which improves maintainability and is a first step towards preserving node positions during phase view changes. This CL also removes duplication of node storage on the graph and provides a generator function instead. The only storage for nodes in the graph is now the {nodeMap}. Bug: v8:7327 Notry: true Change-Id: I1659ecfe46f62a12d2fb3c40ccd6f4936f081b53 Reviewed-on: https://chromium-review.googlesource.com/c/1396087 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#58549}
-
Sigurd Schneider authored
This removes duplicate storage of edges in the graph view, thereby reducing memory overhead. Bug: v8:7327 Notry: true Change-Id: I70df4bc102add8c89bc5145f01c0555b3e0a73d7 Reviewed-on: https://chromium-review.googlesource.com/c/1396085 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#58548}
-
Clemens Hammacher authored
"Finishing" currently only means decrementing a counter and notifying users via the callback if baseline compilation or tier-up finished. We can totally do this from background, if we spawn foreground tasks to actually call the callback. R=ahaas@chromium.org Bug: v8:7921, v8:8423 Change-Id: I815964d07a4d9111248097c41ebbd650842304c3 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel Reviewed-on: https://chromium-review.googlesource.com/c/1375662Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58547}
-
Mathias Bynens authored
The reference implementation used in the tests does not fully match the spec, so for the diverging cases we need to explicitly specify the correct expectation. Every single change in this patch has been verified against every major JavaScript engine using eshost + jsvu. All implementations match the spec (and the V8 implementation), with the following two exceptions: - One expectation was wrong because of a JavaScriptCore bug (that is, we inherited the incorrect expectation when importing the tests from WebKit). A comment was added for that one. - This work resulted in the discovery of bugs in Moddable/XS: https://github.com/Moddable-OpenSource/moddable/issues/112 Change-Id: I05d91d7acc5c8765e941fcd68c1086c2694c710c Reviewed-on: https://chromium-review.googlesource.com/c/1396081Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#58546}
-
Peter Marshall authored
Currently in both kCallerLineNumbers and kLeafNodeLineNumbers modes, we correctly capture inline stacks. In leaf number mode, this is simple as we simply add the path onto the existing tree. For caller line numbers mode this is more complex, because each path through various inlined function should be represented in the tree, even when there are multiple callsites to the same function inlined. Currently we don't correctly show line numbers for inlined functions. We do actually have this information though, which is generated by turbofan and stored in the source_position_table data structure on the code object. This also changes the behavior of the SourcePositionTable class. A problem we uncovered is that the PC that the sampler provides for every frame except the leaf is the return address of the calling frame. This address is *after* the call has already happened. It can be attributed to the next line of the function, rather than the calling line, which is wrong. We fix that here by using lower_bound in GetSourceLineNumber. The same problem happens in GetInlineStack - the PC of the caller is actually the instruction after the call. The information turbofan generates assumes that the instruction after the call is not part of the call (fair enough). To fix this we do the same thing as above - use lower_bound and then iterate back by one. TBR=alph@chromium.org Bug: v8:8575, v8:8606 Change-Id: Idc4bd4bdc8fb70b70ecc1a77a1e3744a86f83483 Reviewed-on: https://chromium-review.googlesource.com/c/1374290 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#58545}
-
Clemens Hammacher authored
Use the slimmer base::LeakyObject instead of base::LazyInstance. R=tebbi@chromium.org Bug: v8:8600 Change-Id: I71755db9fe3ea9c61be2cdf009a006947ef5560a Reviewed-on: https://chromium-review.googlesource.com/c/1392203Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58544}
-
Predrag Rudic authored
Redefinition of GetHalfStackSlot after commit 5ea59597. Change-Id: Ib2b1fe6bd130c6737a73ef55b09dc80f4cd9b3fb Reviewed-on: https://chromium-review.googlesource.com/c/1396077Reviewed-by: Sreten Kovacevic <skovacevic@wavecomp.com> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Predrag Rudic <prudic@wavecomp.com> Cr-Commit-Position: refs/heads/master@{#58543}
-
Clemens Hammacher authored
The {movsx_b} instruction can only take byte registers (or operands) as source. Ensure that for i8 sign extensions to i64, the src register is moved to a temporary byte register first, similar to the same operation on i32 a few lines above. R=ahaas@chromium.org Bug: chromium:918149, v8:6600 Change-Id: I17bc942127baee57279a7fc0caac9d82bd7c6bfb Reviewed-on: https://chromium-review.googlesource.com/c/1394555Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58542}
-
Ross McIlroy authored
The high GC stressing in this tests causes bytecode flushing which breaks some invariants in the test. BUG=v8:8629 Change-Id: I7efff098ed4fa96006c8200e174132a6297bd36f Reviewed-on: https://chromium-review.googlesource.com/c/1394743Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#58541}
-
Sigurd Schneider authored
regress-6989 uses assertOptimized and will hence fail randomly depending on GC timing. This means we should not run it under GC stress. This can be verified by running the test under GC stress and changing the --gc-interval. It is easy to find values for which the test fails, and values for which the test passes. Change-Id: Ibd8bfbc1712ad60830255e4d89ea795023134891 Reviewed-on: https://chromium-review.googlesource.com/c/1396078Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#58540}
-
Tamer Tas authored
This code is very old and is not referenced anywhere else. Verifying that the code isn't called anywhere else: - https://cs.chromium.org/search/?q=FilterTestCasesByArgs&type=cs - https://cs.chromium.org/search/?q=FilterTestCasesByStatus&type=cs R=machenbach@chromium.org CC=yangguo@chromium.org,sergiyb@chromium.org No-Try: true Change-Id: I18b0309430d86649046e64e863ca252951786061 Reviewed-on: https://chromium-review.googlesource.com/c/1394553Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Tamer Tas <tmrts@chromium.org> Cr-Commit-Position: refs/heads/master@{#58539}
-
Andreas Haas authored
One spec test is failing at the moment. I disabled it for now and created an bugtracker issue: https://crbug.com/v8/8633 R=gdeepti@chromium.org Change-Id: Ibc3087d0582b95395d45d261155f6ac7e1a47f0c Reviewed-on: https://chromium-review.googlesource.com/c/1394551Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#58538}
-
Mathias Bynens authored
https://github.com/tc39/proposal-flatMap/issues/74 https://github.com/tc39/proposal-flatMap/pull/75 BUG=v8:7220 Change-Id: I93ce66bddbb429beaa7486311f120ec32d6a35fb Reviewed-on: https://chromium-review.googlesource.com/c/1390125Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#58537}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/2df3750..29fca48 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/24bb5c4..ebf0d23 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/db0055d..936a994 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/50670f1..a974cf8 TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: I038146fba5b70489bebdd57bb472b9975219ef89 Reviewed-on: https://chromium-review.googlesource.com/c/1395797Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#58536}
-
Frank Tang authored
Make the function return Maybe<std::string> to propagate error. Bug: chromium:917151 Change-Id: I4330b0c54c122b1eddd3b37e21e0f387cb5d803a Reviewed-on: https://chromium-review.googlesource.com/c/1392205Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#58535}
-
- 03 Jan, 2019 16 commits
-
-
Junliang Yan authored
Port 9302db48 Original Commit Message: Merging the temporary HeapObjectPtr back into HeapObject. R=jkummerow@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I4f92282b7b4c66bb73da30e076a8378e0cf24836 Reviewed-on: https://chromium-review.googlesource.com/c/1394813Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58534}
-
Junliang Yan authored
Port 42b4180d Original Commit Message: The simulated C++ signature for generated code entry points should rely on primitive values (as opposed to ObjectPtr). R=jkummerow@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I55c67e8d42d97b45d5b0eb878ddd6ab3cf872942 Reviewed-on: https://chromium-review.googlesource.com/c/1394755Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58533}
-
Junliang Yan authored
Port 71180e54 Original Commit Message: This changes the CompileLazyDeoptimizedCode call to use the standard builtin calling sequence, which (for optimized code) creates an inlined off-heap trampoline instead of embedding a CODE_TARGET. missing only for the case of inlined trampolines. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Ie81856899dd5d1b1e745b748ed714d98b4dab7ac Reviewed-on: https://chromium-review.googlesource.com/c/1394806Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58532}
-
Junliang Yan authored
Port f1cb51ad Original Commit Message: instead of Object* (which is deprecated) or ObjectPtr (which is unsuitable for cases where we need to control the ABI exactly). Callers in generated code expect a plain tagged value, so return precisely that. Same for C++ Builtins. R=jkummerow@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I8055c9a9c99dbe8716f810c6b6cc1967bed9c3de Reviewed-on: https://chromium-review.googlesource.com/c/1393920Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58531}
-
Junliang Yan authored
Port fa3cbf60 Original Commit Message: This changes Torque's builtin pointers to use a Smi representation underneath instead of storing the Code target object. Callsites look up the target entry point through IsolateData::builtin_entry_table. The notable effect of this CL is that builtin pointer calls no longer call any on-heap Code. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I49bb08de916fd93e576936a56b0e1a0e21072289 Reviewed-on: https://chromium-review.googlesource.com/c/1394301Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58530}
-
Ulan Degenbaev authored
Bug: v8:8616 Change-Id: I0998b437712037277b81eb5d04b734826aabcd46 Reviewed-on: https://chromium-review.googlesource.com/c/1391754 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58529}
-
Junliang Yan authored
R=jgruber@chromium.org, joransiu@ca.ibm.com Change-Id: If31804509eaca51c0606409873dc180df4fb49f3 Reviewed-on: https://chromium-review.googlesource.com/c/1393301Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58528}
-
Clemens Hammacher authored
We currently trigger a GC when creating a module while the remaining uncommitted code space is below 32MB. For bigger modules, this is not enough. Instead, make this limit relative: Trigger GC if we fall below 50% of the available code space, and re-adjust this limit after each GC to avoid repeated GCs that do not free anything. R=ahaas@chromium.org Bug: v8:8624 Change-Id: I7abfad3b57663d528a26d29232ad6bc2dc63cef4 Reviewed-on: https://chromium-review.googlesource.com/c/1391753Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58527}
-
Georg Neis authored
This is a partial reland of d3d13e4b, which made an incorrect assumption about how the typer visits the graph. Bug: chromium:906567 Change-Id: I55b70fdf7e655973e6ae33b64e127252c745517f Reviewed-on: https://chromium-review.googlesource.com/c/1394549Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#58526}
-
Junliang Yan authored
Port f323a5f4 Original Commit Message: Currently, Torque's builtin pointers store a Code target underneath and callsites generate a kArchCallCodeObject opcode. When embedded builtins are enabled, the call thus first calls the on-heap trampoline, which finally jumps to the target off-heap builtin code. This will no longer be possible in jitless mode, since on-heap code must not be executable. As a step towards changing the way builtin pointers are called (function pointers will hold the builtin index as a Smi, and callsites look up the off-heap target address and jump there), this CL adds a dedicated opcode for builtin pointer calls to the compiler pipeline. The calling mechanism itself is unchanged, changes there will happen in a follow-up. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I2d2229227e1c62e7c2515d4f5cb3d4dae49b3dd4 Reviewed-on: https://chromium-review.googlesource.com/c/1393913Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58525}
-
Clemens Hammacher authored
The number of registers is very small, so any integer type is big enough anyway. Just use the simplest one, which is int. R=ahaas@chromium.org Bug: v8:6600 Change-Id: I9762a5c934848b810b7937ee603cd183f883d557 Reviewed-on: https://chromium-review.googlesource.com/c/1394548Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58524}
-
Junliang Yan authored
R=joransiu@ca.ibm.com Change-Id: I0587b286f3132347172f353cbce405158ef1c403 Reviewed-on: https://chromium-review.googlesource.com/c/1393910Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58523}
-
Clemens Hammacher authored
We currently de-duplicate used registers also in regions which do not need merging. In those regions though it can never happen that we need to pass different values from any merge input. Apart from introducing unnecessary register moves, this also causes a DCHECK to fail, because we might later want to merge back different registers into one. Assume this initial stack state (where each letter is a register): [A B B C] If in any child block the two Bs get de-duplicated so something like [A B D C] then we run into trouble when merging back this state into the parent state, because both B and D would need to be put into B. In this case we can statically infer that B and D must hold the same value anyway, but having this situation does not make much sense in the first place, so the DCHECK fires correctly. R=titzer@chromium.org Bug: v8:8423, chromium:917412 Change-Id: I24c36b062e04a134cf7051725afab98126753f31 Reviewed-on: https://chromium-review.googlesource.com/c/1392190 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#58522}
-
Clemens Hammacher authored
On x64 the {kScratchRegister} cannot be held in a {LiftoffRegister}, since it is not a valid cache register. Also, the code unnecessarily checked whether there is an unused cache register, but then didn't use it. Simplify the logic to always use the scratch register, just distinguish between 4-byte and 8-byte moves. On ia32 we did not move 64-bit values correctly if we didn't have unused registers and needed to move via the stack. R=titzer@chromium.org Bug: v8:6600, chromium:917588, chromium:917450 Change-Id: I0bbe946c6ac8fca62f85711ae47afdac9c02ae6b Reviewed-on: https://chromium-review.googlesource.com/c/1391755Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58521}
-
Clemens Hammacher authored
We don't have our macros available there, so we should not enforce V8_NOEXCEPT on types declared in include/v8.h or other files in include/. R=mlippautz@chromium.org Bug: v8:8616 No-Try: true Change-Id: I51550a072a7957921c6cbd7e0866093f0462ff4e Reviewed-on: https://chromium-review.googlesource.com/c/1394547Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58520}
-
Georg Neis authored
This reverts commit d3d13e4b. Reason for revert: Makes an incorrect assumption. Original change's description: > [turbofan] Improve UpdateType debug output. > > R=jarin@chromium.org > > Bug: chromium:906567 > Change-Id: Ic99c7a240ecb37c7b032b388f604d3f256d335b3 > Reviewed-on: https://chromium-review.googlesource.com/c/1392196 > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58497} TBR=jarin@chromium.org,neis@chromium.org Change-Id: I1bfc6d38f1c6cb67ef403d8be84070aa2c0effb6 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:906567 Reviewed-on: https://chromium-review.googlesource.com/c/1394546Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#58519}
-