1. 08 Dec, 2016 1 commit
    • Ilija.Pavlovic's avatar
      MIPS[64]: Fix `MIPS: Improve Float(32|64)(Max|Min)`. · e8f5adbe
      Ilija.Pavlovic authored
      Fix 7a6f294f.
      
      The first correction enables correct execution DoMathMinMax when two
      input registers are the same register.
      The second correction adds NOP instructions after branch instructions
      in tests macro_float_minmaxf(32|64).
      
      TEST=cctest/test-macro-assembler-mips[64]/macro_float_minmax_f32
           cctest/test-macro-assembler-mips[64]/macro_float_minmax_f64
           mjsunit/regress/math-min
      BUG=
      
      Review-Url: https://codereview.chromium.org/2556793003
      Cr-Commit-Position: refs/heads/master@{#41596}
      e8f5adbe
  2. 06 Dec, 2016 1 commit
  3. 29 Nov, 2016 1 commit
  4. 22 Nov, 2016 1 commit
  5. 31 Oct, 2016 1 commit
  6. 27 Oct, 2016 1 commit
    • ishell's avatar
      [ic] Remove unnecessary access rights checks from the IC handlers. · 8ba4af44
      ishell authored
      The reasons are:
      1) Type feedback vectors are not shared between different native contexts and
         therefore the IC handler created for one native context will not be reused
         in other native context.
      2) Access rights revocation is not supported at all, therefore given (1) once
         we pass the access check we don't have to check access rights again.
      
      BUG=v8:5561
      
      Review-Url: https://codereview.chromium.org/2455953002
      Cr-Commit-Position: refs/heads/master@{#40627}
      8ba4af44
  7. 20 Oct, 2016 2 commits
  8. 18 Oct, 2016 1 commit
  9. 17 Oct, 2016 1 commit
  10. 07 Oct, 2016 3 commits
  11. 30 Sep, 2016 1 commit
    • akos.palfi's avatar
      MIPS: Fix Sltu macro instruction. · cb1084a8
      akos.palfi authored
      Fixes the case when the 'imm' is in range [8000,ffff], as the specification
      says the 'imm' is sign-extended before the comparsion, so the effective range
      is [max_unsigned-7fff,max_unsigned].
      
      TEST=mjsunit/generated-transition-stub@3b8ad45e
      BUG=
      
      Review-Url: https://codereview.chromium.org/2386673002
      Cr-Commit-Position: refs/heads/master@{#39922}
      cb1084a8
  12. 20 Sep, 2016 1 commit
  13. 06 Sep, 2016 1 commit
    • mlippautz's avatar
      Move kMaxRegularHeapObjectSize into globals · 059b5643
      mlippautz authored
      This way we avoid the cyclic dependency between objects.h and heap.h and still
      have one definition. Add a static assert that this size is indeed smaller than
      the payload of a page.
      
      Follow ups can finally remove the dependency on spaces.h for all heap.h users.
      
      R=ulan@chromium.org,bmeurer@chromium.org,vogelheim@chromium.og
      
      Review-Url: https://codereview.chromium.org/2311203002
      Cr-Commit-Position: refs/heads/master@{#39206}
      059b5643
  14. 31 Aug, 2016 1 commit
  15. 30 Aug, 2016 1 commit
  16. 26 Aug, 2016 1 commit
    • Miran.Karic's avatar
      MIPS: Use neg instruction in r6 · c37f6f02
      Miran.Karic authored
      Floating point negate instructions are still present in release 6, only
      one format of neg is removed, NEG.PS. Others formats can be used and in
      r6 they also change the sign of NaN-like operands as well. This makes r6
      generated code simpler for Neg_d and Neg_s macroassembler functions.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2285703002
      Cr-Commit-Position: refs/heads/master@{#38943}
      c37f6f02
  17. 19 Aug, 2016 1 commit
  18. 16 Aug, 2016 1 commit
  19. 10 Aug, 2016 1 commit
    • marija.antic's avatar
      MIPS: Implement Bovc and Bnvc instruction macros. · 93809055
      marija.antic authored
      Implement Bovc and Bnvc instruction macros in macro assembler.
      
      The change 6f920d7d revealed an issue with AddBranchOvf for mips R6.
      All branching instructions other than BOVC and BNVC are handled by Branch macro, which assures
      correct handling of long and short branches. As a consequence, AddBranchOvf for R6 was working correctly
      only before trampoline was emitted, but the case of long branch was not handled at all. Implemented
      instruction macros enable proper handling of BOVC and BNVC in cases when long branching is needed.
      
      TEST=test/intl/general/case-mapping.js
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2225323002
      Cr-Commit-Position: refs/heads/master@{#38513}
      93809055
  20. 08 Aug, 2016 1 commit
  21. 21 Jul, 2016 1 commit
  22. 20 Jul, 2016 1 commit
  23. 19 Jul, 2016 2 commits
  24. 14 Jul, 2016 1 commit
  25. 08 Jul, 2016 2 commits
  26. 05 Jul, 2016 1 commit
    • Miran.Karic's avatar
      MIPS: [turbofan] Fix addition for deoptimization. · 99385e8e
      Miran.Karic authored
      In turbofan, after an addition operation where the same register is the
      output and both inputs, if deoptimization is performed the input is
      overwritten with the output value and the final result is not correct.
      This is fixed by restoring the original value of the input before
      deoptimization.
      
      BUG=
      TEST=mjsunit/regress/regress-int32-truncation
      
      Review-Url: https://codereview.chromium.org/2102063002
      Cr-Commit-Position: refs/heads/master@{#37524}
      99385e8e
  27. 30 Jun, 2016 1 commit
    • jgruber's avatar
      [builtins] New frame type for exits to C++ builtins · 5febc27b
      jgruber authored
      Prior to this commit, calls to C++ builtins created standard exit
      frames, which are skipped when constructing JS stack traces. In order to
      show these calls on traces, we introduce a new builtin exit frame type.
      
      Builtin exit frames contain target and new.target on the stack and are
      not skipped during stack trace construction.
      
      BUG=v8:4815
      R=bmeurer@chromium.org, yangguo@chromium.org
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel;tryserver.v8:v8_linux_nosnap_dbg
      
      Committed: https://crrev.com/3c60c6b105f39344f93a8407f41534e5e60cf19a
      Review-Url: https://codereview.chromium.org/2090723005
      Cr-Original-Commit-Position: refs/heads/master@{#37384}
      Cr-Commit-Position: refs/heads/master@{#37416}
      5febc27b
  28. 29 Jun, 2016 3 commits
  29. 28 Jun, 2016 1 commit
    • ahaas's avatar
      Reland [heap] Avoid the use of cells to point from code to new-space objects. · 5e058540
      ahaas authored
      The reason for reverting is: This breaks gc-stress bot:
      https://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot
      
      Abortion of compaction could cause duplicate entries in the typed-old-to-new remembered set. These duplicates could cause a DCHECK to trigger which checks that slots recorded in the remembered set never point to to-space. This reland-CL allows duplicates in the remembered set by removing the DCHECK, and additionally clears entries in the remembered set if objects are moved.
      
      Original issue's description:
      
      Cells were needed originally because there was no typed remembered set to
      record direct pointers from code space to new space. A previous
      CL (https://codereview.chromium.org/2003553002/) already introduced
      the remembered set, this CL uses it.
      
      This CL
      * stores direct pointers in code objects, even if the target is in new space,
      * records the slot of the pointer in typed-old-to-new remembered set,
      * adds a list which stores weak code-to-new-space references,
      * adds a test to test-heap.cc for weak code-to-new-space references,
      * removes prints in tail-call-megatest.js
      
      Review-Url: https://codereview.chromium.org/2097023002
      Cr-Commit-Position: refs/heads/master@{#37325}
      5e058540
  30. 27 Jun, 2016 2 commits
  31. 23 Jun, 2016 2 commits
    • vogelheim's avatar
      Revert of Reland [heap] Avoid the use of cells to point from code to new-space... · 25d59e9d
      vogelheim authored
      Revert of Reland [heap] Avoid the use of cells to point from code to new-space objects. (patchset #3 id:40001 of https://codereview.chromium.org/2091733002/ )
      
      Reason for revert:
      This breaks gc-stress bot: https://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot
      
      #
      # Fatal error in ../../src/heap/mark-compact.cc, line 3715
      # Check failed: Page::FromAddress(reinterpret_cast<HeapObject*>(*slot)->address()) ->IsFlagSet(Page::PAGE_NEW_NEW_PROMOTION).
      #
      
      I can reproduce locally, and local revert also fixes it -> revert.
      
      Reproduce with:
       out/Debug/d8 --test --random-seed=2140216864 --nohard-abort --nodead-code-elimination --nofold-constants --enable-slow-asserts --debug-code --verify-heap --allow-natives-syntax --harmony-tailcalls test/mjsunit/mjsunit.js  test/mjsunit/es6/tail-call-megatest-shard2.js --gc-interval=500 --stress-compaction --concurrent-recompilation-queue-length=64 --concurrent-recompilation-delay=500 --concurrent-recompilation
      
      (Maybe run in loop; it's flaky when broken; but passes reliably w/ revert.)
      
      Original issue's description:
      > Reland [heap] Avoid the use of cells to point from code to new-space objects.
      >
      > The reason for reverting was: [Sheriff] Breaks arm debug:
      > https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm%20-%20sim%20-%20debug/builds/1038.
      >
      > The problem was the dereferencing of handles for smi checks. It turned out
      > that these smi checks can be removed anyways, both on arm and on mips.
      >
      > Additionally some rebasing was necessary.
      >
      > Original issue's description:
      >
      > Cells were needed originally because there was no typed remembered set to
      > record direct pointers from code space to new space. A previous
      > CL (https://codereview.chromium.org/2003553002/) already introduced
      > the remembered set, this CL uses it.
      >
      > This CL
      > * stores direct pointers in code objects, even if the target is in new space,
      > * records the slot of the pointer in typed-old-to-new remembered set,
      > * adds a list which stores weak code-to-new-space references,
      > * adds a test to test-heap.cc for weak code-to-new-space references,
      > * removes prints in tail-call-megatest.js
      >
      > R=mlippautz@chromium.org
      >
      > Committed: https://crrev.com/5508e16592522658587da71ba6743c8e832fe4d1
      > Cr-Commit-Position: refs/heads/master@{#37217}
      
      TBR=mlippautz@chromium.org,ahaas@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      
      Review-Url: https://codereview.chromium.org/2090983002
      Cr-Commit-Position: refs/heads/master@{#37221}
      25d59e9d
    • ahaas's avatar
      Reland [heap] Avoid the use of cells to point from code to new-space objects. · 5508e165
      ahaas authored
      The reason for reverting was: [Sheriff] Breaks arm debug:
      https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm%20-%20sim%20-%20debug/builds/1038.
      
      The problem was the dereferencing of handles for smi checks. It turned out
      that these smi checks can be removed anyways, both on arm and on mips.
      
      Additionally some rebasing was necessary.
      
      Original issue's description:
      
      Cells were needed originally because there was no typed remembered set to
      record direct pointers from code space to new space. A previous
      CL (https://codereview.chromium.org/2003553002/) already introduced
      the remembered set, this CL uses it.
      
      This CL
      * stores direct pointers in code objects, even if the target is in new space,
      * records the slot of the pointer in typed-old-to-new remembered set,
      * adds a list which stores weak code-to-new-space references,
      * adds a test to test-heap.cc for weak code-to-new-space references,
      * removes prints in tail-call-megatest.js
      
      R=mlippautz@chromium.org
      
      Review-Url: https://codereview.chromium.org/2091733002
      Cr-Commit-Position: refs/heads/master@{#37217}
      5508e165