1. 05 May, 2017 1 commit
  2. 04 May, 2017 2 commits
  3. 02 May, 2017 1 commit
  4. 26 Apr, 2017 1 commit
  5. 25 Apr, 2017 2 commits
  6. 24 Apr, 2017 1 commit
  7. 11 Apr, 2017 3 commits
  8. 10 Apr, 2017 1 commit
  9. 07 Apr, 2017 2 commits
  10. 04 Apr, 2017 1 commit
  11. 31 Mar, 2017 2 commits
  12. 30 Mar, 2017 2 commits
  13. 29 Mar, 2017 2 commits
  14. 27 Mar, 2017 1 commit
  15. 23 Mar, 2017 1 commit
  16. 22 Mar, 2017 3 commits
  17. 20 Mar, 2017 2 commits
    • franzih's avatar
      [type profile] Collect return types. · de04df74
      franzih authored
      Collect type information of return values.
      
      Use *one* feedback slot per function for all its return
      statements. For assignments, we currently use
      several slots per function, because not all
      assignments refer to the same variable.
      
      Instead of the variable names, pass the
      source location and print the function name.
      
      Add an integration test for --type-profile that checks
      for crashes.
      
      Remove type feedback for assignments for now as it convolutes the output.
      
      ************ Function with 2 return statements ********
      function testFunction(param, flag) {
        // We want to test 2 different return positions in one function.
        if (flag) {
          var first_var = param;
          return first_var;
        }
        var second_var = param;
        return second_var;
      }
      
      testFunction({});
      testFunction(123, true);
      testFunction('hello');
      testFunction(undefined);
      *******************************************************
      
      ************* Sample Output ***************************
      Function: testFunction
      424: Object
      374: number
      424: string
      424: undefined
      *******************************************************
      
      Missing work:
      * Handle fall-off returns
      * Collect types for parameters
      * Remove duplicates from the list of collected types and use a common base class.
      
      BUG=v8:5935
      
      Review-Url: https://codereview.chromium.org/2755973002
      Cr-Commit-Position: refs/heads/master@{#43956}
      de04df74
    • franzih's avatar
      [runtime] Add function for printing type profile. · 3e0aabb6
      franzih authored
      Separate the function that prints type profile with
      --type-profile from the one that collects type profile.
      
      The name needs to be stored in the feedback vector as well. I'll make a
      follow up CL that stores the relevant information, so it can
      be printed later.
      
      BUG=v8:5935
      R=yangguo@chromium.org
      
      Review-Url: https://codereview.chromium.org/2757993002
      Cr-Commit-Position: refs/heads/master@{#43929}
      3e0aabb6
  18. 16 Mar, 2017 1 commit
    • franzih's avatar
      Collect type profile for DevTools · 947a0437
      franzih authored
      Collect type information for JavaScript variables and display it
      in Chrome DevTools.
      Design Doc: https://docs.google.com/a/google.com/document/d/1O1uepXZXBI6IwiawTrYC3ohhiNgzkyTdjn3R8ysbYgk/edit?usp=sharing
      
      When debugging JavaScript, it’s helpful to know the type of
      a variable, parameter, and return values. JavaScript is
      dynamically typed, and for complex
      source code it’s often hard to infer types. With type profiling, we
      can provide type information to JavaScript developers.
      
      This CL is a proof of concept. It collects type profile for
      assignments and simply prints the types to stdout.
      
      The output looks something like this:
      
      #my_var1
        #Object
        #number
        #string
        #number
        #undefined
        #string
        #Object
        #Object
      
      We use an extra slot in the feedback vector of assignments to
      carry the list of types for that assignment. The extra slot is
      only added when the flag --type-profile is given.
      
      Missing work:
      * Collect data for parameters and return values (currently only assignments).
      * Remove duplicates from the list of collected types and use a common base class.
      * Add line numbers or source position instead of the variable name.
      
      For now, has a test that compares the stdout of --type-profile in test/message. We
      will remove this test when --type-profile is fully integrated in
      the debugger protocol. Adding
      the test in test/inspector does not work, because the inspector
      test itself consists of JavaScript code that would convolute the
      output and be non-deterministic under stress.
      
      BUG=v8:5935
      
      Review-Url: https://codereview.chromium.org/2707873002
      Cr-Commit-Position: refs/heads/master@{#43866}
      947a0437
  19. 28 Feb, 2017 2 commits
  20. 17 Feb, 2017 1 commit
    • vabr's avatar
      Report unexpected lexical decl also without destructuring · 454816f0
      vabr authored
      https://codereview.chromium.org/2694003002/ introduced
      "SyntaxError: Lexical declaration cannot appear in a single-statement context"
      for the case when let + desctructuring from a list happen.
      
      As was pointed out in https://codereview.chromium.org/2694003002/#msg18, the
      case without destructuring would also benefit from a better message: if a
      single statement is expected and "let identifier = ..." is seen, the error is
      indeed again that the lexical declaration is not a statement. However, the current
      error is "Unexpected identifier", because the parser tries to accept "let" as
      an identifier in an expression statement, and then gives up seeing the other
      identifier after "let".
      
      This CL ensures that the parser recognises the error properly and reports
      accordingly. It also renames the existing test, which contains destructuring,
      and adds the one with a non-destructuring lexical declaration.
      
      BUG=v8:5686
      
      Review-Url: https://codereview.chromium.org/2697193007
      Cr-Commit-Position: refs/heads/master@{#43275}
      454816f0
  21. 16 Feb, 2017 1 commit
  22. 31 Jan, 2017 1 commit
    • jwolfe's avatar
      Enable --harmony-trailing-commas · ea96fdec
      jwolfe authored
      Also updated some tests due to the change. The general pattern is when a
      trailing comma is expected to cause a SyntaxError, an additional comma was
      added.
      
      BUG=v8:5051
      CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
      
      Review-Url: https://codereview.chromium.org/2638513002
      Cr-Commit-Position: refs/heads/master@{#42826}
      ea96fdec
  23. 12 Dec, 2016 1 commit
    • clemensh's avatar
      [wasm] Generate correct locations for error messages · 222541df
      clemensh authored
      The current logic in Isolate::GetLocationFromStackTrace just ignores
      wasm frames, making the computed location point to the first javascript
      frame, like this:
      
      test.js:17: RuntimeError: divide by zero
      module.exports.main();
                     ^
      RuntimeError: divide by zero
          at main (<WASM>[1]+5)
          at test.js:17:16
      
      This CL not only fixes the location to point to the top-most wasm
      frame, but also exposes to the embedder that the script of that location
      is a wasm script, allowing for custom printing of wasm locations.
      The Shell::ReportException method now checks for this flag, and prints
      wasm locations like this:
      
      <WASM>[0]+5: RuntimeError: divide by zero
      RuntimeError: divide by zero
          at main (<WASM>[0]+5)
          at test/message/wasm-trap.js:15:16
      
      R=titzer@chromium.org, yangguo@chromium.org
      BUG=chromium:613110
      
      Review-Url: https://codereview.chromium.org/2563673002
      Cr-Commit-Position: refs/heads/master@{#41640}
      222541df
  24. 08 Dec, 2016 1 commit
  25. 07 Dec, 2016 1 commit
    • jwolfe's avatar
      Change error messages for octal escape sequences · 089e4fd3
      jwolfe authored
      When an octal escape sequence is in a string in strict mode:
      - Octal literals are not allowed in strict mode.
      + Octal escape sequences are not allowed in strict mode.
      
      When an octal escape sequence is in a template string:
      - Octal literals are not allowed in template strings.
      + Octal escape sequences are not allowed in template strings.
      
      BUG=v8:4973
      CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
      
      Review-Url: https://codereview.chromium.org/2551633002
      Cr-Commit-Position: refs/heads/master@{#41560}
      089e4fd3
  26. 29 Nov, 2016 1 commit
  27. 24 Nov, 2016 1 commit
  28. 23 Nov, 2016 1 commit