- 13 Sep, 2017 19 commits
-
-
Jakob Kummerow authored
Bug: v8:6791 Change-Id: I2da258f7db6c74d764c674eb8d550418a566c5ea Reviewed-on: https://chromium-review.googlesource.com/662138 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#48002}
-
Karl Schimpf authored
Extends the current implementation of WASM exceptions to be able to throw exceptions with values (not just tags). An JS typed array (uint_16) is used to hold thrown values, so that the thrown values can be inspected in JS. Bug: v8:6577 Change-Id: I1007e79ceaffd64386b62562919cfbb920fc10c5 Reviewed-on: https://chromium-review.googlesource.com/633866 Commit-Queue: Karl Schimpf <kschimpf@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Eric Holk <eholk@chromium.org> Cr-Commit-Position: refs/heads/master@{#48001}
-
Anisha Rohra authored
Fix 0b491c89 R=bjaideep@ca.ibm.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I7d05371844ddb0b5a165a61bc901346f85fcb631 Reviewed-on: https://chromium-review.googlesource.com/665477Reviewed-by: Jaideep Bajwa <bjaideep@ca.ibm.com> Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#48000}
-
Camillo Bruni authored
Change-Id: I5cd16774e3e66ff33580e9ed958d4adc57663210 Reviewed-on: https://chromium-review.googlesource.com/664705Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#47999}
-
Toon Verwaest authored
Bug: Change-Id: I91b08ad6d95e60f84cb083b444bf0eb2fff10e27 Reviewed-on: https://chromium-review.googlesource.com/663864Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#47998}
-
Mythri authored
SetForceInlineFlag is now only used in tests. Earlier, it was also used in js builtins, because unless this flag was specified the js builtins were not inlined. All the performance critical js builtins are moved to turbofan builtins and SetForceInlineFlag is no longer used. We would like to remove this flag completely to simplify inlining heuristics. Also, this uses a bit on the SharedFuntionInfo. Bug: v8:6682 Change-Id: I19afd27381afc212f29179f2c5477095c8174f39 Reviewed-on: https://chromium-review.googlesource.com/660739 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47997}
-
Ross McIlroy authored
Moves ast printing out of codegen.cc and into interpreter.cc since this is the only place which calls it. BUG=v8:6409 Change-Id: I7b730f6b4da76247f57e3cb4fa7895e638ea0517 Reviewed-on: https://chromium-review.googlesource.com/664888 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#47996}
-
Adam Klein authored
For the HeapNumber case, use Float64Neg directly instead of a Float64Mul by -1.0. For the Smi case, logic is added to handle the boundary conditions (0 and Smi::kMinValue), and the general case is handled by a SmiSub from 0. Change-Id: I110916d9d1eb5d22d618fbf358d8d5b63cc71b3a Reviewed-on: https://chromium-review.googlesource.com/663945Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#47995}
-
Adam Klein authored
In the years since https://codereview.chromium.org/1331993004, a lot has changed in v8: Math.max/min are now CSA builtins, with lowerings in TF. In a quick test on my machine of the microbenchmark on that CL (modified with start and end values), I don't detect any difference in speed between the macro versions on master and this version. Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I82d9d14c043fd2a112050cdbcb98a872bfb87b61 Reviewed-on: https://chromium-review.googlesource.com/664339Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#47994}
-
Ross McIlroy authored
BUG=v8:6409 Change-Id: I9e06388c683e283a1922fb436dceb244f5093042 Reviewed-on: https://chromium-review.googlesource.com/664857Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47993}
-
Jaroslav Sevcik authored
We introduce an explicit LoweringResult data structure. Until this change, the lowering result could be recovered from the node. However, lowering monomorphic loads requires wiring different value and effect, so we need a structure that can express such lowering result. Bug: v8:6357 Change-Id: I92655800890b744d9203a778a1936a8dcd465ed3 Reviewed-on: https://chromium-review.googlesource.com/637304 Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47992}
-
Michael Starzinger authored
R=clemensh@chromium.org Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I3df5d50f81909188ee0cb31d0f479aadeeabe20f Reviewed-on: https://chromium-review.googlesource.com/662780Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47991}
-
Maya Lekova authored
Bug: v8:6557 Change-Id: Ia858c87a602a37e70d9df61c7225eda10e566258 Reviewed-on: https://chromium-review.googlesource.com/663727Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Maya Lekova <mslekova@google.com> Cr-Commit-Position: refs/heads/master@{#47990}
-
Franziska Hinkelmann authored
Bug: Change-Id: I32faae50c786b67599a68840baad478ce81c1398 Reviewed-on: https://chromium-review.googlesource.com/663544Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Franziska Hinkelmann <franzih@chromium.org> Cr-Commit-Position: refs/heads/master@{#47989}
-
Mythri authored
We reset the profiler ticks when the feedback changes. So, we should not update the feedback when the feedback hasn't changed. Added a check in IC::ConfigureVectorState to see if the feedback has changed before we update the feedback. Bug: Change-Id: I83f38656b52df7f687cd0c2eceac961dcd4f35f7 Reviewed-on: https://chromium-review.googlesource.com/657698 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#47988}
-
Jakob Gruber authored
Bug: v8:6624 Change-Id: I98e055936a556ee607e286354dfa40a28b249dd9 Reviewed-on: https://chromium-review.googlesource.com/663542Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#47987}
-
Mostyn Bramley-Moore authored
* Inline src/runtime/runtime-typedarray.cc's TypedArrayCopyElements to avoid clash with src/builtins/builtins-typedarray.cc * #undef V after its last use in src/asmjs/asm-scanner.cc * Convince clang that it's ok that frame_content_ is never used in src/deoptimizer.h Bug: chromium:746958 Change-Id: Ibef589b66384d982a8463c3f05b9db9c4fd92ce0 Reviewed-on: https://chromium-review.googlesource.com/663858Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Mostyn Bramley-Moore <mostynb@opera.com> Cr-Commit-Position: refs/heads/master@{#47986}
-
Benedikt Meurer authored
The Object.keys builtin didn't properly check for empty_slow_elements_dictionary in addition to empty_fixed_array, which made it miss the fast-path if you used it in combination with like Object.freeze or Object.seal. This adds the missing fast-path support. Bug: v8:6767 Change-Id: I48e43b2ee51eb2d48446c45748401af096020bb7 Reviewed-on: https://chromium-review.googlesource.com/663539Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47985}
-
Jaideep Bajwa authored
WasmGraphBuilder::StoreMem is called with the last argument as default with machine rep = kNode, which causes BuildChangeEndiannessStore(val, memtype, type) to fail. Originally added this fix in https://chromium-review.googlesource.com/633755 which got removed in this refactor https://chromium-review.googlesource.com/640591 R=clemensh@chromium.org, titzer@chromium.org, binji@chromium.org, jyan@ca.ibm.com BUG= LOG=N Change-Id: I441e9b67517a31df780b35d2403c688d667b6789 Reviewed-on: https://chromium-review.googlesource.com/661097Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#47984}
-
- 12 Sep, 2017 21 commits
-
-
Andreas Haas authored
We assume that at this point the platform always exists. If this assumption fails we have to reconsider how we call foreground tasks from background tasks. R=clemensh@chromium.org Bug: chromium:764313 Change-Id: Ic2e61adc138cdf969f5b0bdf7702e839df5846b9 Reviewed-on: https://chromium-review.googlesource.com/663717Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#47983}
-
Alexey Kozyatinskiy authored
Before we used to require compiled debugger script to report Scopes. After migration inspection to brand-new native API we can report Scopes all the time and remove this hidden dependency. R=dgozman@chromium.org Bug: none Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I3530bc7ead691a51073e384aea4a4ef428dc94da Reviewed-on: https://chromium-review.googlesource.com/662097 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#47982}
-
Alexey Kozyatinskiy authored
Some API functions have no context and debug::ScopeIterator:: CreateForFunction is crashing on attempt to get context. R=jgruber@chromium.org Bug: chromium:759913 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I0a9861ea2d19bceff97c4394b34a8dda45222b78 Reviewed-on: https://chromium-review.googlesource.com/661789 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#47981}
-
Adam Klein authored
This continues to move the "desugaring" of unary operators further down the pipeline, in this case into the bytecode handlers for new bytecodes `Negate` and `BitwiseNot` and the corresponding TF code in BytecodeGraphBuilder. Bug: v8:6971 Tbr: yangguo@chromium.org Change-Id: If6b5d6b239a09ef8b4dbde49321614503c0f5beb Reviewed-on: https://chromium-review.googlesource.com/661146 Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47980}
-
Jakob Kummerow authored
Saving some binary size. Change-Id: I73765b855310e8152f3c66d2f668efeb2e5c36ce Reviewed-on: https://chromium-review.googlesource.com/661578Reviewed-by: Franziska Hinkelmann <franzih@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#47979}
-
Maya Lekova authored
Bug: chromium:763683, v8:6560 Change-Id: I0769a8a2280a08fe0c768b6330d15cfbb1500f6b Reviewed-on: https://chromium-review.googlesource.com/663218Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#47978}
-
Josh Wolfe authored
R=littledan@chromium.org, adamk@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux_noi18n_rel_ng Bug: v8:5244 Change-Id: Ib1ca48a843f017c6dcea430af08afbc170c9650d Reviewed-on: https://chromium-review.googlesource.com/661889Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Josh Wolfe <jwolfe@igalia.com> Cr-Commit-Position: refs/heads/master@{#47977}
-
Adam Klein authored
As part of that change, make ToNumber return in the accumulator. Bug: v8:6791 Change-Id: I8ce0f4fbc7ad8ee7fb4a32a8a499394395010750 Reviewed-on: https://chromium-review.googlesource.com/658082Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#47976}
-
Martyn Capewell authored
Merge some stack operations to work on an even number of registers, adding a padding register where necessary. Some lightly-used macro assembler functions are inlined, to make pairing registers easier. Not all merges create an even number of register arguments yet. This is a step towards aligning the stack pointer to 16-bytes. Bug: v8:6644 Change-Id: I995510cf91fa1f7af659a8d9b83acf7857787100 Reviewed-on: https://chromium-review.googlesource.com/654607 Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47975}
-
Benedikt Meurer authored
During JSTypedLowering, when we see a JSAdd where we know that at least one side is already a String, we can try to strength-reduce the other side to a string as well. And once we have that, check whether both sides are now String constants, and if the concatenation won't overflow the string length limit, we can just constant-fold the StringAdd. This improves the Six Speed template_string benchmarks by up to 5x, as we no longer need to perform the String concatenations on every loop iteration. Bug: v8:6815 Change-Id: I8c47b2adf66b585d2f191cf805604b435f6256cd Also-By: jarin@chromium.org Reviewed-on: https://chromium-review.googlesource.com/663181 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#47974}
-
Andreas Rossberg authored
As per spec. R=ahaas@chromium.org Change-Id: I46d4bdd444452fef05c234688c27aad8d086bf61 Reviewed-on: https://chromium-review.googlesource.com/663457Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Andreas Rossberg <rossberg@chromium.org> Cr-Commit-Position: refs/heads/master@{#47973}
-
Benedikt Meurer authored
So far we didn't properly constant-fold JSToString operators in JSTypedLowering where the input was a known number constant. Bug: v8:6815 Change-Id: Iac87346b7d38f0f75461f285ea7daa2d5a5e1524 Reviewed-on: https://chromium-review.googlesource.com/663358Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47972}
-
Mostyn Bramley-Moore authored
Linux builds have an include chain from src/perf-jit.cc: sys/mman.h -> bits/mman.h -> bits/mman-linux.h, which defines a MAP_TYPE macro that conflicts with InstanceType::MAP_TYPE in jumbo builds, for some jumbo_file_merge_limit values. Since MAP_TYPE isn't used in perf-jit.cc, it should be safe to #undef the macro immediately after the sys/mman.h #include statement. Bug: chromium:746958 Change-Id: I1339a4f56cf6783bf6121cd44c93e776af9458ba Reviewed-on: https://chromium-review.googlesource.com/654042Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Mostyn Bramley-Moore <mostynb@opera.com> Cr-Commit-Position: refs/heads/master@{#47971}
-
Clemens Hammacher authored
This further reduces the amount of test-specific code. It will also help testing the wasm baseline compiler, since it is also being called from the {WasmCompilationUnit}. Also, move the {RuntimeExceptionSupport} flag from the {WasmFunctionCompiler} to the {TestingModuleBuilder}. There is no need to store this per function builder. The {TestingModuleBuilder} then passes it on to the {WasmCompilationUnit}, which finally sets it on the {WasmGraphBuilder}. R=mtrofin@chromium.org Bug: v8:6600 Change-Id: I783dc296297a5ca37a2dd0d2035d782ca19a0fee Reviewed-on: https://chromium-review.googlesource.com/660239 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#47970}
-
Clemens Hammacher authored
We were using a boolean before, which makes the meaning non-obvious when passed as a parameter. With the enum, you actually have to use {kRuntimeExceptionSupport} or {kNoRuntimeExceptionSupport}. R=mtrofin@chromium.org Change-Id: Iaf5a7b6f1b446d4c3e16e044a6055d923d3b0b49 Reviewed-on: https://chromium-review.googlesource.com/660738 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#47969}
-
pan.deng@intel.com authored
Contributed by kanghua.yu@intel.com. Bug: None Change-Id: I5651ef38eb0c08deb97770a5eaa985dba2dab9a9 Reviewed-on: https://chromium-review.googlesource.com/604648Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Pan Deng <pan.deng@intel.com> Cr-Commit-Position: refs/heads/master@{#47968}
-
Ivica Bogosavljevic authored
Bug: Change-Id: Ifb4d3c8d085ebaf0eaed2c4648871488d94a6997 Reviewed-on: https://chromium-review.googlesource.com/662782Reviewed-by: Miran Karić <Miran.Karic@imgtec.com> Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@imgtec.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@imgtec.com> Cr-Commit-Position: refs/heads/master@{#47967}
-
Camillo Bruni authored
Bug: v8:6211 Change-Id: If61c91e65abf0201651b894e348a7b342c5d0968 Reviewed-on: https://chromium-review.googlesource.com/654662Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#47966}
-
Clemens Hammacher authored
R=ahaas@chromium.org Change-Id: I9b8a00061fe202b8c18426626b496c15455c8b7f Reviewed-on: https://chromium-review.googlesource.com/660280Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#47965}
-
Clemens Hammacher authored
Instead of four different constructors, we actually just need one. You either pass a Counters*, or we will get it from the isolate (which is only allowed to happen on the main thread). This change makes refactoring this data structure for the baseline compiler much easier. R=mtrofin@chromium.org CC=kschimpf@chromium.org Bug: v8:6600 Change-Id: I56fb47005861dd4a203373776901930a02e09deb Reviewed-on: https://chromium-review.googlesource.com/657979Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#47964}
-
Benedikt Meurer authored
When accessing elements of a global (constant) JSArray, whose backing store is copy-on-write, we can just constant-fold the value and insert a check that the backing store stays the same. Bug: v8:6816, v8:6815 Change-Id: I090bcec7b1ce72a1f9ed8625680ed91e8c67f27f Reviewed-on: https://chromium-review.googlesource.com/662757Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47963}
-