- 20 Apr, 2018 12 commits
-
-
Simon Zünd authored
This CL adds a test for each typed element kind where the array to sort consists of some max/min/zero elements. When providing a custom compare function, the upcoming torque version of TypedArray.p.sort needs to convert array elements to Number/BigInt and back. The tests check the edge cases for that conversion. R=jgruber@chromium.org Bug: v8:7382 Change-Id: Ia85ca343f62ece208acdeb1595e94f17ce12b713 Reviewed-on: https://chromium-review.googlesource.com/1021080 Commit-Queue: Simon Zünd <szuend@google.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52710}
-
Clemens Hammacher authored
R=ahaas@chromium.org Bug: v8:7570, v8:6600 Change-Id: I2630a173756a7f2d7831b6d3f820fc4224c76f68 Reviewed-on: https://chromium-review.googlesource.com/1021731Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52709}
-
jgruber authored
The existing signature is problematic for two reasons: 1. The void* -> V cast is invalid if sizeof(V) < sizeof(void*) 2. It's impossible to distinguish between a returned value of 0 and nullptr, designating failure. Bug: v8:6666 Change-Id: I71e8fc9119256c24a15b5bb73438f024f1af4f88 Reviewed-on: https://chromium-review.googlesource.com/1018466Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52708}
-
jgruber authored
Embed a hash of the embedded blob at serialization-time, and verify it when loading the blob. Drive-by: Keep the size of the blob trimmed, and only page-align for dynamic page allocation and freeing during mksnapshot. Bug: v8:6666 Change-Id: I10b6064f4f2847d4cc400f6f1bd6961194985b8f Reviewed-on: https://chromium-review.googlesource.com/1019144 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#52707}
-
Andreas Haas authored
Bug: v8:7570 Change-Id: Ib3ff7e64390b1f159905a054e7f9e37bd3f8a19c Reviewed-on: https://chromium-review.googlesource.com/1021530 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52706}
-
Clemens Hammacher authored
This implement float to i64/u64 conversions on ia32 and x64. These conversions emit a C call on ia32, and are implemented using native instructions on x64. R=ahaas@chromium.org Bug: v8:6600 Change-Id: I5b97a74d336e196598b29d407a3d06405b74ee14 Reviewed-on: https://chromium-review.googlesource.com/1014114 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52705}
-
Mike Stanton authored
To implement builtin continuations called from the deoptimizer, we need to better support writing builtins declared with javascript binding in Torque. This CL adds fixed number of argument support. So you can declare in Torque, something like: builtin javascript Foo(context: Context, receiver: Object, bar: Object): Object { ... } Formerly, this would give you an error because we only supported javascript bindings with a varargs array. Bug: v8:7672 Change-Id: I5b5b25bdbbd5e054049c39dd2f1a4c606472dcd5 Reviewed-on: https://chromium-review.googlesource.com/1018941 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#52704}
-
Clemens Hammacher authored
The convert operation only write an output value if the conversion succeeded. Thus, we always initialize the buffer before calling the conversion function. R=ahaas@chromium.org Change-Id: Ide230a1e608205f9067349db08adde6a90b31d6f Reviewed-on: https://chromium-review.googlesource.com/1021377 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52703}
-
Clemens Hammacher authored
Instead of passing multiple pointers to input and output, or to two input values, just pass one pointer which holds all inputs and where the output is written. This also reduces the size of generated Turbofan graphs, since only one stack slot is needed and less arguments are passed to the call. It also fixes undefined behaviour, since we were passing a pointer e.g. as {uint64_t*}, but accessed it using {ReadUnalignedValue}. Now we pass an Address, which does not have any alignment constraints. R=ahaas@chromium.org Bug: v8:3770, v8:6600 Change-Id: I54ef80b7e27f77587a9062560c0b3e01d6593e6d Reviewed-on: https://chromium-review.googlesource.com/1019147 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52702}
-
Michael Achenbach authored
This makes testing with random gc stress use the status file entrees for gc fuzzing as well, since many test cases not suitable for one, are not suitable for the other. This also skips two more tests that rely on assert(Un)Optimized, which is unreliable with gc fuzzing. TBR=sigurds@chromium.org Change-Id: I33a617b251d5cf65cf6e486d07ec55cde050b8ab Reviewed-on: https://chromium-review.googlesource.com/1021082 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52701}
-
Mythri authored
Check for poisoned loads in unaligned loads in interpreter-assembler-unittest node matcher. Change-Id: I5007ed1767edb035181c66028dda064b7792267f Reviewed-on: https://chromium-review.googlesource.com/1018902Reviewed-by: Miran Karić <miran.karic@mips.com> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#52700}
-
Alexey Kozyatinskiy authored
.. for side effect free debug evaluate. R=yangguo@chromium.org Bug: v8:7588 Change-Id: Iac4d782dbf996d9c11430fc681f38a648d89435b Reviewed-on: https://chromium-review.googlesource.com/1000527 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52699}
-
- 19 Apr, 2018 20 commits
-
-
Andrew Grieve authored
This is relevent for when the only "git" in your PATH is git.bat (from depot_tools). I'd guess this is pretty common for Googlers. Bug: v8:5960 Change-Id: I35bc49c6054afed20481ed408cfd02b7a4c346c8 Reviewed-on: https://chromium-review.googlesource.com/1019340 Commit-Queue: agrieve <agrieve@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52698}
-
Ulan Degenbaev authored
This allows percent difference of up to 0.2 in SamplingHeapProfilerRateAgnosticEstimates. Bug: chromium:834832 Tbr: ofrobots@chromium.org No-Tree-Checks: true No-Try: true Change-Id: I2f38ac886700eed31840dc19d65103b84d155592 Reviewed-on: https://chromium-review.googlesource.com/1019781 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#52697}
-
Ulan Degenbaev authored
The memory metric samples memory usage immediately after forcing GC via LowMemoryNotification. This makes the metric sensitive to the unmapper tasks timing. This patch forces eager unmapping in CollectAllAvailableGarbage. It also forces eager unmapping of non-regular chunks at the beginning of Mark-Compact to avoid accumulation of non-regular chunks. Bug: chromium:833291, chromium:826384 Change-Id: Iddf02cd4ab8613385d033899d29525fe6ee47fdd Reviewed-on: https://chromium-review.googlesource.com/1017102 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#52696}
-
Marja Hölttä authored
BUG=v8:7308 Change-Id: I5bc2faea374f116d3916b71465c34a84bd14f74f Reviewed-on: https://chromium-review.googlesource.com/1019501Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#52695}
-
Marja Hölttä authored
BUG=v8:7308 Change-Id: Ib3926bfa22b8639d84374cf423d26d6362e3f46e Reviewed-on: https://chromium-review.googlesource.com/1019141 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#52694}
-
Ulan Degenbaev authored
The heuristic is no longer needed now that we have concurrent marking. Bug: chromium:834371 Change-Id: I8ca3eaacdab618f690d8007aff66713260ace19f Reviewed-on: https://chromium-review.googlesource.com/1017123Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#52693}
-
jgruber authored
These functions are now unused within V8, as we need tighter control in mksnapshot for creating embedded.cc. Embedders should switch to using SnapshotCreator directly. Bug: v8:6666 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Id231b3d1fdf50e06c9278f13d095186364264b86 Reviewed-on: https://chromium-review.googlesource.com/1019442Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52692}
-
Stephan Herhut authored
The handling of wasm breakpoints was prone to forget previously set breakpoints when inserting new ones. In particular, adding breakpoints in reverse order or adding more than 4 breakpoints would fail. Change-Id: I94f314e86bdf9b53a4170ce1b6b47339b7cb7848 Reviewed-on: https://chromium-review.googlesource.com/1019302Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Stephan Herhut <herhut@chromium.org> Cr-Commit-Position: refs/heads/master@{#52691}
-
Ulan Degenbaev authored
ScavengeExternalString and ScavengeExternalOneByteString clear GC flags, which confuses concurrent sweeping that was started from another test. Tests that mutate flags should not be threaded. Bug: v8:7671 Change-Id: I08656d06fe85ff45baca685ebe5982528aad774c Reviewed-on: https://chromium-review.googlesource.com/1019102Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#52690}
-
Dan Elphick authored
This is a reland of 6c68efac Updated Heap::CommittedMemory and related functions to iterate over all spaces rather than including them manually which can lead to a space being overlooked. Also adds a test to ensure this the case. Original change's description: > Revert "Reland "[heap] Move initial objects into RO_SPACE"" > > This reverts commit 6c68efac. > > Reason for revert: https://bugs.chromium.org/p/v8/issues/detail?id=7668 > > Original change's description: > > Reland "[heap] Move initial objects into RO_SPACE" > > > > This is a reland of f8ae62fe > > > > Original change's description: > > > [heap] Move initial objects into RO_SPACE > > > > > > This moves: > > > * the main oddballs (null, undefined, hole, true, false) as well as > > > their supporting maps (also adds hole as an internalized string to make > > > this work). > > > * most of the internalized strings > > > * the struct maps > > > * empty array > > > * empty enum cache > > > * the contents of the initial string table > > > * the weak_cell_cache for any map in RO_SPACE (and eagerly creates the > > > value avoid writing to it during run-time) > > > > > > The StartupSerializer stats change as follows: > > > > > > RO_SPACE NEW_SPACE OLD_SPACE CODE_SPACE MAP_SPACE LO_SPACE > > > old 0 0 270264 32608 12144 0 > > > new 21776 0 253168 32608 8184 0 > > > Overall memory usage has increased by 720 bytes due to the eager > > > initialization of the Map weak cell caches. > > > > > > Also extends --serialization-statistics to print out separate instance > > > type stats for objects in RO_SPACE as shown here: > > > > > > Read Only Instance types (count and bytes): > > > 404 16736 ONE_BYTE_INTERNALIZED_STRING_TYPE > > > 2 32 HEAP_NUMBER_TYPE > > > 5 240 ODDBALL_TYPE > > > 45 3960 MAP_TYPE > > > 1 16 BYTE_ARRAY_TYPE > > > 1 24 TUPLE2_TYPE > > > 1 16 FIXED_ARRAY_TYPE > > > 1 32 DESCRIPTOR_ARRAY_TYPE > > > 45 720 WEAK_CELL_TYPE > > > > > > Bug: v8:7464 > > > Change-Id: I12981c39c82a7057f68bbbe03f89fb57b0b4c6a6 > > > Reviewed-on: https://chromium-review.googlesource.com/973722 > > > Commit-Queue: Dan Elphick <delphick@chromium.org> > > > Reviewed-by: Hannes Payer <hpayer@chromium.org> > > > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > > > Reviewed-by: Yang Guo <yangguo@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#52435} > > > > Bug: v8:7464 > > Change-Id: I50427edfeb53ca80ec4cf46566368fb2213ccf7b > > Reviewed-on: https://chromium-review.googlesource.com/999654 > > Commit-Queue: Dan Elphick <delphick@chromium.org> > > Reviewed-by: Yang Guo <yangguo@chromium.org> > > Reviewed-by: Hannes Payer <hpayer@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#52638} > > TBR=rmcilroy@chromium.org,yangguo@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,delphick@chromium.org > > # Not skipping CQ checks because original CL landed > 1 day ago. > > Bug: v8:7464,v8:7668 > Change-Id: I10aa03623b51e997f95a3715ea9f0bf5d29d2cdb > Reviewed-on: https://chromium-review.googlesource.com/1016600 > Commit-Queue: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52667} Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: If4b7490c8c4d31612de8ec132de334955a319b11 Bug: v8:7464, v8:7668 Reviewed-on: https://chromium-review.googlesource.com/1019020Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#52689}
-
Daniel Clifford authored
This problem was discovered by mvstanton@'s forEach Torque patch. In the absense of test coverage for Torque, his patch will serve as the regression test case for this bug when it lands. Change-Id: Ic77446a8e46168928da221e6eb18753dd6478c87 Reviewed-on: https://chromium-review.googlesource.com/1018763Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#52688}
-
jing.bao authored
Complete ptest and add vptest Add Pcmpeqb, Pcmpeqw, Ptest macro Change-Id: I060aa5228d50f2dca7ed3e24324a08c04ec1a028 Reviewed-on: https://chromium-review.googlesource.com/1013236Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Jing Bao <jing.bao@intel.com> Cr-Commit-Position: refs/heads/master@{#52687}
-
Simon Zünd authored
Module names in torque are allowed to have underscores but not dashes. To stay consistent with C++ file naming conventions, the underscores in module names are replaced by dashes for file names. Example: module typed_array {} would now generate: builtins-typed-array-from-dsl-gen.(cc|h) instead of: builtins-typed_array-from-dsl-gen.(cc|h) R=danno@chromium.org Change-Id: Iff42d7b9b5f65c378ee30f9d884ab6a3a3cd42a7 Reviewed-on: https://chromium-review.googlesource.com/1016460Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#52686}
-
Simon Zünd authored
'ref' builds might not yet have BigInt support. Instead of crashing when the benchmark file is loaded, the benchmark now fails during setup. R=jgruber@chromium.org Bug: chromium:834654 Change-Id: I2c03aeba4b6af947061504c369b5228d7b344307 Reviewed-on: https://chromium-review.googlesource.com/1019100 Commit-Queue: Simon Zünd <szuend@google.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52685}
-
Clemens Hammacher authored
This refactoring is a big step towards separating Turbofan-related code from backend independent code. This will allow us to include way less headers from "src/compiler" at various places. The {WasmCompilationUnit} contained information for Turbofan compilation, and for Liftoff compilation. This CL tears this apart, such that {WasmCompilationUnit} holds backend-independent information, plus a pointer to either {LiftoffCompilationUnit} or {TurbofanWasmCompilationUnit}. These pointers are opaque, so that {function-compiler.h}, defining {WasmCompilationUnit}, does not need to include any Turbofan specific or Liftoff specific headers. R=ahaas@chromium.org, titzer@chromium.org, mstarzinger@chromium.org Bug: v8:7570, v8:6600 Change-Id: I024c9a23508ee1b4b3cbe1d068c8e785d732daca Reviewed-on: https://chromium-review.googlesource.com/1016640 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52684}
-
sreten.kovacevic authored
Since movf and movt instructions were removed in r6, sel_s and sel_d instructions need to be used instead with some preparations. Change-Id: Ia6a2fda7d3d79ada1ae1ec4649793efd2466f79b Reviewed-on: https://chromium-review.googlesource.com/1016910Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Commit-Queue: Sreten Kovacevic <sreten.kovacevic@mips.com> Cr-Commit-Position: refs/heads/master@{#52683}
-
Marja Hölttä authored
This reverts commit 9d0154d6. Reason for revert: gc stress breakage, prob this commit is broken. Original change's description: > [heap] Verify FeedbackVector contents during heap verification. > > Pre-work for in-place weak refs. > > BUG=v8:7308 > > Change-Id: I5c7086bded14879f62ab366d0aba59302f0078d3 > Reviewed-on: https://chromium-review.googlesource.com/1010069 > Commit-Queue: Marja Hölttä <marja@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Michael Stanton <mvstanton@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52681} TBR=marja@chromium.org,yangguo@chromium.org,mvstanton@chromium.org,ishell@chromium.org Change-Id: I7d95e375e06db186f0e9823cb080ce15d1e1062d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7308 Reviewed-on: https://chromium-review.googlesource.com/1019180Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#52682}
-
Marja Hölttä authored
Pre-work for in-place weak refs. BUG=v8:7308 Change-Id: I5c7086bded14879f62ab366d0aba59302f0078d3 Reviewed-on: https://chromium-review.googlesource.com/1010069 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#52681}
-
Sigurd Schneider authored
This also adds a javascript operator JSCreateObject and an associated TFS stub that handles Object.create in cases where only a prototype, but no additional properties are provided. Bug: v8:7250 Change-Id: Ib1fd529a10a553c3718222356319bd6ccffbdf30 Reviewed-on: https://chromium-review.googlesource.com/1013576 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52680}
-
Michael Achenbach authored
This reverts commit f52b4b3b. Reason for revert: Makes benchmarks time out: https://crbug.com/834655 Original change's description: > [compiler] Temporarily turn some DCHECKs into CHECKs. > > This turns most DCHECKs in the register allocator code into CHECKs, > which hopefully will tell us more about the crashes in crbug 831822. > > This CL will eventually be reverted again. > > Bug: chromium:831822 > Change-Id: I123ed507949ecab50bb0aaaf9e91978c9c2d8d65 > Reviewed-on: https://chromium-review.googlesource.com/1016762 > Commit-Queue: Georg Neis <neis@chromium.org> > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52673} TBR=neis@chromium.org,sigurds@chromium.org Change-Id: Ic2b37a3ce04516c5871b801015153ce84e622e90 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:831822 Reviewed-on: https://chromium-review.googlesource.com/1018860Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52679}
-
- 18 Apr, 2018 8 commits
-
-
Alexei Filippov authored
This is a reland of 9a19ce25 Original change's description: > [profiler] Ensure there's a single ProfilerListener per isolate. > > BUG=v8:7662 > > Change-Id: I8128ac96bcd2dc01b318c55843c4416bdd17c7ae > Reviewed-on: https://chromium-review.googlesource.com/1013318 > Commit-Queue: Alexei Filippov <alph@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52653} Bug: v8:7662 Change-Id: I28c5e693290057ad2bc90161c82419fb109ef1ae Reviewed-on: https://chromium-review.googlesource.com/1015747Reviewed-by: Alexei Filippov <alph@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#52678}
-
Leszek Swirski authored
Since external strings are used for things like source strings, we should tenure them from creation. Change-Id: I226ab9036836d76d8c17ed168ad97d7f0f824278 Reviewed-on: https://chromium-review.googlesource.com/1006961 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#52677}
-
Clemens Hammacher authored
The Cvtqui2ss and Cvtqui2sd methods did overwrite the {src} register and the given {tmp} register. This CL fixes this to avoid the overwrite of the {src} register, and to use the kScratchRegister instead of an explicitly passed tmp register. It also adds u32 -> f32/f64 conversions. All these methods can take either a register or an operand as src. This sometimes saves a mov operation. R=neis@chromium.org, ahaas@chromium.org Change-Id: I912a2a3b9d9c356f04ce51869a01c6fd11c76dd3 Reviewed-on: https://chromium-review.googlesource.com/1017121Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52676}
-
Sigurd Schneider authored
Bug: v8:7659 Change-Id: Ib4a44eef02398482a969084f5004d6096e1fd979 Reviewed-on: https://chromium-review.googlesource.com/1017100Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#52675}
-
Erik Chen authored
Calls to madvise(MADV_FREE_REUSABLE) [when discarding/decommitting memory] should be paired with calls to madvise(MADV_FREE_REUSE) [when reusing/committing memory]. The latter is purely for accounting purposes. Bug: chromium:823915 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ib1758fd72c5ad4dfe731f5d9a6dbaf75b1e0e14b Reviewed-on: https://chromium-review.googlesource.com/988193 Commit-Queue: Erik Chen <erikchen@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52674}
-
Georg Neis authored
This turns most DCHECKs in the register allocator code into CHECKs, which hopefully will tell us more about the crashes in crbug 831822. This CL will eventually be reverted again. Bug: chromium:831822 Change-Id: I123ed507949ecab50bb0aaaf9e91978c9c2d8d65 Reviewed-on: https://chromium-review.googlesource.com/1016762 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#52673}
-
Marja Hölttä authored
BUG=v8:7308 Change-Id: I1976cd7e542a0304f6e14744e634c62dd06a83f5 Reviewed-on: https://chromium-review.googlesource.com/1014090 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#52672}
-
Peter Marshall authored
Previously when we put offsets into the SourcePositionTable, we added the header size of the code object as well. When we pull the positions out of the table (see ProfileGenerator::RecordTickSample) we already account for the header size. This means the offsets in the table should just be the offset of the PC within the actual code, not the offset within the code object, which is what we currently store. Currently this bug is probably not very noticeable, as it causes the reported line numbers to be slightly too low, but still within the same function. For a sampling profiler, we don't have any way to confirm which lines were actually sampled, so we don't notice that the results are wrong. The only way to see this bug is that there are some lines within a function (towards the end of the function) that we will never see ticks inside of, because the offset in the position table is not reachable with valid PC offsets. This CL removes the header size offset from values put into the source position table stored by the profiler. Bug: v8:7018 Change-Id: I00b17cec5f9c81d993d4e64c3c021052745a791e Reviewed-on: https://chromium-review.googlesource.com/1016560Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#52671}
-