1. 08 Dec, 2016 1 commit
  2. 29 Nov, 2016 1 commit
    • mstarzinger's avatar
      [deoptimizer] Fix deoptimization in {TranslatedState}. · 204babf5
      mstarzinger authored
      This ensures the deoptimization triggered due to materialization of
      objects by the {TranslatedState} works in conjunction with OSR. The
      optimized code used for OSR is not installed on the function, hence
      needs to be specified explicitly when requesting deoptimization for
      specific stack frames.
      
      R=jarin@chromium.org
      TEST=mjsunit/regress/regress-crbug-668795
      BUG=chromium:668795
      
      Review-Url: https://codereview.chromium.org/2534143002
      Cr-Commit-Position: refs/heads/master@{#41348}
      204babf5
  3. 18 Nov, 2016 1 commit
  4. 17 Nov, 2016 1 commit
  5. 16 Nov, 2016 2 commits
  6. 15 Nov, 2016 1 commit
  7. 16 Sep, 2016 1 commit
  8. 15 Sep, 2016 1 commit
    • franzih's avatar
      [runtime] Intercept function declarations. · 8439401d
      franzih authored
      We used to intercept function definitions, but not declarations.
      GenericNamedPropertySetterCallback now also intercepts function declarations.
      
      For definitions, we call DeclareGlobal and then InitializeVarGlobal. For
      declarations, we never call InitializeVarGlobal, thus we must check for
      interceptors in DeclareGlobal.
      
      If the semantics of a redeclaration are wrong, e.g., redeclaring a read-only
      property, an exception is thrown independent of whether an interceptor is
      installed. Usually, i.e., not during a declaration, we only throw if
      the call is not successfully intercepted.
      
      BUG=v8:5375
      
      Review-Url: https://codereview.chromium.org/2334733002
      Cr-Commit-Position: refs/heads/master@{#39450}
      8439401d
  9. 12 Sep, 2016 3 commits
  10. 06 Sep, 2016 1 commit
  11. 05 Sep, 2016 1 commit
    • jochen's avatar
      Store the scope info in catch contexts · 9b6ff3a8
      jochen authored
      Since the extension field is already used for the catch name, store a
      ContextExtension there instead.
      
      In the future, this will allow for chaining ScopeInfos together, so we
      no longer need a context chain for lazy parsing / compilation.
      
      BUG=v8:5215
      R=bmeurer@chromium.org,neis@chromium.org,marja@chromium.org
      
      Review-Url: https://codereview.chromium.org/2302013002
      Cr-Commit-Position: refs/heads/master@{#39164}
      9b6ff3a8
  12. 01 Sep, 2016 1 commit
  13. 29 Aug, 2016 1 commit
  14. 08 Aug, 2016 1 commit
  15. 02 Aug, 2016 2 commits
  16. 01 Aug, 2016 1 commit
  17. 25 Jul, 2016 1 commit
  18. 13 Jul, 2016 1 commit
  19. 28 Jun, 2016 2 commits
  20. 21 Jun, 2016 1 commit
  21. 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
  22. 13 Jun, 2016 2 commits
    • littledan's avatar
      Revert of change most cases of variable redeclaration from TypeError to... · 85c2c8d8
      littledan authored
      Revert of change most cases of variable redeclaration from TypeError to SyntaxError (patchset #8 id:140001 of https://codereview.chromium.org/2048703002/ )
      
      Reason for revert:
      This is going to break the LayoutTest inspector-protocol/console/console-let-const-with-api.html as seen in https://build.chromium.org/p/tryserver.v8/builders/v8_linux_blink_rel/builds/2247 . Please run this test manually, using instructions at https://www.chromium.org/developers/testing/webkit-layout-tests , and fix on the Chrome side if needed before resubmitting this patch.
      
      Original issue's description:
      > change most cases of variable redeclaration from TypeError to SyntaxError.
      >
      > Code like `let a; eval("var a;");` should throw a SyntaxError, not a TypeError
      > (this caused a test262 failure.). However, the code `eval("function NaN() {}");`
      > should actually throw a TypeError. This patch changes most cases of
      > redeclaration errors from TypeError to SyntaxError. See the test
      > mjsunit/regress/redeclaration-error-types for a thorough analysis with spec
      > references.
      >
      > The relevant sections of the spec are ES#sec-globaldeclarationinstantiation and
      > ES#sec-evaldeclarationinstantiation
      >
      > BUG=v8:4955
      > LOG=y
      >
      > Committed: https://crrev.com/2b787561763d0f7e8dab698652715a742cf78291
      > Cr-Commit-Position: refs/heads/master@{#36940}
      
      TBR=adamk@chromium.org,jwolfe@igalia.com
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:4955
      
      Review-Url: https://codereview.chromium.org/2064793002
      Cr-Commit-Position: refs/heads/master@{#36941}
      85c2c8d8
    • jwolfe's avatar
      change most cases of variable redeclaration from TypeError to SyntaxError. · 2b787561
      jwolfe authored
      Code like `let a; eval("var a;");` should throw a SyntaxError, not a TypeError
      (this caused a test262 failure.). However, the code `eval("function NaN() {}");`
      should actually throw a TypeError. This patch changes most cases of
      redeclaration errors from TypeError to SyntaxError. See the test
      mjsunit/regress/redeclaration-error-types for a thorough analysis with spec
      references.
      
      The relevant sections of the spec are ES#sec-globaldeclarationinstantiation and
      ES#sec-evaldeclarationinstantiation
      
      BUG=v8:4955
      LOG=y
      
      Review-Url: https://codereview.chromium.org/2048703002
      Cr-Commit-Position: refs/heads/master@{#36940}
      2b787561
  23. 09 Jun, 2016 2 commits
  24. 06 Jun, 2016 1 commit
  25. 24 May, 2016 1 commit
  26. 13 May, 2016 1 commit
    • verwaest's avatar
      [runtime] Make sure that LookupIterator::OWN always performs a HIDDEN lookup as well. · c9a83150
      verwaest authored
      Hidden prototypes are merely an implementation detail. Properties on an object + hidden prototype should look like properties on the object. Hence we should always perform a hidden prototype lookup. This CL removes the option to ignore hidden prototypes to avoid bugs that leak this implementation detail.
      
      Also, the only previously valid cases were either places were we knew we didn't have a hidden prototype; or because we knew we (in the optimizing compiler) would only handle properties from the non-hidden object.The first case is already handled by directly tagging whether a receiver has a hidden prototype. In the second case we can just filter out properties from hidden prototypes.
      
      Review-Url: https://codereview.chromium.org/1975763002
      Cr-Commit-Position: refs/heads/master@{#36235}
      c9a83150
  27. 11 May, 2016 1 commit
  28. 19 Apr, 2016 1 commit
    • adamk's avatar
      Remove all non-function-name uses of CONST_LEGACY · 59546149
      adamk authored
      Now that all 'const' declarations are of the ES2015 variety, the only
      use of CONST_LEGACY is for function name bindings in sloppy mode
      named function expressions.
      
      This patch aims to delete all code meant to handle other cases, which
      mostly had to do with hole initialization/hole checks. Since function
      name bindings are initialized at entry to a function, it's impossible
      to ever observe one in an uninitialized state.
      
      To simplify the patch further, it removes the `IMPORT` VariableMode,
      as it's not likely to be needed (IMPORT is identical to CONST for
      the purpose of VariableMode).
      
      Review URL: https://codereview.chromium.org/1895973002
      
      Cr-Commit-Position: refs/heads/master@{#35632}
      59546149
  29. 17 Mar, 2016 1 commit
  30. 07 Mar, 2016 1 commit
  31. 01 Mar, 2016 1 commit
  32. 12 Feb, 2016 2 commits
    • bmeurer's avatar
      [runtime] Kill %Arguments and %ArgumentsLength. · 98aec4a7
      bmeurer authored
      This removes support for the %Arguments and %ArgumentsLength runtime
      entries and their intrinsic counterparts. If you need variable arguments
      in any builtin, either use (strict) arguments object or rest parameters,
      which are both compositional across inlining (in TurboFan), and not that
      much slower compared to the %_Arguments hackery.
      
      R=jarin@chromium.org
      
      Review URL: https://codereview.chromium.org/1688163004
      
      Cr-Commit-Position: refs/heads/master@{#33943}
      98aec4a7
    • bmeurer's avatar
      [runtime] Introduce FastNewStrictArgumentsStub to optimize strict arguments. · 09d84535
      bmeurer authored
      The FastNewStrictArgumentsStub is very similar to the recently added
      FastNewRestParameterStub, it's actually almost a copy of it, except that
      it doesn't have the fast case we have for the empty rest parameter. This
      patch improves strict arguments in TurboFan and fullcodegen by up to 10x
      compared to the previous version.
      
      Also introduce proper JSSloppyArgumentsObject and JSStrictArgumentsObject
      for the in-object properties instead of having them as constants in the
      Heap class.
      
      Drive-by-fix: Use this stub and the FastNewRestParameterStub in the
      interpreter to avoid the runtime call overhead for strict arguments
      and rest parameter creation.
      
      R=jarin@chromium.org
      TBR=mstarzinger@chromium.org
      
      Review URL: https://codereview.chromium.org/1693513002
      
      Cr-Commit-Position: refs/heads/master@{#33925}
      09d84535