1. 02 May, 2017 12 commits
  2. 01 May, 2017 4 commits
  3. 30 Apr, 2017 2 commits
  4. 29 Apr, 2017 7 commits
  5. 28 Apr, 2017 15 commits
    • Andreas Haas's avatar
      [wasm] Move the wasm fuzzer corpus to a different directory · 1f629aac
      Andreas Haas authored
      The current test/fuzzer/wasm directory is used for two things:
      1) as the corpus directory for clusterfuzz
      2) to test in v8 that the fuzzer runs correctly.
      
      With the newly added files from the wasm spec tests this directory grew
      quite big and adds unnecessary load on the trybots. Therefore I want to
      do the following steps:
      1) In this CL for V8: create a new directory for the clusterfuzz corpus
      2) In chromium: use the new corpus directory
      3) In v8: clean up the old directory to use it on the trybots.
      
      R=bradnelson@chromium.org
      CC=mmoroz@chromium.org
      
      Change-Id: If690022558bb5780edf5a3649fb9745ef9c7407a
      Reviewed-on: https://chromium-review.googlesource.com/490367
      Commit-Queue: Brad Nelson <bradnelson@chromium.org>
      Reviewed-by: 's avatarBrad Nelson <bradnelson@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44991}
      1f629aac
    • kozyatinskiy's avatar
      [inspector] better stacks for promises · f2bd913c
      kozyatinskiy authored
      - we should always set creation async stack if it's available regardless existing of current parent async stack,
      - we should cleanup parent link iff there is no creation and schedule async stack for parent.
      
      Let's consider example: Promise.resolve().then(x => x).then(x => x), there is three promises which will call following instrumentation:
      1) created #1 (Promise.resolve()) - collected stack #1
      2) scheduled #1 - collected stack #2
      3) created #2 with #1 as parent (first .then) - collected stack #3
      4) created #3 with #2 as parent (first .then) - collected stack #4
      5) started #2 - use stack #2 as scheduled
      6) scheduled #2 - collected stack #6
      7) finished #2
      8) started #3 - use stack #6 as scheduled
      9) scheduled #3 - collected stack #7
      10) finished #3
      
      If we collect stacks between step 4 and 5, it's possible to collect scheduled stack #2 but still have creation stack for #2 - stack #3 - so we always need to add creation event if scheduled is collected.
      
      If we collect stacks between created and scheduled we should not remove parent link even if parent was not scheduled yet.
      
      BUG=v8:6189
      R=dgozman@chromium.org
      
      Review-Url: https://codereview.chromium.org/2844753002
      Cr-Commit-Position: refs/heads/master@{#44990}
      f2bd913c
    • stanisc's avatar
      Optimized layout padding in 4 classes in ast.h · 6408032e
      stanisc authored
      This reduces sizeof of these classes by 8 bytes on 64-bit
      (16 bytes considering allocation size granularity for some of these classes).
      
      I don't know how many instances remain at the end of loading a page. These objects are Zone objects which makes it more difficult to count the number
      of instances. But looking at allocations only on cnn.com I've got 70K for
      BinaryOperation, 20K for CompareOperation, 1.5K for CaseClause. There aren't
      not many allocations of NativeFunctionLiteral but I decided to fix it too to
      keep the same layout pattern.
      
      Before:
          class v8::internal::CaseClause [sizeof = 56]
            : public v8::internal::Expression {
            [sizeof=12] v8::internal::Expression
            <padding> (4 bytes)
            [sizeof=8] v8::internal::Expression* label_
            [sizeof=8] v8::internal::Label body_target_
            [sizeof=8] v8::internal::ZoneList<v8::internal::Statement *>* statements_
            [sizeof=8] v8::internal::AstType* compare_type_
            [sizeof=4] v8::internal::FeedbackSlot feedback_slot_
            <padding> (4 bytes)
          }
      
      After:
          class v8::internal::CaseClause [sizeof = 48]
            : public v8::internal::Expression {
            [sizeof=12] v8::internal::Expression
            [sizeof=4] v8::internal::FeedbackSlot feedback_slot_
            [sizeof=8] v8::internal::Expression* label_
            [sizeof=8] v8::internal::Label body_target_
            [sizeof=8] v8::internal::ZoneList<v8::internal::Statement *>* statements_
            [sizeof=8] v8::internal::AstType* compare_type_
          }
      
      Before:
          class v8::internal::BinaryOperation [sizeof = 56]
            : public v8::internal::Expression {
            [sizeof=12] v8::internal::Expression
            [sizeof=1] bool has_fixed_right_arg_
            <padding> (3 bytes)
            [sizeof=4] int fixed_right_arg_value_
            <padding> (4 bytes)
            [sizeof=8] v8::internal::Expression* left_
            [sizeof=8] v8::internal::Expression* right_
            [sizeof=8] v8::internal::Handle<v8::internal::AllocationSite> allocation_site_
            [sizeof=4] v8::internal::FeedbackSlot feedback_slot_
            <padding> (4 bytes)
          }
      
      After:
          class v8::internal::BinaryOperation [sizeof = 48]
            : public v8::internal::Expression {
            [sizeof=12] v8::internal::Expression
            [sizeof=4] v8::internal::FeedbackSlot feedback_slot_
            [sizeof=8] v8::internal::Expression* left_
            [sizeof=8] v8::internal::Expression* right_
            [sizeof=8] v8::internal::Handle<v8::internal::AllocationSite> allocation_site_
            [sizeof=1] bool has_fixed_right_arg_
            <padding> (3 bytes)
            [sizeof=4] int fixed_right_arg_value_
          }
      
      Before:
          class v8::internal::CompareOperation [sizeof = 48]
            : public v8::internal::Expression {
            [sizeof=12] v8::internal::Expression
            <padding> (4 bytes)
            [sizeof=8] v8::internal::Expression* left_
            [sizeof=8] v8::internal::Expression* right_
            [sizeof=8] v8::internal::AstType* combined_type_
            [sizeof=4] v8::internal::FeedbackSlot feedback_slot_
            <padding> (4 bytes)
          }
      
      After:
          class v8::internal::CompareOperation [sizeof = 40]
            : public v8::internal::Expression {
            [sizeof=12] v8::internal::Expression
            [sizeof=4] v8::internal::FeedbackSlot feedback_slot_
            [sizeof=8] v8::internal::Expression* left_
            [sizeof=8] v8::internal::Expression* right_
            [sizeof=8] v8::internal::AstType* combined_type_
          }
      
      Before:
          class v8::internal::NativeFunctionLiteral [sizeof = 40]
            : public v8::internal::Expression {
            [sizeof=12] v8::internal::Expression
            <padding> (4 bytes)
            [sizeof=8] v8::internal::AstRawString* name_
            [sizeof=8] v8::Extension* extension_
            [sizeof=4] v8::internal::FeedbackSlot literal_feedback_slot_
            <padding> (4 bytes)
          }
      
      After:
          class v8::internal::NativeFunctionLiteral [sizeof = 32]
            : public v8::internal::Expression {
            [sizeof=12] v8::internal::Expression
            [sizeof=4] v8::internal::FeedbackSlot literal_feedback_slot_
            [sizeof=8] v8::internal::AstRawString* name_
            [sizeof=8] v8::Extension* extension_
          }
      
      BUG=chromium:710933
      
      Review-Url: https://codereview.chromium.org/2843293003
      Cr-Commit-Position: refs/heads/master@{#44989}
      6408032e
    • kschimpf's avatar
      Remove collecting data on max memory pages for asm.js, not applicable. · 7e4282d5
      kschimpf authored
      Only WASM has the notion of changing the maximum memory pages. This
      CL corrects the UMA stats to only collect this data for WASM only.
      
      BUG=v8:6321
      R=bradnelson@chromium.org,bbudge@chromium.org
      
      Review-Url: https://codereview.chromium.org/2845163002
      Cr-Commit-Position: refs/heads/master@{#44988}
      7e4282d5
    • Franziska Hinkelmann's avatar
      [cleanup] Delete unused FindEntryById. · b05ddffb
      Franziska Hinkelmann authored
      Bug:v8:6325
      
      Change-Id: I8ab20111f53207178e4d17bfe5b55266d7c17916
      Reviewed-on: https://chromium-review.googlesource.com/490306Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Franziska Hinkelmann <franzih@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44987}
      b05ddffb
    • Franziska Hinkelmann's avatar
      [cleanup] Add DCHECK for implicit assumption. · f2d0520c
      Franziska Hinkelmann authored
      Bug:v8:6325
      
      Change-Id: I0c66d24994a4b6811c7aec80f4aa298ba6d209e4
      Reviewed-on: https://chromium-review.googlesource.com/490366Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Franziska Hinkelmann <franzih@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44986}
      f2d0520c
    • Mythri's avatar
      Use --opt instead of --crankshaft in tests. · 7371c34b
      Mythri authored
      1. Replaces --crankshaft with --opt in tests.
      2. Also fixes presubmit to check for --opt flag when
      assertOptimized is used.
      3. Updates testrunner/local/variants.py and 
      v8_foozie.py to use --opt flag.
      This would mean, nooptimize variant means there are
      no optimizations. Not even with %OptimizeFunctionOnNextCall.
      
      Bug:v8:6325
      
      Change-Id: I638e743d0773a6729c6b9749e2ca1e2537f12ce6
      Reviewed-on: https://chromium-review.googlesource.com/490206
      Commit-Queue: Mythri Alle <mythria@chromium.org>
      Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44985}
      7371c34b
    • Toon Verwaest's avatar
      [cleanup] Rename global_object_template to global_proxy_template · 7f67b986
      Toon Verwaest authored
      Bug: v8:6325
      Change-Id: I2f15a504690c334a43620bfd396a7fab10340b46
      Reviewed-on: https://chromium-review.googlesource.com/489524Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44984}
      7f67b986
    • mlippautz's avatar
      [heap] Cleanup: Untangle marking state and deque in incremental marking · df319447
      mlippautz authored
      BUG=v8:6325, v8:6330
      
      Review-Url: https://codereview.chromium.org/2847953002
      Cr-Commit-Position: refs/heads/master@{#44983}
      df319447
    • Igor Sheludko's avatar
      [ic] Remove disabled --collect-megamorphic-maps-from-stub-cache option. · 0cd4ab71
      Igor Sheludko authored
      ... and stop checking that the native contexts of maps recorded in feedback vector
      match function's native context - the feedback vector machinery already guarantees
      that.
      
      BUG=v8:6325
      
      Change-Id: Iacd3f3a5f703694ff57b774b9658e186ad66641b
      Reviewed-on: https://chromium-review.googlesource.com/490084Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Commit-Queue: Igor Sheludko <ishell@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44982}
      0cd4ab71
    • Franziska Hinkelmann's avatar
      [cleanup] Replace List::BinarySearch with std::lower_bound. · f63aaee9
      Franziska Hinkelmann authored
      Also-by:ahaas@chromium.org
      R:ahaas@chromium.org
      Bug:v8:6325
      
      Change-Id: I5fc7891a2201ac9a889bceec668b23b46e402545
      Reviewed-on: https://chromium-review.googlesource.com/490109Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Franziska Hinkelmann <franzih@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44981}
      f63aaee9
    • Franziska Hinkelmann's avatar
      [cleanup] Make heap "Reservation" an std::vector. · a93a7694
      Franziska Hinkelmann authored
      There's no point in using our own implemention of List for this.
      
      Bug:v8:6325
      
      Change-Id: Idf3399bbaaf50f9e1fc7b16c67ea2c6246dd6574
      Reviewed-on: https://chromium-review.googlesource.com/489949Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Franziska Hinkelmann <franzih@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44980}
      a93a7694
    • Marja Hölttä's avatar
      [cleanup & objects.h splitting] Move StringHasher · 95a7cfe0
      Marja Hölttä authored
      BUG=v8:6325,v8:5402
      
      Change-Id: If0c975fe377c0178c488fc1bedd02f9c8289ebbc
      Reviewed-on: https://chromium-review.googlesource.com/490086Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Marja Hölttä <marja@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44979}
      95a7cfe0
    • Franziska Hinkelmann's avatar
      [cleanup] Delete unused function. · f05c09dd
      Franziska Hinkelmann authored
      Also-by:ahaas@chromium.org
      R:ahaas@chromium.org
      
      Bug:v8:6325
      
      Change-Id: If9212dc1d47789d0732b72b69532676907cb21ab
      Reviewed-on: https://chromium-review.googlesource.com/490089Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Franziska Hinkelmann <franzih@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44978}
      f05c09dd
    • ulan's avatar
      [heap] Remove unused field of IterateAndScavengePromotedObjectsVisitor. · 1c542144
      ulan authored
      BUG=v8:6325
      
      Review-Url: https://codereview.chromium.org/2849763004
      Cr-Commit-Position: refs/heads/master@{#44977}
      1c542144