1. 20 Feb, 2017 27 commits
  2. 19 Feb, 2017 2 commits
  3. 18 Feb, 2017 4 commits
  4. 17 Feb, 2017 7 commits
    • gsathya's avatar
      [ESnext] Implement Promise.prototype.finally · 18ad0f13
      gsathya authored
      Adds five new TF builtins for the spec defined functions/closures. This follows
      mechanism similar to promise resolving functions approach where we store the
      closure variables in a custom context.
      
      Adds a new --harmony-promise-finally flag.
      
      BUG=v8:5967
      
      Review-Url: https://codereview.chromium.org/2695753002
      Cr-Commit-Position: refs/heads/master@{#43294}
      18ad0f13
    • bmeurer's avatar
      [turbofan] Don't report failed map check as failed instance migration. · 00a379a0
      bmeurer authored
      Failed instance migration should only be reported if the map of the
      object was originally marked as deprecated. Otherwise it's pretty
      confusing to investigate deoptimizations.
      
      R=jarin@chromium.org
      
      Review-Url: https://codereview.chromium.org/2700143002
      Cr-Commit-Position: refs/heads/master@{#43293}
      00a379a0
    • binji's avatar
      Make regress-crbug-514081 less flaky by having max serialization size · 4dfd5e5e
      binji authored
      BUG=v8:5906
      R=machenbach@chromium.org
      
      Review-Url: https://codereview.chromium.org/2697723004
      Cr-Commit-Position: refs/heads/master@{#43292}
      4dfd5e5e
    • Georg Neis's avatar
      [ast] Add DCHECKs that ensure the AST contains no dead scopes. · 0f1f54c2
      Georg Neis authored
      Until recently, it sometimes did.
      
      BUG=
      
      Change-Id: I8785c1865909e6f46693b71c9146d4fa17114fce
      Reviewed-on: https://chromium-review.googlesource.com/444188
      Commit-Queue: Adam Klein <adamk@chromium.org>
      Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#43291}
      0f1f54c2
    • danno's avatar
      [interpreter] Create custom call opcodes for specific argument counts · 00d6f1f8
      danno authored
      Specifically, add bytecodes for Call0, Call1, Call2, CallProperty0, CallProperty1,
      and CallProperty2. Also share the bytecode handler code between between
      equivalent CallX and CallPropertyX handlers.
      
      Review-Url: https://codereview.chromium.org/2684993002
      Cr-Commit-Position: refs/heads/master@{#43290}
      00d6f1f8
    • eholk's avatar
      [wasm] Syntax- and Type-aware Fuzzer · 3e1db847
      eholk authored
      This is the beginning of a new fuzzer that generates
      correct-by-construction Wasm modules. This should allow us to better
      exercise the compiler and correctness aspects of fuzzing. It is based off
      of ahaas' original Wasm fuzzer.
      
      At the moment, it can generate expressions made up of most binops, and
      also nested blocks with unconditional breaks. Future CLs will add
      additional constructs, such as br_if, loops, memory access, etc.
      
      The way the fuzzer works is that it starts with an array of arbitrary
      data provided by libfuzzer. It uses the data to generate an expression.
      Care is taken to make use of the entire string. Basically, the
      generator has a bunch of grammar-like rules for how to construct an
      expression of a given type. For example, an i32 can be made by adding
      two other i32s, or by wrapping an i64. The process then continues
      recursively until all the data is consumed.
      
      We generate an expression from a slice of data as follows:
      * If the slice is less than or equal to the size of the type (e.g. 4
        bytes for i32), then it will emit the entire slice as a constant.
      * Otherwise, it will consume the first 4 bytes of the slice and use
        this to select which rule to apply. Each rule then consumes the
        remainder of the slice in an appropriate way. For example:
        * Unary ops use the remainder of the slice to generate the argument.
        * Binary ops consume another four bytes and mod this with the length
          of the remaining slice to split the slice into two parts. Each of
          these subslices are then used to generate one of the arguments to
          the binop.
        * Blocks are basically like a unary op, but a stack of block types is
          maintained to facilitate branches. For blocks that end in a break,
          the first four bytes of a slice are used to select the break depth
          and the stack determines what type of expression to generate.
      The goal is that once this generator is complete, it will provide a one
      to one mapping between binary strings and valid Wasm modules.
      
      Review-Url: https://codereview.chromium.org/2658723006
      Cr-Commit-Position: refs/heads/master@{#43289}
      3e1db847
    • Igor Sheludko's avatar
      [csa] Rename GotoUnless to GotoIfNot. · 76c65af8
      Igor Sheludko authored
      BUG=
      
      Change-Id: Ifc441739ef730a0b2278be0b662413c223631a72
      Reviewed-on: https://chromium-review.googlesource.com/444190Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Commit-Queue: Igor Sheludko <ishell@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#43288}
      76c65af8