1. 11 Jun, 2015 1 commit
  2. 08 Jun, 2015 1 commit
  3. 04 Jun, 2015 1 commit
  4. 02 Jun, 2015 1 commit
    • arv's avatar
      [es6] Super call in arrows and eval · 4b8051a0
      arv authored
      This splits the SuperReference AST node into SuperPropertyReference and
      SuperCallReference. The super call reference node consists of three
      unresolved vars to this, new.target and this_function. These gets
      declared when the right function is entered and if it is in use. The
      variables gets assigned in FullCodeGenerator::Generate.
      
      This is a revert of the revert 88b1c917
      
      BUG=v8:3768
      LOG=N
      R=wingo@igalia.com, adamk@chromium.org
      
      Review URL: https://codereview.chromium.org/1168513004
      
      Cr-Commit-Position: refs/heads/master@{#28769}
      4b8051a0
  5. 01 Jun, 2015 3 commits
  6. 27 May, 2015 1 commit
  7. 26 May, 2015 1 commit
    • arv's avatar
      [es6] Support super.property in eval and arrow functions · 44e98103
      arv authored
      When we enter a method that needs access to the [[HomeObject]]
      we allocate a local variable `.home_object` and assign it the
      value from the [[HomeObject]] private symbol. Something along
      the lines of:
      
        method() {
          var .home_object = %ThisFunction()[home_object_symbol];
          ...
        }
      
      BUG=v8:3867, v8:4031
      LOG=N
      
      Review URL: https://codereview.chromium.org/1135243004
      
      Cr-Commit-Position: refs/heads/master@{#28644}
      44e98103
  8. 21 May, 2015 1 commit
    • arv's avatar
      [es6] Spread in array literals · 9502e91a
      arv authored
      This allows you to put iterables into your array literals
      and the will get spread into the array.
      
        let x = [0, ...range(1, 3)];  // [0, 1, 2]
      
      This is done by treating the array literal up to the first
      spread element as usual, including using a boiler plate
      array, and then appending the remaining expressions and rest
      expressions.
      
      BUG=v8:3018
      LOG=N
      
      Review URL: https://codereview.chromium.org/1125183008
      
      Cr-Commit-Position: refs/heads/master@{#28534}
      9502e91a
  9. 20 Apr, 2015 1 commit
  10. 13 Apr, 2015 1 commit
  11. 09 Apr, 2015 1 commit
  12. 30 Mar, 2015 1 commit
  13. 24 Mar, 2015 2 commits
    • aperez's avatar
      Cleanups needed for this-scoping in arrow functions · 00844d46
      aperez authored
      Remove Variable::IsValidReference(), and the Variable::is_valid_ref_
      member: This was "false" only for "this", and for internal variables.
      For the first, VariableProxy::is_this() can be used for the check
      instead; and for internal variables, it is guaranteed they they will
      not be written to (because the V8 code does not do it, and they are
      not accessible from JavaScript).
      
      The "bool is_this" parameter of VariableProxy() constructor is
      changed to use Variable::Kind. This will allow to later on adding
      a parameter to create unresolved variables of any kind, which in
      turn will be used to make references to "this" initially unresolved,
      and use the existing variable resolution mechanics for "this".
      
      BUG=v8:2700
      LOG=N
      
      Review URL: https://codereview.chromium.org/1024703004
      
      Cr-Commit-Position: refs/heads/master@{#27404}
      00844d46
    • verwaest's avatar
      If CallNew targets a constant global, set its state to monomorphic · c46a9372
      verwaest authored
      BUG=
      
      Review URL: https://codereview.chromium.org/1023103003
      
      Cr-Commit-Position: refs/heads/master@{#27399}
      c46a9372
  14. 18 Mar, 2015 1 commit
  15. 12 Mar, 2015 1 commit
  16. 26 Feb, 2015 2 commits
  17. 17 Feb, 2015 1 commit
  18. 13 Feb, 2015 1 commit
    • arv's avatar
      ES6 Classes: Remove tracking of super construct calls. · d0c2c2b3
      arv authored
      With the new ES6 semantics super construct calls are only valid in
      a constructor in a derived class. This is something that is
      statically known and we report early SyntaxError in case it occurs.
      We therefore do not need to track this any more.
      
      BUG=v8:3330
      LOG=N
      R=dslomov@chromium.org, adamk
      
      Review URL: https://codereview.chromium.org/924123002
      
      Cr-Commit-Position: refs/heads/master@{#26644}
      d0c2c2b3
  19. 12 Feb, 2015 1 commit
  20. 11 Feb, 2015 1 commit
  21. 05 Feb, 2015 1 commit
  22. 04 Feb, 2015 2 commits
    • arv's avatar
      Fix issue with multiple properties and emit store. · cd661fdc
      arv authored
      We used to have a parse error for conflicting property keys. This check
      was removed to match ES6 (SpiderMonkey & Chakra already made this change).
      Since this check was removed we ended up with a few new cases when
      generating code. For example, accessors always generated code even if
      those should have been shadowed by a data property.
      
      BUG=v8:3856
      LOG=Y
      R=adamk, dslomov@chromium.org
      
      Review URL: https://codereview.chromium.org/895693002
      
      Cr-Commit-Position: refs/heads/master@{#26441}
      cd661fdc
    • marja's avatar
      Introduce LanguageMode, drop StrictMode. · c7851da4
      marja authored
      This enables adding more language modes in the future.
      
      For maximum flexibility, LanguageMode is a bitmask, so we're not restricted to
      use a sequence of language modes which are progressively stricter, but we can
      express the language mode as combination of features.
      
      For now, LanguageMode can only be "sloppy" or "strict", and there are
      STATIC_ASSERTS in places which need to change when more modes are added.
      
      LanguageMode is a bit like the old LanguageMode when "extended" mode was still
      around (see https://codereview.chromium.org/8417035 and
      https://codereview.chromium.org/181543002 ) except that it's transmitted through
      all the layers (there's no StrictModeFlag).
      
      BUG=
      
      Review URL: https://codereview.chromium.org/894683003
      
      Cr-Commit-Position: refs/heads/master@{#26419}
      c7851da4
  23. 03 Feb, 2015 1 commit
    • mvstanton's avatar
      Super Constructor Calls need to use a vector slot, not an ic slot. · 64f81870
      mvstanton authored
      The Ast Call node is accustomed to using a vector IC slot for the
      cases when it uses a CallIC. The super constructor work alters this
      somewhat by using a CallConstructStub instead, however the
      CallConstructStub expects a vector slot and not a vector ic slot.
      This distinction needs to be maintained because slots and ic slots
      have different clearing strategies and are handled differently.
      
      R=dslomov@chromium.org
      BUG=
      LOG=N
      
      Review URL: https://codereview.chromium.org/892113002
      
      Cr-Commit-Position: refs/heads/master@{#26414}
      64f81870
  24. 29 Jan, 2015 1 commit
    • arv's avatar
      Move object literal checking into checker classes · b004b1d8
      arv authored
      This removes the duplicate property check from object literals.
      
      Instead we repurpose the ObjectLiteralChecker into two cases, implemented
      by two subclasses to ObjectLiteralCheckerBase called ObjectLiteralChecker
      and ClassLiteralChecker.
      
      The object literal checker now only checks for duplicate __proto__ fields in
      object literals.
      
      The class literal checker checks for duplicate constructors, non constructor
      fields named constructor as well as static properties named prototype.
      
      BUG=v8:3819
      LOG=Y
      R=adamk, dslomov@chromium.org
      
      Review URL: https://codereview.chromium.org/873823003
      
      Cr-Commit-Position: refs/heads/master@{#26336}
      b004b1d8
  25. 20 Jan, 2015 1 commit
  26. 15 Jan, 2015 2 commits
  27. 17 Dec, 2014 2 commits
  28. 16 Dec, 2014 2 commits
    • arv's avatar
      Revert of ES6 computed property names (patchset #1 id:1 of... · 5f22fdd5
      arv authored
      Revert of ES6 computed property names (patchset #1 id:1 of https://codereview.chromium.org/807173002/)
      
      Reason for revert:
      Crashes Win32. It was not flake.
      
      Original issue's description:
      > ES6 computed property names
      >
      > This adds support for computed property names, under the flag
      > --harmony-computed-property-names, for both object literals and
      > classes.
      >
      > This is a revert of the revert, a76419f0 with
      > no changes. I cannot reproduce the issue on Win8.1 or WinXP. Letting the bots
      > try again.
      >
      > BUG=v8:3754
      > LOG=Y
      > TBR=dslomov@chromium.org
      
      TBR=dslomov@chromium.org
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:3754
      
      Review URL: https://codereview.chromium.org/807033003
      
      Cr-Commit-Position: refs/heads/master@{#25853}
      5f22fdd5
    • arv's avatar
      ES6 computed property names · a235b107
      arv authored
      This adds support for computed property names, under the flag
      --harmony-computed-property-names, for both object literals and
      classes.
      
      This is a revert of the revert, a76419f0 with
      no changes. I cannot reproduce the issue on Win8.1 or WinXP. Letting the bots
      try again.
      
      BUG=v8:3754
      LOG=Y
      TBR=dslomov@chromium.org
      
      Review URL: https://codereview.chromium.org/807173002
      
      Cr-Commit-Position: refs/heads/master@{#25851}
      a235b107
  29. 15 Dec, 2014 2 commits
    • arv's avatar
      Revert of ES6 computed property names (patchset #9 id:160001 of... · a76419f0
      arv authored
      Revert of ES6 computed property names (patchset #9 id:160001 of https://codereview.chromium.org/795573005/)
      
      Reason for revert:
      Crashes on Win32
      
      http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%201/builds/1357
      
      Test: mjsunit/harmony/computed-property-names
      Flags: --stress-opt --always-opt
      Command: build\Release\d8.exe --test --random-seed=-233815021 --stress-opt --always-opt --nohard-abort --nodead-code-elimination --nofold-constants --harmony-computed-property-names test\mjsunit\mjsunit.js test\mjsunit\harmony\computed-property-names.js
      
      Run #1
      Exit code: -1073741819
      Result: CRASH
      Expected outcomes: PASS
      
      Run #2
      Exit code: -1073741819
      Result: CRASH
      Expected outcomes: PASS
      
      Run #3
      Exit code: -1073741819
      Result: CRASH
      Expected outcomes: PASS
      
      Original issue's description:
      > ES6 computed property names
      >
      > This adds support for computed property names, under the flag
      > --harmony-computed-property-names, for both object literals and
      > classes.
      >
      > BUG=v8:3754
      > LOG=Y
      
      TBR=dslomov@chromium.org,wingo@igalia.com
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:3754
      
      Review URL: https://codereview.chromium.org/809433002
      
      Cr-Commit-Position: refs/heads/master@{#25825}
      a76419f0
    • arv's avatar
      ES6 computed property names · 6e38caf8
      arv authored
      This adds support for computed property names, under the flag
      --harmony-computed-property-names, for both object literals and
      classes.
      
      BUG=v8:3754
      LOG=Y
      
      Review URL: https://codereview.chromium.org/795573005
      
      Cr-Commit-Position: refs/heads/master@{#25821}
      6e38caf8
  30. 28 Nov, 2014 2 commits