- 22 Mar, 2017 21 commits
-
-
Mythri authored
Some of the StrictEquality comparisons do not require feedback (for ex: in try-finally, generators). This cl introduces StrictEqualityNoFeedback bytecode to be used in such cases. With this change, we no longer have to check if the type feedback slot is valid in compare bytecode handlers. This is the first step in reworking the compare bytecode handler to avoid duplicate checks when collecting feedback and when performing the operation. BUG=v8:4280 Change-Id: Ia650fd43c0466b8625d3ce98c39ed1073ba42a6b Reviewed-on: https://chromium-review.googlesource.com/455778 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#44020}
-
Ilija.Pavlovic authored
Port for https://codereview.chromium.org/2737493002 TEST=cctest/test-run-machops/Regression6046b BUG= Review-Url: https://codereview.chromium.org/2762993002 Cr-Commit-Position: refs/heads/master@{#44019}
-
Peter Marshall authored
Deletes unused crankshaft implementation and C++ implementation, which have been replaced by a CSA implementation. BUG=v8:5977 Change-Id: I3614561e45db48583ee886461f98abb14cd9cc4f Reviewed-on: https://chromium-review.googlesource.com/458418 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#44018}
-
cwhan.tunz authored
Review-Url: https://codereview.chromium.org/2760313002 Cr-Commit-Position: refs/heads/master@{#44017}
-
Michael Lippautz authored
... when we run without code flushing. BUG= Change-Id: I956c53732598d805581388453010238c029fc3ba Reviewed-on: https://chromium-review.googlesource.com/458199Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#44016}
-
yangguo authored
R=leszeks@chromium.org BUG=chromium:633159 Review-Url: https://codereview.chromium.org/2767903002 Cr-Commit-Position: refs/heads/master@{#44015}
-
franzih authored
Handle fall-off returns and returns inside try blocks. Store the type-profile feedback slot on the FunctionLiteral rather than on every return statement. Next steps: * Store entries in nexus that can be identified as 'return' (rather than parameter or assignment) * Collect types for parameters and assignments * Distinguish multiple parameters and assignments correctly R=mstarzinger@chromium.org BUG=v8:5935 Review-Url: https://codereview.chromium.org/2764113002 Cr-Commit-Position: refs/heads/master@{#44014}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/4ae7d8e..a53333d Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/84775f4..8cbbd7f TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Change-Id: Ie5c7d77f1d80e775637d7a590b1fb6dceabe435e Reviewed-on: https://chromium-review.googlesource.com/458077Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#44013}
-
Clemens Hammacher authored
The old method always returned a Handle<Object>, requiring an explicit cast in the caller. This CL makes it return Handle<T> if called with a T* as parameter. Also, remove now redundant casts from callers. R=bmeurer@chromium.org Change-Id: I13cfb2f2e812e8582a9a1d9d6c8a5a24f40d0e79 Reviewed-on: https://chromium-review.googlesource.com/458376Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#44012}
-
Igor Sheludko authored
Third bulk of changes. BUG=v8:6116 Change-Id: I26f5c03a44e55a998e71160a42f6e2c1509f41c7 Reviewed-on: https://chromium-review.googlesource.com/458197Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#44011}
-
daniel.bevenius authored
Currently there are a number of comment in src/v8.h which look like this: TODO(dcarney): mark V8_WARN_UNUSED_RESULT. This commit attempts to remove these comments and add the V8_WARN_UNUSED_RESULT macro to the methods in question. BUG= Review-Url: https://codereview.chromium.org/2135973002 Cr-Commit-Position: refs/heads/master@{#44010}
-
franzih authored
Add a test case as reminder for future work. There is no return statement, therefore 'undefined' should be the type. R=mstarzinger@chromium.org BUG=v8:5935 Review-Url: https://codereview.chromium.org/2768503002 Cr-Commit-Position: refs/heads/master@{#44009}
-
Michael Starzinger authored
This fixes a corner case where the "instance prototype" diverges from the "non-instance prototype" that we store on the initial map of a constructor function. R=bmeurer@chromium.org TEST=mjsunit/regress/regress-crbug-703610 BUG=chromium:703610 Change-Id: I30a19ae621e10b512215ffb191ce00d030941440 Reviewed-on: https://chromium-review.googlesource.com/458396Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#44008}
-
Peter Marshall authored
The regex was slightly off, meaning the results would not display properly. Change-Id: Ie3b2bf54a50bffde9b64663d7b8b8c0ad39a1212 Reviewed-on: https://chromium-review.googlesource.com/458416Reviewed-by: Franziska Hinkelmann <franzih@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#44007}
-
franzih authored
Add a test case as reminder for future work. The return statement is in a try finally and is never used when returning. The type should not be collected. R=mstarzinger@chromium.org BUG=v8:5935 Review-Url: https://codereview.chromium.org/2765863002 Cr-Commit-Position: refs/heads/master@{#44006}
-
Toon Verwaest authored
BUG=v8:5561 Change-Id: Ibc64f2a42089b40a605313a5f24b1da85722fde8 Reviewed-on: https://chromium-review.googlesource.com/457370 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#44005}
-
jgruber authored
For instance, /\b\b\b\B\B\B/ is folded into the equivalent /\b\B/. BUG=v8:6126 Review-Url: https://codereview.chromium.org/2768443003 Cr-Commit-Position: refs/heads/master@{#44004}
-
mvstanton authored
TBR=machenbach@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://codereview.chromium.org/2770623002 Cr-Commit-Position: refs/heads/master@{#44003}
-
bmeurer authored
BUG= Review-Url: https://codereview.chromium.org/2758503002 Cr-Original-Commit-Position: refs/heads/master@{#43861} Committed: https://chromium.googlesource.com/v8/v8/+/b880309bc7f2c4be67f12bac04249f09b0fdd66d Review-Url: https://codereview.chromium.org/2758503002 Cr-Commit-Position: refs/heads/master@{#44002}
-
Michael Achenbach authored
BUG=v8:5193,v8:6113,v8:6132,v8:6133 TBR=hablich@chromium.org NOTRY=true Change-Id: I2293a6978006e3b00cfd6a438ba81be23df2620d Reviewed-on: https://chromium-review.googlesource.com/457997Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#44001}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/9e7f0b1..4ae7d8e Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/d233eb2..84775f4 Rolling v8/third_party/instrumented_libraries: https://chromium.googlesource.com/chromium/src/third_party/instrumented_libraries/+log/6227538..48dcb2c TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Change-Id: I3e089e5c54ca79e8f1ee53b359588caf7b659299 Reviewed-on: https://chromium-review.googlesource.com/457877Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#44000}
-
- 21 Mar, 2017 19 commits
-
-
bjaideep authored
ip gets modified when FrameAndConstantPoolScope scope ends. Using another register to store the start of the returned instr. R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2765713003 Cr-Commit-Position: refs/heads/master@{#43999}
-
jyan authored
R=joransiu@ca.ibm.com, bjaideep@ca.ibm.com, michael_dawson@ca.ibm.com Review-Url: https://codereview.chromium.org/2761953002 Cr-Commit-Position: refs/heads/master@{#43998}
-
jshin authored
BUG=None Test=None Review-Url: https://codereview.chromium.org/2744703002 Cr-Commit-Position: refs/heads/master@{#43997}
-
jbroman authored
This saves 72 KiB (approximately 0.1%) of the Chrome APK size of for ARM/Android. In Counters, each similar group of counters generates a compact data structure, which a loop then iterates over, rather than having the full loop unrolled (though the compiler will automatically unroll small ones). In RuntimeCallStats, the compiler was not being clever enough to avoid initializing count_ and time_ to zero individually, even after the initialization of names was moved into a loop. As a result, RuntimeCallCounter was modified to have a non-initializing constructor for exclusive use by RuntimeCallStats, which explicitly initializes the counters in a loop. Since v8::base::TimeDelta does not support an uninitialized state, time_ was changed to be stored as int64_t microseconds internally, which generates the same code (it's the same representation as TimeDelta). BUG=v8:6119 Review-Url: https://codereview.chromium.org/2759033002 Cr-Commit-Position: refs/heads/master@{#43996}
-
Igor Sheludko authored
Second bulk of changes. BUG=v8:6116 Change-Id: I6297c4e3e1c0230a96dc6197691a54c07cc61c88 Reviewed-on: https://chromium-review.googlesource.com/457320 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#43995}
-
mtrofin authored
Reland of [wasm] Transferrable modules (patchset #1 id:1 of https://codereview.chromium.org/2762163002/ ) Reason for revert: Temporarily disabled tests on chromium side (https://codereview.chromium.org/2764933002) Original issue's description: > Revert of [wasm] Transferrable modules (patchset #13 id:280001 of https://codereview.chromium.org/2748473004/ ) > > Reason for revert: > Breaks layout tests: > https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/14312 > > See https://github.com/v8/v8/wiki/Blink-layout-tests > > Original issue's description: > > [wasm] Transferrable modules > > > > We want to restrict structured cloning in Chrome to: > > - postMessage senders and receivers that are co-located > > in the same process > > - indexedDB (just https). > > > > For context, on the Chrome side, we will achieve the postMessage part > > by using a mechanism similar to transferrables: the > > SerializedScriptValue will have a list of wasm modules, separate from > > the serialized data stream; and this list won't be copied cross > > process boundaries. The IDB part is achieved by explicitly opting in > > reading/writing to the serialization stream. To block attack vectors > > in IPC cases, the default for deserialization will be to expect data > > in the wasm transfers list. > > > > This change is the V8 side necessary to enabling this design. We > > introduce TransferrableModule, an opaque datatype exposed to the > > embedder. Internally, TransferrableModules are just serialized data, > > because we don't have a better mechanism, at the moment, for > > de-contextualizing/re-contextualizing wasm modules (wrt Isolate and > > Context). > > > > The chrome defaults will be implemented in the > > serialization/deserialization delegates on that side. For the v8 side > > of things, in the absence of a serialization delegate, the V8 > > serializer will write to serialization stream. In the absence of a > > deserialization delegate, the deserializer won't work. This asymmetry > > is intentional - it communicates to the embedder the need to make a > > policy decision, otherwise wasm serialization/deserialization won't > > work "out of the box". > > > > BUG=v8:6079 > > > > Review-Url: https://codereview.chromium.org/2748473004 > > Cr-Commit-Position: refs/heads/master@{#43955} > > Committed: https://chromium.googlesource.com/v8/v8/+/99743ad460ea5b9795ba9d70a074e75d7362a3d1 > > TBR=jbroman@chromium.org,bradnelson@chromium.org,mtrofin@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=v8:6079 > > Review-Url: https://codereview.chromium.org/2762163002 > Cr-Commit-Position: refs/heads/master@{#43981} > Committed: https://chromium.googlesource.com/v8/v8/+/e538b70e1a45289dfe0fa9789563f023a5e9c22b TBR=jbroman@chromium.org,bradnelson@chromium.org,machenbach@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:6079 Review-Url: https://codereview.chromium.org/2762273002 Cr-Commit-Position: refs/heads/master@{#43994}
-
jarin authored
Review-Url: https://codereview.chromium.org/2766783002 Cr-Commit-Position: refs/heads/master@{#43993}
-
Toon Verwaest authored
The problem was that transitioning element stores had a similar shape to the new StoreGlobal case. The problem was fixed by https://chromium-review.googlesource.com/c/457341/ BUG=v8:5561 Change-Id: If996e9b37809ba8edf6dcb228b116b77021ce7bc Reviewed-on: https://chromium-review.googlesource.com/457324Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#43992}
-
Toon Verwaest authored
BUG=v8:5561 Change-Id: I26330670c526390c05e652b3862f0ef7244f7b19 Reviewed-on: https://chromium-review.googlesource.com/456288 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#43991}
-
bbudge authored
- Adds a FinishCode method to CodeGenerator, and implements it for all platforms. ARM and ARM64 flush constants, all other platforms do nothing. - Remove old static free function. LOG=N BUG=none Review-Url: https://codereview.chromium.org/2748383004 Cr-Commit-Position: refs/heads/master@{#43990}
-
Toon Verwaest authored
This is just a very minor cleanup avoiding unnecessary slow stub usage. BUG=v8:5561 Change-Id: Ib145606520b5b7019f1e55d3aec7caa956c7e090 Reviewed-on: https://chromium-review.googlesource.com/457337Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#43989}
-
rayb authored
On S390, GCC seems to treat size_t as 'long_unsigned_int'. Which conflicts with the %d format specifier since that expects an 'int'. So changing the macro to PRIuS. This seems to fix the issue while retaining the expected behaviour for all other systems. R=mlippautz@chromium.org, hpayer@chromium.org BUG=none Review-Url: https://codereview.chromium.org/2759963003 Cr-Commit-Position: refs/heads/master@{#43988}
-
danno authored
BUG=v8:1956 Review-Url: https://codereview.chromium.org/2752273003 Cr-Commit-Position: refs/heads/master@{#43987}
-
bmeurer authored
BUG=v8:5267 R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2762143002 Cr-Commit-Position: refs/heads/master@{#43986}
-
Toon Verwaest authored
BUG=v8:5561 Change-Id: If8f166860b4d4f9f25b15badfda531cbef49db16 Reviewed-on: https://chromium-review.googlesource.com/457341Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#43985}
-
Marja Hölttä authored
Rebase of https://chromium-review.googlesource.com/446336 was broken. Didn't fail any tests because the feature is behind a flag. BUG= Change-Id: I6009bfac27aa896e20446f002f5db707aab7e34c Reviewed-on: https://chromium-review.googlesource.com/457040 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Cr-Commit-Position: refs/heads/master@{#43984}
-
Michael Achenbach authored
BUG=chromium:628617 NOTRY=true Change-Id: I55923fec5ee34feea85dcc281b00f3d5d22283c5 Reviewed-on: https://chromium-review.googlesource.com/456710Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#43983}
-
Igor Sheludko authored
Inspired by bsuite/compare-baseline.py and tools/perf-to-html.py. The main difference from the latter is that the new script does not require json files preprocessing and it is able to compare multiple json files at once (just like bsuite/compare-baseline.py). This CL also makes tools/run_perf.py relative path friendly. BUG= Change-Id: I7be796fa920f8360703806f32767b992eec0f9c2 Reviewed-on: https://chromium-review.googlesource.com/456286Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#43982}
-
machenbach authored
Revert of [wasm] Transferrable modules (patchset #13 id:280001 of https://codereview.chromium.org/2748473004/ ) Reason for revert: Breaks layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/14312 See https://github.com/v8/v8/wiki/Blink-layout-tests Original issue's description: > [wasm] Transferrable modules > > We want to restrict structured cloning in Chrome to: > - postMessage senders and receivers that are co-located > in the same process > - indexedDB (just https). > > For context, on the Chrome side, we will achieve the postMessage part > by using a mechanism similar to transferrables: the > SerializedScriptValue will have a list of wasm modules, separate from > the serialized data stream; and this list won't be copied cross > process boundaries. The IDB part is achieved by explicitly opting in > reading/writing to the serialization stream. To block attack vectors > in IPC cases, the default for deserialization will be to expect data > in the wasm transfers list. > > This change is the V8 side necessary to enabling this design. We > introduce TransferrableModule, an opaque datatype exposed to the > embedder. Internally, TransferrableModules are just serialized data, > because we don't have a better mechanism, at the moment, for > de-contextualizing/re-contextualizing wasm modules (wrt Isolate and > Context). > > The chrome defaults will be implemented in the > serialization/deserialization delegates on that side. For the v8 side > of things, in the absence of a serialization delegate, the V8 > serializer will write to serialization stream. In the absence of a > deserialization delegate, the deserializer won't work. This asymmetry > is intentional - it communicates to the embedder the need to make a > policy decision, otherwise wasm serialization/deserialization won't > work "out of the box". > > BUG=v8:6079 > > Review-Url: https://codereview.chromium.org/2748473004 > Cr-Commit-Position: refs/heads/master@{#43955} > Committed: https://chromium.googlesource.com/v8/v8/+/99743ad460ea5b9795ba9d70a074e75d7362a3d1 TBR=jbroman@chromium.org,bradnelson@chromium.org,mtrofin@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:6079 Review-Url: https://codereview.chromium.org/2762163002 Cr-Commit-Position: refs/heads/master@{#43981}
-