1. 08 Dec, 2016 27 commits
  2. 07 Dec, 2016 13 commits
    • luoe's avatar
      Show functions in object previews · c7c19c86
      luoe authored
      Due to the isOwn check, functions inherited through prototype will not be
      included in a preview.
      
      BUG=645053
      
      Review-Url: https://codereview.chromium.org/2554623003
      Cr-Commit-Position: refs/heads/master@{#41566}
      c7c19c86
    • luoe's avatar
      Add getter properties to array entry previews · 80bcbccc
      luoe authored
      Getter properties are not currently included in the protocol's
      Runtime.ObjectPreview. DevTools currently shows getter properties
      when evaluating arrays in the console, and this CL brings them into
      the preview generated for RemoteObjects.
      
      Corresponding DevTools CL: https://codereview.chromium.org/2521513006/
      
      BUG=666882
      
      Review-Url: https://codereview.chromium.org/2508423002
      Cr-Commit-Position: refs/heads/master@{#41565}
      80bcbccc
    • gsathya's avatar
      [promises] Don't allocate new array before filling up existing array · 87b84a34
      gsathya authored
      Previously we created 3 FixedArrays and then filled them up with
      values. This meant that during the creation of the second and third
      FixedArray, there were one and two FixedArrays respectively, without
      any values in it which broke the FixedArrayVerify.
      
      This patch fills each FixedArray with the correct values before
      creating new ones.
      
      BUG=chromium:672051
      
      Review-Url: https://codereview.chromium.org/2554323003
      Cr-Commit-Position: refs/heads/master@{#41564}
      87b84a34
    • jwolfe's avatar
      A decimal integer literal with a leading 0 is now an error in strict mode. · 93b87c89
      jwolfe authored
      We're still collecting use counter data for this situation.
      
      BUG=v8:4973
      CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
      
      Review-Url: https://codereview.chromium.org/2510873005
      Cr-Commit-Position: refs/heads/master@{#41563}
      93b87c89
    • bjaideep's avatar
      PPC/s390: Store OSR'd optimized code on the native context. · 3bc53ad7
      bjaideep authored
      Port 378b6b22
      
      Original Commit Message:
      
          Since we OSR code rarely, it makes sense to store it and look for
          it on the native context rather than the SharedFunctionInfo.
          This makes the OptimizedCodeMap data structure more space efficient,
          as it doesn't have to store an ast ID for the OSR entry point.
      
      R=mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      LOG=N
      
      Review-Url: https://codereview.chromium.org/2557113002
      Cr-Commit-Position: refs/heads/master@{#41562}
      3bc53ad7
    • ishell's avatar
      [interpreter] Avoid code duplication in Interpreter::Initialize(). · 0d292505
      ishell authored
      BUG=
      
      Review-Url: https://codereview.chromium.org/2560893002
      Cr-Commit-Position: refs/heads/master@{#41561}
      0d292505
    • 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
    • lpy's avatar
      [Tracing] Implement IC statistics in tracing. · 0a3c8fc3
      lpy authored
      This patch introduces:
      
      1. ICStats class to store ic statistics items produced by V8,
      2. A disabled by default tracing category v8.ic_stats,
      3. An trace event V8.ICStats that contains ic statistics items in args,
      
      We store ic statistics items in an array until the array is full to reduce
      the number of trace events.
      
      TBR=jkummerow@chromium.org,ishell@chromium.org
      
      Review-Url: https://codereview.chromium.org/2503183002
      Cr-Commit-Position: refs/heads/master@{#41559}
      0a3c8fc3
    • ulan's avatar
      [heap] Do not delay mark-compact in Heap::CollectGarbage if incremental · ebb1aff1
      ulan authored
      marking needs finalization.
      
      TBR=mlippautz@chromium.org
      BUG=chromium:671994,chromium:670675
      
      Review-Url: https://codereview.chromium.org/2560813002
      Cr-Commit-Position: refs/heads/master@{#41558}
      ebb1aff1
    • bradnelson's avatar
      [wasm][asm.js] Require exported asm.js functions have be names. · 582cddde
      bradnelson authored
      The asm.js spec requires exports to be identifiers,
      this was DCHECKED in the asm-wasm-builder, but not the typer.
      
      BUG=672046
      R=titzer@chromium.org
      
      Review-Url: https://codereview.chromium.org/2552913004
      Cr-Commit-Position: refs/heads/master@{#41557}
      582cddde
    • dcheng's avatar
      Propagate exceptions thrown by access check interceptors. · ebe94192
      dcheng authored
      When v8 fails an access check, it invokes a helper to try to see if it
      can service the request via an access check interceptor. Invoking the
      access check interceptor can throw an exception (e.g. a SecurityError).
      
      Unfortunately, the failed access check property helpers and the
      interceptor helpers don't agree on how to propagate the exception: if
      the interceptor helper detects a scheduled exception, it promotes the
      exception to a pending exception and returns to the failed access check
      property helper.
      
      The failed access check property helper also has an early return in
      case of a scheduled exception. However, this doesn't work, as the
      previously thrown exception is no longer scheduled, as it's been
      promoted to a pending exception. Thus, the failed access check property
      helper always end up calling the failed access check callback as well.
      Since Blink's implementation of the failed access check callback also
      throws an exception, this conflicts with the previously-thrown,
      already-pending exception.
      
      With this patch, the failed access check property helpers check for a
      pending exception rather than a scheduled exception after invoking the
      interceptor, so the exception can be propagated correctly.
      
      BUG=v8:5715
      R=yangguo@chromium.org,jochen@chromium.org
      
      Review-Url: https://codereview.chromium.org/2550423002
      Cr-Commit-Position: refs/heads/master@{#41556}
      ebe94192
    • caitp's avatar
      [ignition] desugar GetIterator() via bytecode rather than via AST · b5f146a0
      caitp authored
      Introduces:
      - a new AST node representing the GetIterator() algorithm in the specification, to be used by ForOfStatement, YieldExpression (in the case of delegating yield*), and the future `for-await-of` loop proposed in http://tc39.github.io/proposal-async-iteration/#sec-async-iterator-value-unwrap-functions.
      - a new opcode (JumpIfJSReceiver), which is useful for `if Type(object) is not Object` checks which are common throughout the specification. This node is easily eliminated by TurboFan.
      
      The AST node is desugared specially in bytecode, rather than manually when building the AST. The benefit of this is that desugaring in the BytecodeGenerator is much simpler and easier to understand than desugaring the AST.
      
      This also reduces parse time very slightly, and allows us to use LoadIC rather than KeyedLoadIC, which seems to have  better baseline performance. This results in a ~20% improvement in test/js-perf-test/Iterators micro-benchmarks, which I believe owes to the use of the slightly faster LoadIC as opposed to the KeyedLoadIC in the baseline case. Both produce identical optimized code via TurboFan when the type check can be eliminated, and the load can be replaced with a constant value.
      
      BUG=v8:4280
      R=bmeurer@chromium.org, rmcilroy@chromium.org, adamk@chromium.org, neis@chromium.org, jarin@chromium.org
      TBR=rossberg@chromium.org
      
      Review-Url: https://codereview.chromium.org/2557593004
      Cr-Commit-Position: refs/heads/master@{#41555}
      b5f146a0
    • mvstanton's avatar
      Store OSR'd optimized code on the native context. · 378b6b22
      mvstanton authored
      Since we OSR code rarely, it makes sense to store it and look for it on the native context rather than the SharedFunctionInfo. This makes the OptimizedCodeMap data structure more space efficient, as it doesn't have to store an ast ID for the OSR entry point.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2549753002
      Cr-Commit-Position: refs/heads/master@{#41554}
      378b6b22