1. 31 Mar, 2016 1 commit
  2. 17 Mar, 2016 1 commit
  3. 28 Jul, 2014 1 commit
  4. 24 Jul, 2014 2 commits
  5. 18 Jul, 2014 1 commit
  6. 01 Jul, 2014 1 commit
  7. 19 Mar, 2014 1 commit
    • mvstanton@chromium.org's avatar
      Pretenure call new support. · 535f3427
      mvstanton@chromium.org authored
      When FLAG_pretenure_call_new is on, we emit mementos on new object creation
      in full code, and consume the feedback in crankshaft. A key difference in the
      generated code for stubs is the allocation of an additional type vector slot for the
      CallNew AST node, which simplifies the CallConstructStub and CallFunctionStub
      considerably.
      
      Some performance tuning still needs to be addressed, therefore the flag is off at
      this moment, though fully functional. The goal is to remove the flag as soon as
      possible, which allows much code deletion (yay).
      
      R=hpayer@chromium.org
      
      Review URL: https://codereview.chromium.org/132963012
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      535f3427
  8. 17 Feb, 2014 2 commits
  9. 21 Jan, 2014 1 commit
  10. 07 Jan, 2014 1 commit
  11. 20 Dec, 2013 2 commits
  12. 06 Nov, 2013 1 commit
    • mvstanton@chromium.org's avatar
      Correct handling of arrays with callbacks in the prototype chain. · cec8548d
      mvstanton@chromium.org authored
      Our generic KeyedStoreIC doesn't handle the case when a callback is
      set on array elements in the prototype chain of the object, nor do
      we recognize that we need to avoid the monomorphic case if these
      callbacks exist.
      
      This CL addresses the issue by looking for dictionary elements in
      the prototype chain on IC misses and crankshaft element store
      instructions. When found, the generic IC is used. The generic IC is
      changed to go to the runtime in this case too.
      
      In general, keyed loads are immune from this problem because they
      won't return the hole: discovery of the hole goes to the runtime where
      the callback will be found in the prototype chain. Double array loads
      in crankshaft can return the hole but only if the prototype chain is
      unaltered (we will catch such alterations).
      
      Includes the following patch as well (already reviewed by bmeurer):
      Performance regression found in test regress-2185-2.js. The problem was
      that the bailout method for TransitionAndStoreStub was not performing
      the appropriate transition.
      
      (Review URL for the ElementsTransitionAndStoreIC_Miss change:
      https://codereview.chromium.org/26911007)
      
      R=danno@chromium.org
      
      Review URL: https://codereview.chromium.org/35413006
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      cec8548d
  13. 16 Oct, 2013 2 commits
  14. 15 Oct, 2013 3 commits
  15. 19 Sep, 2013 2 commits
  16. 22 Jul, 2013 1 commit
  17. 11 Jul, 2013 2 commits
  18. 08 Jul, 2013 2 commits
  19. 28 Jun, 2013 1 commit
    • mvstanton@chromium.org's avatar
      Hydrogen array constructor cleanup and improvements · 83519ec8
      mvstanton@chromium.org authored
      * Cleanup of LCallNewArray::PrintDataTo() method
      * Created HCallNewArray::PrintDataTo()
      * Created many more tests in array-constructor-feedback.js
      * Removed redundant instructions in
        GenerateRecordCallTarget
      * Bugfix in CreateArrayDispatchOneArgument: on a call to
        new Array(0), we'd like to set the type feedback cell to
        a packed elements kind, but we shouldn't do it if the
        cell contains the megamorphic sentinel.
      * When used from crankshaft, ArrayConstructorStubs can
        avoid verifying that the function being called is the
        array function from the current native context, relying
        instead on the fact that crankshaft issues an
        HCheckFunction to protect the constructor call. (this
        new minor key is used in LCodeGen::DoCallNewArray(), and
        influences code generation in
        CodeStubGraphBuilderBase::BuildArrayConstructor()).
      * Optimization: the array constructor specialized for
        FAST_SMI_ELEMENTS can save some instructions by looking
        up the correct map on the passed in constructor, rather
        than indexing into the array of cached maps per element
        kind.
      
      BUG=
      R=danno@chromium.org
      
      Review URL: https://codereview.chromium.org/17091002
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      83519ec8
  20. 25 Jun, 2013 1 commit
  21. 13 Jun, 2013 1 commit
  22. 06 Jun, 2013 1 commit
  23. 03 Jun, 2013 1 commit
  24. 29 May, 2013 1 commit
  25. 23 May, 2013 1 commit
  26. 17 May, 2013 1 commit
  27. 15 May, 2013 1 commit
  28. 08 May, 2013 1 commit
  29. 07 May, 2013 1 commit
  30. 30 Apr, 2013 2 commits