- 14 Dec, 2017 21 commits
-
-
Igor Sheludko authored
Bug: v8:7206, v8:5561 Change-Id: I3b0e569ac52c889e1b1897cd98bcb7799f308ffb Reviewed-on: https://chromium-review.googlesource.com/819254 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#50114}
-
Igor Sheludko authored
This CL also adds support for "lookup on dictionary receivers" to store ICs. Bug: v8:7206, v8:5561 Change-Id: Icebbc2d52c71f5d25b43f2f2a8adf674e4ec2cbc Reviewed-on: https://chromium-review.googlesource.com/819232 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#50113}
-
Sigurd Schneider authored
This CL adds a performace counter similar to https://www.chromestatus.com/metrics/feature/timeline/popularity/2238 to estimate how often speculation is disabled in the wild. Bug: v8:7216, v8:7127 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I421637b386534da4a3aed549a9665870e3b97eb1 Reviewed-on: https://chromium-review.googlesource.com/827012Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Michael Hablich <hablich@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#50112}
-
Michael Achenbach authored
NOTRY=true TBR=ulan@chromium.org Bug: chromium:794911 Change-Id: Ib7be4b44f796153d3972afc878a8ec4911327576 Reviewed-on: https://chromium-review.googlesource.com/827067Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#50111}
-
Michael Achenbach authored
This moves the error-code check for verify-predictable mode to the API method checking for status file outcomes, overwriting the default behavior. This is resembling the behavior prior to: https://chromium-review.googlesource.com/c/808971/ Otherwise, the status file outcomes will expect some negative tests to fail in the mozilla test suite, which pass in predictable mode. Now, negative tests are simply not supported. Bug: v8:7166 Change-Id: I1d4bcaf66cb54c5fbb217dd9091b88ecc5b0e456 Reviewed-on: https://chromium-review.googlesource.com/817741Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#50110}
-
Igor Sheludko authored
Bug: v8:7206, v8:5561 Change-Id: Ieb8bae0a245c6135d375cec0f76ce80a240391b9 Reviewed-on: https://chromium-review.googlesource.com/819290 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#50109}
-
Sathya Gunasekaran authored
The IsPromise brand check is now replaced with an IsObject check. The spec was changed here: https://github.com/tc39/proposal-promise-finally/commit/a1628886f85a897df5cd967ea36f025e8f89cb7a Bug: v8:7095 Change-Id: I5668083c888f9efcdfc1491c919c810c75d73ac7 Reviewed-on: https://chromium-review.googlesource.com/826606Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#50108}
-
Ulan Degenbaev authored
The following events in v8.gc category are emitted: - V8.GC_BACKGROUND_ARRAY_BUFFER_FREE - V8.GC_BACKGROUND_STORE_BUFFER - V8.GC_BACKGROUND_UNMAPPER - V8.GC_MC_BACKGROUND_EVACUATE_COPY - V8.GC_MC_BACKGROUND_EVACUATE_UPDATE_POINTERS - V8.GC_MC_BACKGROUND_MARKING - V8.GC_MC_BACKGROUND_SWEEPING - V8.GC_MINOR_MC_BACKGROUND_EVACUATE_COPY - V8.GC_MINOR_MC_BACKGROUND_EVACUATE_UPDATE_POINTERS - V8.GC_MINOR_MC_BACKGROUND_MARKING - V8.GC_SCAVENGER_BACKGROUND_SCAVENGE_PARALLEL Bug: chromium:758183 Change-Id: I04368f75ac740cbc832a864609709e5a46f5baef Reviewed-on: https://chromium-review.googlesource.com/825203 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50107}
-
Michael Achenbach authored
TBR=hablich@chromium.org NOTRY=true Bug: v8:5193 Change-Id: Ia5e91f50e35ca361cdb1eae8c2ca5cc2e2fd866c Reviewed-on: https://chromium-review.googlesource.com/827005Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#50106}
-
Michael Starzinger authored
This makes sure that breaking dependencies during compilation is also caught properly in release mode (not only in debug mode). When this happens the generated code would be invalid from the beginning and we need to prevent using such code. R=bmeurer@chromium.org BUG=chromium:794394,chromium:786723 Change-Id: I76fd85786c16807389f69a9c44b9f893004b1c6f Reviewed-on: https://chromium-review.googlesource.com/826635Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#50105}
-
Igor Sheludko authored
This CL also removes LoadICProtoArray* builtins which are no longer necessary. Bug: v8:7206, v8:5561 Change-Id: Ic5d9a3d4d21c4bd5e5e1cd110bd029ced157a000 Reviewed-on: https://chromium-review.googlesource.com/819252 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#50104}
-
Sigurd Schneider authored
Bug: v8:7204, v8:7127 Change-Id: Id99b0e83385275508a9e7f46e17bb8263f7b256a Reviewed-on: https://chromium-review.googlesource.com/826626Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#50103}
-
Igor Sheludko authored
Given that we already treat feedback vector as a source of truth for language mode of other store operations and given that the StoreGlobalIC dispatcher does not depend on the language more anymore, we can just combine these two bytecodes. Bug: v8:7206 Change-Id: I27f03f2102ff79ec20fa997eb18dde816f376b00 Reviewed-on: https://chromium-review.googlesource.com/823846Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#50102}
-
Sigurd Schneider authored
Bug: v8:7127, v8:7204 Change-Id: I923658dd9142d658f1155015f5ee02526d280e2a Reviewed-on: https://chromium-review.googlesource.com/824171 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50101}
-
Igor Sheludko authored
... instead of checking if the property cell is still empty when loading/storing through JSGlobalObject prototype. Also invalidate the validity cell when new global lexical variables appear in the script. Bug: v8:5561 Change-Id: Iaf122dffe76d57b32e2b69291dee079e772b271c Reviewed-on: https://chromium-review.googlesource.com/819230Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#50100}
-
Sigurd Schneider authored
Bug: v8:7127 Change-Id: Ia2e291d2b57150ea12bca6427b0c6843356b300e Reviewed-on: https://chromium-review.googlesource.com/826625 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50099}
-
Michael Hablich authored
This reverts commit bee8c168. Reason for revert: blocks roll https://chromium-review.googlesource.com/c/chromium/src/+/822232 Original change's description: > [deoptimizer] Use empty fixed array when materializing empty arguments elements. > > Bug: chromium:793863 > Change-Id: I68860924c3252184f63dbea8561e5c4fe6bfa4ca > Reviewed-on: https://chromium-review.googlesource.com/822071 > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#50028} TBR=jarin@chromium.org,tebbi@chromium.org NOTRY=true Bug: chromium:793863 Change-Id: Iee622cd96333671277029fdd766f4ea137c9efc2 Reviewed-on: https://chromium-review.googlesource.com/826962 Commit-Queue: Michael Hablich <hablich@chromium.org> Reviewed-by: Michael Hablich <hablich@chromium.org> Cr-Commit-Position: refs/heads/master@{#50098}
-
Sigurd Schneider authored
Add support for disallowing speculation upon deoptimize from a CheckBound node, and use this in the case of array builtins in js-call-reducer to prevent deoptimization loops. Bug: v8:7127 Change-Id: I04cf655b10178d2938d2f0ee6b336601fab6463b Reviewed-on: https://chromium-review.googlesource.com/822195 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50097}
-
Brad Nelson authored
R=jarin@chromium.org Bug: Change-Id: I43c72aa222a6b41b22b3f80f3d4ce3113b965a81 Reviewed-on: https://chromium-review.googlesource.com/822526Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#50096}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/3d92234..9caf5bf Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/fbee132..9cfb34e Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/73924d8..ec766dc TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: I9c3106b436041575140f3bfc447585ee0613a617 Reviewed-on: https://chromium-review.googlesource.com/826862Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#50095}
-
bsheedy authored
Adds static_cast<int> to a number of return values in disasm-arm64.cc. The implicit conversion from size_t (unsigned long) to int was causing compilation warnings/errors when upgrading to Android NDK r16. Bug: chromium:771171 Change-Id: I9a5f80d65565e1a9ab4caf2cf874240f04f406a1 Reviewed-on: https://chromium-review.googlesource.com/826254 Commit-Queue: Brian Sheedy <bsheedy@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#50094}
-
- 13 Dec, 2017 19 commits
-
-
Jakob Kummerow authored
Bug: v8:7109 Change-Id: I6384546566a760bd2956685a09d2327616eabd6d Reviewed-on: https://chromium-review.googlesource.com/810266 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#50093}
-
Adam Klein authored
This would help separate such API misuses from other Invoke() crashes which indicate crashes in generated code. Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I6c596fb63950d7306fab1b689dd913a61764d257 Reviewed-on: https://chromium-review.googlesource.com/825942Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#50092}
-
Junliang Yan authored
Port bd732f7d Original Commit Message: The original CL introduced a test which uses a random number generator. I disable the test for now, which is okay because this CL adds to a work-in-progress feature anyways, and I will fix the problem in another CL. Original description: Add the ability to return (multiple) return values on the stack: - Extend stack frames with a new buffer region for return slots. This region is located at the end of a caller's frame such that its slots can be indexed as caller frame slots in a callee (located beyond its parameters) and assigned return values. - Adjust stack frame constructon and deconstruction accordingly. - Extend linkage computation to support register plus stack returns. - Reserve return slots in caller frame when respective calls occur. - Introduce and generate architecture instructions ('peek') for reading back results from return slots in the caller. - Aggressive tests. - Some minor clean-up. So far, only ia32 and x64 are implemented. R=ahaas@chromium.org, joransiu@ca.ibm.com, jbarboza@ca.ibm.com BUG= LOG=N Change-Id: I8d63286aa5af5f52cc2eeaf2adeee13d0ff19e7d Reviewed-on: https://chromium-review.googlesource.com/823084 Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#50091}
-
Andreas Haas authored
In a certain scenario streaming compilation got stuck and did never finish. This CL fixes this issue. Scenario: * Streaming compilation starts * The compilation tasks execute all compiation units in the working queue and set the finished_ flag to true. * New data arrives over streaming * The compilation tasks compile so fast that the executed_units_ queue gets full. The compilation tasks stop executing and wait for the finisher task to restart them. * The finisher task does not restart the compilation tasks because the finished_ flag is set. With this CL I remove the finished flag and instead look at the size of the working queue directly. In addition I added a test which does not actually reproduce this scenario but seems good to have anyways. R=mtrofin@chromium.org Change-Id: I44560c43e51be13c4461208368e21137b115656c Reviewed-on: https://chromium-review.googlesource.com/824523Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#50090}
-
Sergiy Byelozyorov authored
R=majeski@google.com TBR=machenbach@chromium.org This is breaking some test runs, e.g. https://chromium-swarm.appspot.com/task?id=3a69c31ccb964d10&refresh=10&show_raw=1. Bug: v8:6917 Change-Id: I61c12eafdf12a1bee2bf08de75f26b0d44fd0056 Reviewed-on: https://chromium-review.googlesource.com/825122 Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#50089}
-
Ali Ijaz Sheikh authored
top_on_previous_step_ can only be valid when Allocation Observers are active. Add some assertions in the code to ensure this holds. Use AllocationObserversActive() more pervasively. Remove some code based on the established invariant. Bug: Change-Id: I7f0d4c4f617ed9fa05c6b94202a90953fbc33cfd Reviewed-on: https://chromium-review.googlesource.com/823576Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com> Cr-Commit-Position: refs/heads/master@{#50088}
-
Bill Budge authored
- Makes ArrayBufferAllocatorBase forward all operations to default ArrayBufferAllocator. - ShellArrayBufferAllocator uses VM for allocations over a threshold. Bug: chromium:793750,v8:7146 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I62d8f9281b744e987223a16fbb762bd77747bf39 Reviewed-on: https://chromium-review.googlesource.com/822764Reviewed-by: Eric Holk <eholk@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#50087}
-
Ulan Degenbaev authored
This ensures that MigrateFastToFast does not overflow the length of the property array. Bug: chromium:789393 Change-Id: I77adc319c1c8c469ea482bad35ead8661d535192 Reviewed-on: https://chromium-review.googlesource.com/824167 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#50086}
-
Sergiy Byelozyorov authored
TBR=sergiyb@chromium.org Bug: chromium:747960 Change-Id: I4b28456f7a2809065ef8581a2440b87161996332 Reviewed-on: https://chromium-review.googlesource.com/824169 Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#50085}
-
Benedikt Meurer authored
The k value passed to NumberAdd was outside the integer range, which meant it had to choose Double as the only valid representation. The other array builtins pass the result of CheckBounds here to specifically force the types into integer range, which allows the representation selection to pick Word32 instead of Float64 representation. Drive-by-fix: Pass kind to AccessBuilder::ForJSArrayLength() as well. Bug: chromium:791045, v8:1956 Change-Id: I357e1ba0dc52be544e631e4d554ab772b9b4c9bb Reviewed-on: https://chromium-review.googlesource.com/823968Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50084}
-
Sergiy Byelozyorov authored
TBR=machenbach@chromium.org No-Try: true Bug: chromium:747960 Change-Id: If7cb86066c7579a02b3cb56bb64084574fa4187d Reviewed-on: https://chromium-review.googlesource.com/824922 Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#50083}
-
Michael Starzinger authored
R=clemensh@chromium.org Change-Id: I80201b16c5d7a373ae5ff56bfafb46f4425bf997 Reviewed-on: https://chromium-review.googlesource.com/824243 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50082}
-
Igor Sheludko authored
The dispatcher is responsible for handling stores to lexical environment variables and for storing directly to the JSGlobalObject. In the latter case the dispatcher also ensures that JSGlobalProxy is provided as a receiver if a setter function has to be called. Unlike StoreIC the calling convention for the StoreGlobalIC does not include receiver. Bug: v8:7206, chromium:576312, v8:5561 Change-Id: Ifa896c7b41bf440785b757c2272ec91211e79c98 Reviewed-on: https://chromium-review.googlesource.com/818965 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#50081}
-
Ulan Degenbaev authored
Revision 5bc1d291 introduced a bug in the case when the filler is in the unmapped region, which leads to CHECK failure. Change-Id: I013e4386f6d5e9cdad22c11e1a7a9f1a088375ae Reviewed-on: https://chromium-review.googlesource.com/823845Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#50080}
-
Michal Majewski authored
Bug: v8:6917 Change-Id: I88fdb12c39311531600c0715fff5abe5da051295 Reviewed-on: https://chromium-review.googlesource.com/824271 Commit-Queue: Michał Majewski <majeski@google.com> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#50079}
-
Michal Majewski authored
Bug: v8:6917 Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I5ca840db75766413659cb96fd28b922712040cec Reviewed-on: https://chromium-review.googlesource.com/823843 Commit-Queue: Michał Majewski <majeski@google.com> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#50078}
-
Clemens Hammacher authored
So far we generated source positions and safepoint information, but we never actually attached it to the generated code objects. This CL adds that. R=titzer@chromium.org Bug: v8:6600, chromium:793694 Change-Id: I8f4c6d8752f4c31a1df51c4893c262ea5925f3b5 Reviewed-on: https://chromium-review.googlesource.com/824266Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50077}
-
Michal Majewski authored
- All testcase/testsuite/variant generator subclasses renamed to just TestCase/TestSuite/VariantGenerator since they're private implementation. - All `testcase` variables renamed to `test` to not conflict with a module name. - No more two statements in the same line. - Removed some unused testsuite methods. Bug: v8:6917 Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I7710f3419f738a5f9ddca73765dd2cad2e35b952 Reviewed-on: https://chromium-review.googlesource.com/823964Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michał Majewski <majeski@google.com> Cr-Commit-Position: refs/heads/master@{#50076}
-
Clemens Hammacher authored
The intel manual knows "short jumps", "near jumps" and "far jumps", where our Label::kNear corresponds to short jumps and Label::kFar corresponds to near jumps. Add some words to document this. R=mstarzinger@chromium.org Change-Id: I2b41cc770ee2c1fecff5e7363cede264ca3cd033 Reviewed-on: https://chromium-review.googlesource.com/824270Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50075}
-