1. 22 Jul, 2016 1 commit
    • yangguo's avatar
      [debug] use catch prediction flag for promise rejections. · 6d0a4202
      yangguo authored
      This is in preparation to implementing exception prediction for async
      functions.  Each handler table entry can now predict "caught", "uncaught", or
      "promise". The latter indicates that the exception will lead to a promise
      rejection.
      
      To mark the relevant try-catch blocks, we add a new native syntax.
      try { } %catch (e) { } indicates a TryCatchStatement with the "promise"
      prediction.
      
      The previous implementation of using the function to tell the relevant
      try-catch apart from inner try-catch blocks will not work for async functions
      since these can have inner try-catch blocks inside the same function.
      
      BUG=v8:5167
      
      Review-Url: https://codereview.chromium.org/2161263003
      Cr-Commit-Position: refs/heads/master@{#37966}
      6d0a4202
  2. 26 Nov, 2015 1 commit
  3. 25 Nov, 2015 2 commits
  4. 15 Oct, 2015 1 commit
  5. 25 Mar, 2015 1 commit
    • mstarzinger's avatar
      Switch full-codegen from StackHandlers to handler table. · 38a719f9
      mstarzinger authored
      This switches full-codegen to no longer push and pop StackHandler
      markers onto the operand stack, but relies on a range-based handler
      table instead. We only use StackHandlers in JSEntryStubs to mark the
      transition from C to JS code.
      
      Note that this makes deoptimization and OSR from within any try-block
      work out of the box, makes the non-exception paths faster and should
      overall be neutral on the memory footprint (pros).
      
      On the other hand it makes the exception paths slower and actually
      throwing and exception more expensive (cons).
      
      R=yangguo@chromium.org
      TEST=cctest/test-run-jsexceptions/DeoptTry
      
      Review URL: https://codereview.chromium.org/1010883002
      
      Cr-Commit-Position: refs/heads/master@{#27440}
      38a719f9
  6. 11 Aug, 2014 1 commit
  7. 24 Jun, 2014 1 commit