Title: [231492] trunk

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (231491 => 231492)


--- trunk/Source/_javascript_Core/ChangeLog	2018-05-08 17:44:02 UTC (rev 231491)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-05-08 17:52:55 UTC (rev 231492)
@@ -1,3 +1,16 @@
+2018-05-08  Ryan Haddad  <[email protected]>
+
+        Unreviewed, rolling out r231468.
+
+        Broke the CLoop build
+
+        Reverted changeset:
+
+        "InPlaceAbstractState::beginBasicBlock shouldn't have to clear
+        any abstract values"
+        https://bugs.webkit.org/show_bug.cgi?id=185365
+        https://trac.webkit.org/changeset/231468
+
 2018-05-07  Daniel Bates  <[email protected]>
 
         Check X-Frame-Options and CSP frame-ancestors in network process

Modified: trunk/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h (231491 => 231492)


--- trunk/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h	2018-05-08 17:44:02 UTC (rev 231491)
+++ trunk/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h	2018-05-08 17:52:55 UTC (rev 231492)
@@ -3405,6 +3405,8 @@
     case CheckTraps:
     case LogShadowChickenPrologue:
     case LogShadowChickenTail:
+        break;
+
     case ProfileType:
     case ProfileControlFlow:
     case Phantom:
@@ -3414,10 +3416,6 @@
     case CheckTypeInfoFlags:
     case SuperSamplerBegin:
     case SuperSamplerEnd:
-    case CheckTierUpAndOSREnter:
-    case LoopHint:
-    case ZombieHint:
-    case ExitOK:
         break;
 
     case ParseInt: {
@@ -3479,6 +3477,10 @@
         break;
     }
         
+    case CheckTierUpAndOSREnter:
+    case LoopHint:
+    case ZombieHint:
+    case ExitOK:
         break;
 
     case Unreachable:

Modified: trunk/Source/_javascript_Core/dfg/DFGAbstractValue.cpp (231491 => 231492)


--- trunk/Source/_javascript_Core/dfg/DFGAbstractValue.cpp	2018-05-08 17:44:02 UTC (rev 231491)
+++ trunk/Source/_javascript_Core/dfg/DFGAbstractValue.cpp	2018-05-08 17:52:55 UTC (rev 231492)
@@ -53,9 +53,9 @@
     if (!!value && value.value().isCell()) {
         Structure* structure = value.structure();
         StructureRegistrationResult result;
-        RegisteredStructure registeredStructure = graph.registerStructure(structure, result);
+        RegisteredStructure RegisteredStructure = graph.registerStructure(structure, result);
         if (result == StructureRegisteredAndWatched) {
-            m_structure = registeredStructure;
+            m_structure = RegisteredStructure;
             if (clobberState == StructuresAreClobbered) {
                 m_arrayModes = ALL_ARRAY_MODES;
                 m_structure.clobber();

Modified: trunk/Source/_javascript_Core/dfg/DFGAbstractValue.h (231491 => 231492)


--- trunk/Source/_javascript_Core/dfg/DFGAbstractValue.h	2018-05-08 17:44:02 UTC (rev 231491)
+++ trunk/Source/_javascript_Core/dfg/DFGAbstractValue.h	2018-05-08 17:52:55 UTC (rev 231492)
@@ -251,7 +251,7 @@
         return !(*this == other);
     }
     
-    ALWAYS_INLINE bool merge(const AbstractValue& other)
+    bool merge(const AbstractValue& other)
     {
         if (other.isClear())
             return false;

Modified: trunk/Source/_javascript_Core/dfg/DFGConstantFoldingPhase.cpp (231491 => 231492)


--- trunk/Source/_javascript_Core/dfg/DFGConstantFoldingPhase.cpp	2018-05-08 17:44:02 UTC (rev 231491)
+++ trunk/Source/_javascript_Core/dfg/DFGConstantFoldingPhase.cpp	2018-05-08 17:52:55 UTC (rev 231492)
@@ -852,7 +852,7 @@
                 // about such things.
                 break;
             }
-            if (!node->shouldGenerate() || m_state.didClobber() || node->hasConstant() || !node->result())
+            if (!node->shouldGenerate() || m_state.didClobber() || node->hasConstant())
                 continue;
             
             // Interesting fact: this freezing that we do right here may turn an fragile value into

Modified: trunk/Source/_javascript_Core/dfg/DFGGraph.h (231491 => 231492)


--- trunk/Source/_javascript_Core/dfg/DFGGraph.h	2018-05-08 17:44:02 UTC (rev 231491)
+++ trunk/Source/_javascript_Core/dfg/DFGGraph.h	2018-05-08 17:52:55 UTC (rev 231492)
@@ -84,12 +84,23 @@
                     thingToDo(_node, (graph).m_varArgChildren[_childIdx]); \
             }                                                           \
         } else {                                                        \
-            for (unsigned _edgeIndex = 0; _edgeIndex < AdjacencyList::Size; _edgeIndex++) { \
-                Edge& _edge = _node->children.child(_edgeIndex);        \
-                if (!_edge)                                             \
-                    break;                                              \
-                thingToDo(_node, _edge);                                \
+            if (!_node->child1()) {                                     \
+                ASSERT(                                                 \
+                    !_node->child2()                                    \
+                    && !_node->child3());                               \
+                break;                                                  \
             }                                                           \
+            thingToDo(_node, _node->child1());                          \
+                                                                        \
+            if (!_node->child2()) {                                     \
+                ASSERT(!_node->child3());                               \
+                break;                                                  \
+            }                                                           \
+            thingToDo(_node, _node->child2());                          \
+                                                                        \
+            if (!_node->child3())                                       \
+                break;                                                  \
+            thingToDo(_node, _node->child3());                          \
         }                                                               \
     } while (false)
 
@@ -708,13 +719,13 @@
     }
     
     template<typename ChildFunctor>
-    ALWAYS_INLINE void doToChildrenWithNode(Node* node, const ChildFunctor& functor)
+    void doToChildrenWithNode(Node* node, const ChildFunctor& functor)
     {
         DFG_NODE_DO_TO_CHILDREN(*this, node, functor);
     }
     
     template<typename ChildFunctor>
-    ALWAYS_INLINE void doToChildren(Node* node, const ChildFunctor& functor)
+    void doToChildren(Node* node, const ChildFunctor& functor)
     {
         doToChildrenWithNode(
             node,

Modified: trunk/Source/_javascript_Core/dfg/DFGInPlaceAbstractState.cpp (231491 => 231492)


--- trunk/Source/_javascript_Core/dfg/DFGInPlaceAbstractState.cpp	2018-05-08 17:44:02 UTC (rev 231491)
+++ trunk/Source/_javascript_Core/dfg/DFGInPlaceAbstractState.cpp	2018-05-08 17:52:55 UTC (rev 231492)
@@ -60,6 +60,13 @@
     ASSERT(basicBlock->variablesAtHead.numberOfLocals() == basicBlock->variablesAtTail.numberOfLocals());
 
     m_abstractValues.resize();
+    
+    for (size_t i = 0; i < basicBlock->size(); i++) {
+        NodeFlowProjection::forEach(
+            basicBlock->at(i), [&] (NodeFlowProjection nodeProjection) {
+                forNode(nodeProjection).clear();
+            });
+    }
 
     AbstractValueClobberEpoch epoch = AbstractValueClobberEpoch::first(basicBlock->cfaStructureClobberStateAtHead);
     m_effectEpoch = epoch;

Modified: trunk/Source/_javascript_Core/jit/JIT.cpp (231491 => 231492)


--- trunk/Source/_javascript_Core/jit/JIT.cpp	2018-05-08 17:44:02 UTC (rev 231491)
+++ trunk/Source/_javascript_Core/jit/JIT.cpp	2018-05-08 17:52:55 UTC (rev 231492)
@@ -1011,11 +1011,6 @@
     return result;
 }
 
-Seconds JIT::totalCompileTime()
-{
-    return totalBaselineCompileTime + totalDFGCompileTime + totalFTLCompileTime;
-}
-
 } // namespace JSC
 
 #endif // ENABLE(JIT)

Modified: trunk/Source/_javascript_Core/jit/JIT.h (231491 => 231492)


--- trunk/Source/_javascript_Core/jit/JIT.h	2018-05-08 17:44:02 UTC (rev 231491)
+++ trunk/Source/_javascript_Core/jit/JIT.h	2018-05-08 17:52:55 UTC (rev 231492)
@@ -250,7 +250,6 @@
         static int stackPointerOffsetFor(CodeBlock*);
 
         JS_EXPORT_PRIVATE static HashMap<CString, Seconds> compileTimeStats();
-        JS_EXPORT_PRIVATE static Seconds totalCompileTime();
 
     private:
         void privateCompileMainPass();

Modified: trunk/Source/_javascript_Core/jsc.cpp (231491 => 231492)


--- trunk/Source/_javascript_Core/jsc.cpp	2018-05-08 17:44:02 UTC (rev 231491)
+++ trunk/Source/_javascript_Core/jsc.cpp	2018-05-08 17:52:55 UTC (rev 231492)
@@ -347,7 +347,6 @@
 static EncodedJSValue JSC_HOST_CALL functionFlashHeapAccess(ExecState*);
 static EncodedJSValue JSC_HOST_CALL functionDisableRichSourceInfo(ExecState*);
 static EncodedJSValue JSC_HOST_CALL functionMallocInALoop(ExecState*);
-static EncodedJSValue JSC_HOST_CALL functionTotalCompileTime(ExecState*);
 
 struct Script {
     enum class StrictMode {
@@ -607,7 +606,6 @@
 
         addFunction(vm, "disableRichSourceInfo", functionDisableRichSourceInfo, 0);
         addFunction(vm, "mallocInALoop", functionMallocInALoop, 0);
-        addFunction(vm, "totalCompileTime", functionTotalCompileTime, 0);
     }
     
     void addFunction(VM& vm, JSObject* object, const char* name, NativeFunction function, unsigned arguments)
@@ -1811,11 +1809,6 @@
     return JSValue::encode(jsUndefined());
 }
 
-EncodedJSValue JSC_HOST_CALL functionTotalCompileTime(ExecState*)
-{
-    return JSValue::encode(jsNumber(JIT::totalCompileTime().milliseconds()));
-}
-
 template<typename ValueType>
 typename std::enable_if<!std::is_fundamental<ValueType>::value>::type addOption(VM&, JSObject*, Identifier, ValueType) { }
 

Modified: trunk/Source/WTF/ChangeLog (231491 => 231492)


--- trunk/Source/WTF/ChangeLog	2018-05-08 17:44:02 UTC (rev 231491)
+++ trunk/Source/WTF/ChangeLog	2018-05-08 17:52:55 UTC (rev 231492)
@@ -1,3 +1,16 @@
+2018-05-08  Ryan Haddad  <[email protected]>
+
+        Unreviewed, rolling out r231468.
+
+        Broke the CLoop build
+
+        Reverted changeset:
+
+        "InPlaceAbstractState::beginBasicBlock shouldn't have to clear
+        any abstract values"
+        https://bugs.webkit.org/show_bug.cgi?id=185365
+        https://trac.webkit.org/changeset/231468
+
 2018-05-07  Yusuke Suzuki  <[email protected]>
 
         [JSCONLY] Enable ARMv7 DFG

Modified: trunk/Source/WTF/wtf/TinyPtrSet.h (231491 => 231492)


--- trunk/Source/WTF/wtf/TinyPtrSet.h	2018-05-08 17:44:02 UTC (rev 231491)
+++ trunk/Source/WTF/wtf/TinyPtrSet.h	2018-05-08 17:52:55 UTC (rev 231492)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2015-2018 Apple Inc. All rights reserved.
+ * Copyright (C) 2015-2016 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -103,7 +103,7 @@
     }
     
     // Returns true if the value was added, or false if the value was already there.
-    ALWAYS_INLINE bool add(T value)
+    bool add(T value)
     {
         ASSERT(value);
         if (isThin()) {
@@ -156,7 +156,7 @@
         return containsOutOfLine(value);
     }
     
-    ALWAYS_INLINE bool merge(const TinyPtrSet& other)
+    bool merge(const TinyPtrSet& other)
     {
         if (other.isThin()) {
             if (other.singleEntry())
@@ -164,7 +164,25 @@
             return false;
         }
         
-        return mergeOtherOutOfLine(other);
+        OutOfLineList* list = other.list();
+        if (list->m_length >= 2) {
+            if (isThin()) {
+                OutOfLineList* myNewList = OutOfLineList::create(
+                    list->m_length + !!singleEntry());
+                if (singleEntry()) {
+                    myNewList->m_length = 1;
+                    myNewList->list()[0] = singleEntry();
+                }
+                set(myNewList);
+            }
+            bool changed = false;
+            for (unsigned i = 0; i < list->m_length; ++i)
+                changed |= addOutOfLine(list->list()[i]);
+            return changed;
+        }
+        
+        ASSERT(list->m_length);
+        return add(list->list()[0]);
     }
     
     template<typename Functor>
@@ -361,7 +379,7 @@
 
     static const unsigned defaultStartingSize = 4;
     
-    NEVER_INLINE bool addOutOfLine(T value)
+    bool addOutOfLine(T value)
     {
         OutOfLineList* list = this->list();
         for (unsigned i = 0; i < list->m_length; ++i) {
@@ -384,29 +402,6 @@
         return true;
     }
     
-    NEVER_INLINE bool mergeOtherOutOfLine(const TinyPtrSet& other)
-    {
-        OutOfLineList* list = other.list();
-        if (list->m_length >= 2) {
-            if (isThin()) {
-                OutOfLineList* myNewList = OutOfLineList::create(
-                    list->m_length + !!singleEntry());
-                if (singleEntry()) {
-                    myNewList->m_length = 1;
-                    myNewList->list()[0] = singleEntry();
-                }
-                set(myNewList);
-            }
-            bool changed = false;
-            for (unsigned i = 0; i < list->m_length; ++i)
-                changed |= addOutOfLine(list->list()[i]);
-            return changed;
-        }
-        
-        ASSERT(list->m_length);
-        return add(list->list()[0]);
-    }
-    
     bool containsOutOfLine(T value) const
     {
         OutOfLineList* list = this->list();

Modified: trunk/Tools/ChangeLog (231491 => 231492)


--- trunk/Tools/ChangeLog	2018-05-08 17:44:02 UTC (rev 231491)
+++ trunk/Tools/ChangeLog	2018-05-08 17:52:55 UTC (rev 231492)
@@ -1,3 +1,16 @@
+2018-05-08  Ryan Haddad  <[email protected]>
+
+        Unreviewed, rolling out r231468.
+
+        Broke the CLoop build
+
+        Reverted changeset:
+
+        "InPlaceAbstractState::beginBasicBlock shouldn't have to clear
+        any abstract values"
+        https://bugs.webkit.org/show_bug.cgi?id=185365
+        https://trac.webkit.org/changeset/231468
+
 2018-05-08  Sihui Liu  <[email protected]>
 
         [WKHTTPCookieStore getAllCookies] returns inconsistent creation time

Modified: trunk/Tools/Scripts/run-jsc-benchmarks (231491 => 231492)


--- trunk/Tools/Scripts/run-jsc-benchmarks	2018-05-08 17:44:02 UTC (rev 231491)
+++ trunk/Tools/Scripts/run-jsc-benchmarks	2018-05-08 17:52:55 UTC (rev 231492)
@@ -1,6 +1,6 @@
 #!/usr/bin/env ruby
 
-# Copyright (C) 2011-2018 Apple Inc. All rights reserved.
+# Copyright (C) 2011-2015 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions
@@ -216,10 +216,8 @@
 $outer=4
 $quantum=1000
 $includeSunSpider=true
-$includeSunSpiderCompileTime=true
 $includeLongSpider=false
 $includeV8=true
-$includeV8CompileTime=true
 $includeKraken=true
 $includeJSBench=true
 $includeMicrobenchmarks=true
@@ -313,11 +311,7 @@
   puts "--dont-copy-vms      Don't copy VMs even when doing a remote benchmarking run;"
   puts "                     instead assume that they are already there."
   puts "--sunspider          Only run SunSpider."
-  puts "--sunspider-compile-time"
-  puts "                     Only run the SunSpider compile time benchmark."
-  puts "--v8-spider          Only run SunSpider-style V8."
-  puts "--v8-spider-compile-time"
-  puts "                     Only run the SunSpider-style V8 compile time benchmark."
+  puts "--v8-spider          Only run V8."
   puts "--kraken             Only run Kraken."
   puts "--js-bench           Only run JSBench."
   puts "--microbenchmarks    Only run microbenchmarks."
@@ -862,20 +856,6 @@
   end
 end
 
-# Benchmark that consists of a single file and must be loaded in its own global object each
-# time (i.e. run()), and returns the time spent compiling
-class SingleFileCompileTimeBenchmarkParameters
-  attr_reader :benchPath
-  
-  def initialize(benchPath)
-    @benchPath = benchPath
-  end
-  
-  def kind
-    :singleFileCompileTimeBenchmark
-  end
-end
-
 # Benchmark that consists of one or more data files that should be loaded globally, followed
 # by a command to run the benchmark.
 class MultiFileTimedBenchmarkParameters
@@ -1019,23 +999,6 @@
           doublePuts($stderr,file,"print(\"#{name}: #{plan.vm}: #{plan.iteration}: #{innerIndex}: Time: \"+__bencher_run(#{benchParams.benchPath.inspect}));")
           doublePuts($stderr,file,"gc();") unless plan.vm.shouldMeasureGC
         }
-      elsif benchParams.kind == :singleFileCompileTimeBenchmark
-        doublePuts($stderr,file,"function __bencher_run(__bencher_what) {")
-        doublePuts($stderr,file,"   var __compileTimeBefore = totalCompileTime();")
-        $rerun.times {
-          doublePuts($stderr,file,"   run(__bencher_what);")
-        }
-        doublePuts($stderr,file,"   return totalCompileTime() - __compileTimeBefore;")
-        doublePuts($stderr,file,"}")
-        $warmup.times {
-          doublePuts($stderr,file,"__bencher_run(#{benchParams.benchPath.inspect})")
-          doublePuts($stderr,file,"gc();") unless plan.vm.shouldMeasureGC
-        }
-        $inner.times {
-          | innerIndex |
-          doublePuts($stderr,file,"print(\"#{name}: #{plan.vm}: #{plan.iteration}: #{innerIndex}: Time: \"+__bencher_run(#{benchParams.benchPath.inspect}));")
-          doublePuts($stderr,file,"gc();") unless plan.vm.shouldMeasureGC
-        }
       else
         raise unless benchParams.kind == :singleFileTimedBenchmark
         doublePuts($stderr,file,"function __bencher_run(__bencher_what) {")
@@ -1576,10 +1539,6 @@
       "x#{weight} "
     end
   end
-  
-  def environment
-    {}
-  end
 end
 
 class SunSpiderBenchmark
@@ -1682,23 +1641,6 @@
   end
 end
 
-class CompileTimeBenchmark
-  include Benchmark
-  
-  def initialize(name, fullPath)
-    @name = name
-    @fullPath = fullPath
-  end
-  
-  def emitRunCode(plan)
-    emitBenchRunCode(fullname, plan, SingleFileCompileTimeBenchmarkParameters.new(ensureFile("CompileTime-#{@name}", @fullPath)))
-  end
-  
-  def environment
-    {"JSC_useConcurrentJIT" => "false", "JSC_reportTotalCompileTimes" => "true"}
-  end
-end
-
 class KrakenBenchmark
   include Benchmark
   
@@ -2096,12 +2038,7 @@
   end
  
   def environment
-    result = @environment.clone
-    benchmark.environment.each_pair {
-      | key, value |
-      result[key] = value
-    }
-    result
+    @environment
   end
  
   def prefix
@@ -2785,10 +2722,8 @@
   def resetBenchOptionsIfNecessary
     unless $sawBenchOptions
       $includeSunSpider = false
-      $includeSunSpiderCompileTime = false
       $includeLongSpider = false
       $includeV8 = false
-      $includeV8CompileTime = false
       $includeKraken = false
       $includeJSBench = false
       $includeMicrobenchmarks = false
@@ -2813,10 +2748,8 @@
                  ['--minimum', GetoptLong::REQUIRED_ARGUMENT],
                  ['--timing-mode', GetoptLong::REQUIRED_ARGUMENT],
                  ['--sunspider', GetoptLong::NO_ARGUMENT],
-                 ['--sunspider-compile-time', GetoptLong::NO_ARGUMENT],
                  ['--longspider', GetoptLong::NO_ARGUMENT],
                  ['--v8-spider', GetoptLong::NO_ARGUMENT],
-                 ['--v8-spider-compile-time', GetoptLong::NO_ARGUMENT],
                  ['--kraken', GetoptLong::NO_ARGUMENT],
                  ['--js-bench', GetoptLong::NO_ARGUMENT],
                  ['--microbenchmarks', GetoptLong::NO_ARGUMENT],
@@ -2895,9 +2828,6 @@
     when '--sunspider'
       resetBenchOptionsIfNecessary
       $includeSunSpider = true
-    when '--sunspider-compile-time'
-      resetBenchOptionsIfNecessary
-      $includeSunSpiderCompileTime = true
     when '--longspider'
       resetBenchOptionsIfNecessary
       $includeLongSpider = true
@@ -2904,9 +2834,6 @@
     when '--v8-spider'
       resetBenchOptionsIfNecessary
       $includeV8 = true
-    when '--v8-spider-compile-time'
-      resetBenchOptionsIfNecessary
-      $includeV8CompileTime = true
     when '--kraken'
       resetBenchOptionsIfNecessary
       $includeKraken = true
@@ -3075,7 +3002,6 @@
   }
   
   SUNSPIDER = BenchmarkSuite.new("SunSpider", :arithmeticMean, 0)
-  SUNSPIDER_COMPILE_TIME = BenchmarkSuite.new("SunSpider-CompileTime", :arithmeticMean, 0)
   WARMUP = BenchmarkSuite.new("WARMUP", :arithmeticMean, 0)
   ["3d-cube", "3d-morph", "3d-raytrace", "access-binary-trees",
    "access-fannkuch", "access-nbody", "access-nsieve",
@@ -3087,7 +3013,6 @@
    "string-unpack-code", "string-validate-input"].each {
     | name |
     SUNSPIDER.add SunSpiderBenchmark.new(name)
-    SUNSPIDER_COMPILE_TIME.add CompileTimeBenchmark.new(name, "#{SUNSPIDER_PATH}/#{name}.js")
     WARMUP.addIgnoringPattern SunSpiderBenchmark.new(name)
   }
 
@@ -3104,12 +3029,10 @@
   }
 
   V8 = BenchmarkSuite.new("V8Spider", :geometricMean, 0)
-  V8_COMPILE_TIME = BenchmarkSuite.new("V8Spider-CompileTime", :geometricMean, 0)
   ["crypto", "deltablue", "earley-boyer", "raytrace",
    "regexp", "richards", "splay"].each {
     | name |
     V8.add V8Benchmark.new(name)
-    V8_COMPILE_TIME.add CompileTimeBenchmark.new(name, "#{V8_PATH}/v8-#{name}.js")
   }
 
   OCTANE = BenchmarkSuite.new("Octane", :geometricMean, 1)
@@ -3270,10 +3193,6 @@
     $suites << SUNSPIDER
   end
   
-  if $includeSunSpiderCompileTime and not SUNSPIDER_COMPILE_TIME.empty?
-    $suites << SUNSPIDER_COMPILE_TIME
-  end
-  
   if $includeLongSpider and not LONGSPIDER.empty?
     $suites << LONGSPIDER
   end
@@ -3282,10 +3201,6 @@
     $suites << V8
   end
   
-  if $includeV8CompileTime and not V8_COMPILE_TIME.empty?
-    $suites << V8_COMPILE_TIME
-  end
-  
   if $includeOctane and not OCTANE.empty?
     if OCTANE_PATH
       $suites << OCTANE
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to