1. 06 Sep, 2016 1 commit
    • bakkot's avatar
      Split the AST representation of class properties from object properties. · 7bc200c7
      bakkot authored
      This introduces ClassLiteralProperty and a supertype LiteralProperty of
      it and ObjectLiteralProperty. It also splits the parsing of the two.
      This substiantially clarifies some logic, especially as classes
      continue to evolve, and is also about a 2% performance improvement to
      parsing either kind of property (since no work is wasted on logic
      only necessary for the other kind). Also, it saves a word on
      ObjectLiteralProperties.
      
      Review-Url: https://codereview.chromium.org/2302643002
      Cr-Commit-Position: refs/heads/master@{#39219}
      7bc200c7
  2. 05 Sep, 2016 1 commit
  3. 02 Sep, 2016 1 commit
  4. 01 Sep, 2016 1 commit
  5. 31 Aug, 2016 2 commits
    • adamk's avatar
      Remove CONST_LEGACY VariableMode · 7516fe1e
      adamk authored
      The only remaining use of this VariableMode is for the names of sloppy
      named function expressions. This patch instead uses CONST for such
      bindings (just as we do in strict mode) and instead marks those
      Variables specially. During code generation a new helper method,
      Variable::throw_on_const_assignment(), is called to decide whether
      to throw or silently ignore the assignment.
      
      Review-Url: https://codereview.chromium.org/2233673003
      Cr-Commit-Position: refs/heads/master@{#39052}
      7516fe1e
    • marja's avatar
      Separate CompilationInfo into its own file. · 06451354
      marja authored
      This way, many files which only need CompilationInfo but not compiler.h
      and its dependencies can include just compilation-info.h.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2284313003
      Cr-Commit-Position: refs/heads/master@{#39038}
      06451354
  6. 30 Aug, 2016 1 commit
  7. 29 Aug, 2016 2 commits
    • verwaest's avatar
      Replace CollectVariables with locals(), update callsites to walk locals instead · 1493bc8c
      verwaest authored
      This additionally gets rid of old approach to global shortcuts.
      
      BUG=v8:5209
      
      Review-Url: https://codereview.chromium.org/2287173002
      Cr-Commit-Position: refs/heads/master@{#38980}
      1493bc8c
    • bmeurer's avatar
      [turbofan] Remove special JSForInStep and JSForInDone. · 1915762c
      bmeurer authored
      These JavaScript operators were special hacks to ensure that we always
      operate on Smis for the magic for-in index variable, but this never
      really worked in the OSR case, because the OsrValue for the index
      variable didn't have the proper information (that we have for the
      JSForInPrepare in the non-OSR case).
      
      Now that we have loop induction variable analysis and binary operation
      hints, we can just use JSLessThan and JSAdd instead with appropriate
      Smi hints, which handle the OSR case by inserting Smi checks (that are
      always true). Thanks to OSR deconstruction and loop peeling these Smi
      checks will be hoisted so they don't hurt the OSR case too much.
      
      Drive-by-change: Rename the ForInDone bytecode to ForInContinue, since
      we have to lower it to JSLessThan to get the loop induction variable
      goodness.
      
      R=epertoso@chromium.org
      BUG=v8:5267
      
      Review-Url: https://codereview.chromium.org/2289613002
      Cr-Commit-Position: refs/heads/master@{#38968}
      1915762c
  8. 25 Aug, 2016 1 commit
  9. 24 Aug, 2016 1 commit
  10. 22 Aug, 2016 2 commits
  11. 12 Aug, 2016 2 commits
  12. 11 Aug, 2016 1 commit
  13. 09 Aug, 2016 1 commit
  14. 08 Aug, 2016 1 commit
  15. 05 Aug, 2016 4 commits
  16. 04 Aug, 2016 1 commit
    • mstarzinger's avatar
      [turbofan] Fix missing bailout for accessors in literals. · 667d8ad0
      mstarzinger authored
      This adds the missing lazy bailout point when defining accessor pairs
      within object literals via Runtime::kDefineAccessorPropertyUnchecked.
      The runtime function in question can indeed trigger a lazy deopt due
      to a DependentCode::kPrototypeCheckGroup dependency.
      
      R=bmeurer@chromium.org
      TEST=mjsunit/regress/regress-crbug-633585
      BUG=chromium:633585
      
      Review-Url: https://codereview.chromium.org/2207413002
      Cr-Commit-Position: refs/heads/master@{#38336}
      667d8ad0
  17. 01 Aug, 2016 1 commit
  18. 21 Jul, 2016 1 commit
  19. 15 Jul, 2016 1 commit
  20. 13 Jul, 2016 1 commit
  21. 11 Jul, 2016 1 commit
  22. 06 Jul, 2016 1 commit
  23. 05 Jul, 2016 3 commits
  24. 30 Jun, 2016 1 commit
  25. 28 Jun, 2016 1 commit
  26. 27 Jun, 2016 2 commits
  27. 21 Jun, 2016 1 commit
    • neis's avatar
      [generators] Implement %GeneratorGetSourcePosition. · 7c57ffc1
      neis authored
      This runtime function now also works for Ignition generators. It returns the
      source position of the yield at which a suspended generator got suspended.  This
      works by storing the current bytecode offset at suspension and using an existing
      mechanism to map it back to a source position.
      
      TBR=littledan@chromium.org
      BUG=
      
      Review-Url: https://codereview.chromium.org/2079613003
      Cr-Commit-Position: refs/heads/master@{#37140}
      7c57ffc1
  28. 20 Jun, 2016 1 commit
    • adamk's avatar
      [cleanup] Remove dead code from DeclareLookupSlot and rename it · cbc6adc8
      adamk authored
      Runtime_DeclareLookupSlot is used when generating code for var and function declarations
      originating in an eval. Over time, it's accumulated quite a bit of cruft, which this CL removes:
      
        - With legacy const gone, lookup slots never have any property attributes.
        - There was a bit signaling that the variable was from an eval, but that was redundant since
          DeclareLookupSlot is only used for eval.
        - Some Proxy-related code didn't make sense here.
      
      Its name was also not terribly clear: while "LookupSlot" is used in several places, this
      particular function is only used for declaring variables and functions inside sloppy eval.
      Renamed (and split into two) to make this clear for future archeologists.
      
      Also added various DCHECKs to check the assumptions being made.
      
      Review-Url: https://codereview.chromium.org/2061173002
      Cr-Commit-Position: refs/heads/master@{#37111}
      cbc6adc8
  29. 14 Jun, 2016 2 commits