1. 22 May, 2017 1 commit
  2. 09 Jan, 2017 1 commit
  3. 29 Jan, 2016 1 commit
    • jkummerow's avatar
      Introduce {FAST,SLOW}_STRING_WRAPPER_ELEMENTS · f4872f74
      jkummerow authored
      String wrappers (new String("foo")) are special objects: their string
      characters are accessed like elements, and they also have an elements
      backing store. This used to require a bunch of explicit checks like:
      
      if (obj->IsJSValue() && JSValue::cast(obj)->value()->IsString()) {
        /* Handle string characters */
      }
      // Handle regular elements (for string wrappers and other objects)
      obj->GetElementsAccessor()->Whatever(...);
      
      This CL introduces new ElementsKinds for string wrapper objects (one for
      fast elements, one for dictionary elements), which allow folding the
      special-casing into new StringWrapperElementsAccessors.
      
      No observable change in behavior is intended.
      
      Review URL: https://codereview.chromium.org/1612323003
      
      Cr-Commit-Position: refs/heads/master@{#33616}
      f4872f74
  4. 28 Jul, 2015 1 commit
  5. 27 Jul, 2015 2 commits
  6. 22 Jul, 2015 1 commit
  7. 02 Jul, 2015 1 commit
  8. 16 Jun, 2015 1 commit
  9. 01 Jun, 2015 1 commit
  10. 04 Aug, 2014 1 commit
  11. 18 Jul, 2014 1 commit
  12. 07 Jul, 2014 1 commit
  13. 12 Jun, 2014 2 commits
  14. 11 Jun, 2014 3 commits
  15. 05 Jun, 2014 1 commit
  16. 03 Jun, 2014 1 commit
  17. 22 May, 2014 1 commit
  18. 29 Apr, 2014 1 commit
  19. 03 Apr, 2014 1 commit
  20. 01 Apr, 2014 1 commit
  21. 26 Mar, 2014 1 commit
  22. 25 Mar, 2014 4 commits
  23. 11 Mar, 2014 1 commit
  24. 24 Jan, 2014 1 commit
  25. 16 Jan, 2014 5 commits
  26. 15 Nov, 2013 1 commit
  27. 14 Nov, 2013 1 commit
    • mvstanton@chromium.org's avatar
      Inline zero argument array constructor. · 3cf157b4
      mvstanton@chromium.org authored
      patch from issue 54583003 (dependent code).
      
      Zero arguments - very easy
      
      1 argument - three special cases:
        a) If length is a constant in valid array length range,
           no need to check it at runtime.
        b) respect DoNotInline feedback on the AllocationSite for
           cases that the argument is not a smi or is an integer
           with a length that should create a dictionary.
        c) if kind feedback is non-holey, and length is non-constant,
           we'd have to generate a lot of code to be correct.
           Don't inline this case.
      
      N arguments - one special case:
        a) If a deopt ever occurs because an input argument isn't
           compatible with the elements kind, then set the
           DoNotInline flag.
      
      BUG=
      R=verwaest@chromium.org
      
      Review URL: https://codereview.chromium.org/55933002
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17741 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      3cf157b4
  28. 05 Jul, 2013 1 commit
  29. 02 Nov, 2012 1 commit