1. 28 Apr, 2017 1 commit
  2. 18 Apr, 2017 1 commit
  3. 26 Jan, 2017 3 commits
  4. 06 Jul, 2016 1 commit
  5. 15 Apr, 2015 1 commit
    • mvstanton's avatar
      Array() in optimized code can create with wrong ElementsKind in corner cases. · 13459c1a
      mvstanton authored
      Calling new Array(JSObject::kInitialMaxFastElementArray) in optimized code
      makes a stub call that bails out due to the length. Currently, the bailout
      code a) doesn't have the allocation site, and b) wouldn't use it if it did
      because the length is perceived to be too high.
      
      This CL passes the allocation site to the stub call (rather than undefined),
      and alters the bailout code to utilize the feedback.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1086873003
      
      Cr-Commit-Position: refs/heads/master@{#27857}
      13459c1a
  6. 14 Apr, 2015 1 commit
  7. 28 Jul, 2014 1 commit
  8. 24 Jul, 2014 2 commits
  9. 18 Jul, 2014 1 commit
  10. 26 May, 2014 2 commits
  11. 22 May, 2014 1 commit
  12. 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
  13. 17 Feb, 2014 2 commits
  14. 21 Jan, 2014 1 commit
  15. 07 Jan, 2014 1 commit
  16. 20 Dec, 2013 2 commits
  17. 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
  18. 22 Jul, 2013 1 commit
  19. 17 Jul, 2013 1 commit
  20. 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
  21. 25 Jun, 2013 1 commit
  22. 13 Jun, 2013 1 commit
  23. 12 Jun, 2013 1 commit
  24. 08 Apr, 2013 1 commit
  25. 12 Mar, 2013 1 commit
  26. 05 Mar, 2013 1 commit
  27. 27 Feb, 2013 1 commit
  28. 04 Feb, 2013 1 commit
  29. 28 Jan, 2013 1 commit
  30. 23 Jan, 2013 1 commit
  31. 23 Oct, 2008 1 commit
  32. 26 Sep, 2008 1 commit
  33. 09 Sep, 2008 1 commit
  34. 22 Aug, 2008 1 commit
    • christian.plesner.hansen's avatar
      Included mjsunit JavaScript test suite and C++ unit tests. · c42f5829
      christian.plesner.hansen authored
      In the shell sample don't print the result of executing a script, only
      evaluating expressions.
      
      Fixed issue when building samples on Windows using a shared V8
      library.  Added visibility option on Linux build which makes the
      generated library 18% smaller.
      
      Changed build system to accept multiple build modes in one build and
      generate seperate objects, libraries and executables for each mode.
      
      Removed deferred negation optimization (a * -b => -(a * b)) since this
      visibly changes operand conversion order.
      
      Improved parsing performance by introducing stack guard in preparsing.
      Without a stack guard preparsing always bails out with stack overflow.
      
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      c42f5829