1. 25 Jan, 2019 4 commits
  2. 24 Jan, 2019 7 commits
  3. 23 Jan, 2019 6 commits
  4. 22 Jan, 2019 3 commits
  5. 21 Jan, 2019 2 commits
  6. 18 Jan, 2019 2 commits
    • Predrag Rudic's avatar
      MIPS32: Configure heap for snapshot with maximum reserved memory. · 27a71e94
      Predrag Rudic authored
      MIPS32 doesn't have constraint for maximum code range or maximum PC
      relative code range, and allocation of kMaxPCRelativeCodeRangeInMB
      memory results in OOM failure from allocator.
      
      This patch also skips verifying transitive builtins for 64-bit MIPS
      because it doesn't have implemented pc-relative calls and jumps yet.
      
      Change-Id: I7cad154827c2a9fd274901895a5a54c5ce176b03
      Reviewed-on: https://chromium-review.googlesource.com/c/1414853Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
      Commit-Queue: Predrag Rudic <prudic@wavecomp.com>
      Cr-Commit-Position: refs/heads/master@{#58927}
      27a71e94
    • Maya Lekova's avatar
      Revert "Change SetProperty/SetSuperProperty to infer language mode when possible" · 697885b9
      Maya Lekova authored
      This reverts commit 0896599f.
      
      Reason for revert: Speculative revert, seems to cause a layout test failure blocking the LKGR - https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8-Blink%20Linux%2064/29320
      
      Original change's description:
      > Change SetProperty/SetSuperProperty to infer language mode when possible
      > 
      > In most cases, the language mode can be inferred from the closure and
      > the context. Computing the language mode instead of passing it around
      > simplifies the ICs and will make it possible to go towards lazily
      > allocating feedback vectors. Currently ICs obtain the language mode from
      > the feedback vectors and with lazy feedback allocation we may not always
      > have feedback vectors. Since computing language mode is a bit expensive
      > we want to defer it as far as possible.
      > 
      > In Array builtins and other builtins like Reflect.Set we need to force a
      > language mode when setting the properties. To support these cases the
      > SetProperty methods allow the language mode to be overridden when needed.
      > 
      > This is a first cl in a series of cls, that will defer the language mode
      > computation further and remove language mode where it is not needed.
      > 
      > BUG: v8:8580
      > Change-Id: I9c2396e3bcfe77c3c9d6760c46d86954d54744b9
      > Reviewed-on: https://chromium-review.googlesource.com/c/1409426
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Commit-Queue: Mythri Alle <mythria@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#58893}
      
      TBR=mlippautz@chromium.org,mythria@chromium.org,jgruber@chromium.org,verwaest@chromium.org
      
      Change-Id: I2e0f80a4577a8ca86c05a62205f9dfa488418a52
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/1420758Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Commit-Queue: Maya Lekova <mslekova@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58911}
      697885b9
  7. 17 Jan, 2019 7 commits
  8. 16 Jan, 2019 3 commits
    • Daniel Clifford's avatar
      [torque] Implement methods and constructors for structs and classes · b615dfa5
      Daniel Clifford authored
      With the changes in this patch,	it is now possible to add methods to
      both Torque's class and struct types. As a special case, "constructor"
      methods are used to initialize the values of classes and structs when
      they are constructed.
      
      The functionality in this patch	includes:
      
      - The refactoring of class- and struct-handling code to share field
        and method declaration code between both.
      
      - Addition of the "%Allocate" intrinsic that allocates raw bytes to be
        allocated from the V8 GC's NewSpace heap as the basis for freshly
        created, initialized class objects.
      
      - An implementation of a CallMethodExpression AST node that enables
        calling methods and constructors, including special handling of
        passing through the "this" pointer for method calls on structs by
        reference. The syntax for struct construction using "{}" remains as
        before, but now calls the struct's matching constructor rather than
        implicitly initializing the struct fields with the initialization
        arguments. A new syntax for allocation classes is introduced: "new
        ClassName{constructor_param1, constructor_param1, ...}", which
        de-sugars to an %Allocate call followed by a call to the matching
        constructor.
      
      - class	constructors can use the "super" keyword to initialize	their
        super class.
      
      - If classes and struct do not have a constructor, Torque creates a
        default constructor for them based on their field declarations,
        where each field's initial value is assigned to a same-typed
        parameter to the the default constructor. The default constructor's
        parameters are in field-declaration order, and for derived classes,
        the default constructor automatically uses a "super" initialization
        call to initialize inherited fields.
      
      - Class field declarations now automatically create ".field" and
        ".field=" operators that create CSA-compatible object accessors.
      
      - Addition of a no-argument constructor for JSArrays that creates an
        empty, PACKED_SMI_ELEMENTS JSArray using the machinery added
        elsewhere in this patch.
      
      Bug: v8:7793
      Change-Id: I31ce5f4b444656ab999555d780aeeba605666bfa
      Reviewed-on: https://chromium-review.googlesource.com/c/1392192
      Commit-Queue: Daniel Clifford <danno@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58860}
      b615dfa5
    • Ben L. Titzer's avatar
      [wasm] Implement table.copy bytecode · 8a40e88d
      Ben L. Titzer authored
      The table.copy bytecode copies a range of table entries in a similar
      way to memcopy. This CL implements the behavior in a runtime call
      that calls into the wasm engine.
      
      R=mstarzinger@chromium.org,binji@chromium.org
      BUG=v8:7747
      
      Change-Id: I420451202b1b78ea92cbd10387a644ed57e111c8
      Reviewed-on: https://chromium-review.googlesource.com/c/1414919
      Commit-Queue: Ben Titzer <titzer@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58858}
      8a40e88d
    • Jakob Gruber's avatar
      [nojit] Convert generated memcpy functions into builtins · 61cb1133
      Jakob Gruber authored
      On ia32, arm and mips we generate miscellaneous memcpy-related functions
      at runtime:
      
      arm: memcpy for uint8-uint8 and uint16-uint8 {dest-source} pairs.
      ia32: memmove
      mips: memcpy uint8-uint8
      
      In jitless mode, runtime codegen is disallowed, so these must be
      converted into builtins.
      
      As far as I can tell, the mips64 files were dead code (#ifdef'd to
      V8_HOST_ARCH_MIPS instead of MIPS64).
      
      Note also the slightly changed implementation of ia32's MemMove's
      jump tables.
      
      Bug: v8:8675
      Change-Id: I5dc2a50fcbad332ce9f78228425b987b0d9acdf3
      Reviewed-on: https://chromium-review.googlesource.com/c/1407067Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58839}
      61cb1133
  9. 15 Jan, 2019 2 commits
  10. 14 Jan, 2019 3 commits
  11. 11 Jan, 2019 1 commit