[arch-commits] Commit in chromium/trunk (6 files)

Evangelos Foutras foutrelis at archlinux.org
Fri Sep 16 17:02:53 UTC 2011


    Date: Friday, September 16, 2011 @ 13:02:52
  Author: foutrelis
Revision: 138107

upgpkg: chromium 14.0.835.163-1

New upstream release.

Added:
  chromium/trunk/webrtc-r240-r242-make-pulseaudio-optional.patch
Modified:
  chromium/trunk/PKGBUILD
  chromium/trunk/gcc-4.6.patch
Deleted:
  chromium/trunk/glibc-2.14.patch
  chromium/trunk/make-hash-tools-use-if-instead-of-switch.patch
  chromium/trunk/v8-r8472-crbug-77625-huge-number-of-cpu-wakeups.patch

-------------------------------------------------------+
 PKGBUILD                                              |   40 -
 gcc-4.6.patch                                         |   13 
 glibc-2.14.patch                                      |   51 -
 make-hash-tools-use-if-instead-of-switch.patch        |   37 -
 v8-r8472-crbug-77625-huge-number-of-cpu-wakeups.patch |  506 ----------------
 webrtc-r240-r242-make-pulseaudio-optional.patch       |  122 +++
 6 files changed, 136 insertions(+), 633 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2011-09-16 16:35:58 UTC (rev 138106)
+++ PKGBUILD	2011-09-16 17:02:52 UTC (rev 138107)
@@ -5,7 +5,7 @@
 # Contributor: Daniel J Griffiths <ghost1227 at archlinux.us>
 
 pkgname=chromium
-pkgver=13.0.782.220
+pkgver=14.0.835.163
 pkgrel=1
 pkgdesc="The open-source project behind Google Chrome, an attempt at creating a safer, faster, and more stable browser"
 arch=('i686' 'x86_64')
@@ -22,16 +22,12 @@
         chromium.desktop
         chromium.sh
         gcc-4.6.patch
-        glibc-2.14.patch
-        make-hash-tools-use-if-instead-of-switch.patch
-        v8-r8472-crbug-77625-huge-number-of-cpu-wakeups.patch)
-md5sums=('b16d438a44a54b6f9e88ed9d3c7ba937'
-         '075c3c2fa5902e16b8547dd31d437191'
-         '096a46ef386817988250d2d7bddd1b34'
-         '690f2be42bf2a31755753a466653eb33'
-         '543a32b09f138fd47858b9a4a7c82dfb'
-         '9d9e66c8365d7333e55305796b49fd77'
-         '19c08d35303be15e414f2e881000140d')
+        webrtc-r240-r242-make-pulseaudio-optional.patch)
+sha1sums=('f38e8835f4c12a61734eb99ee0a16d1386e2726d'
+          '7d97535ec0ed124e95888de84b2c6a3654a27d4a'
+          '427ecf06cae11f28f59b1912d659ad5541391682'
+          '39999918746524fff30e73dc656754733df5c2c2'
+          'db66921c9801ad5930920faf87bd5c313a3fc702')
 
 build() {
   cd "$srcdir/chromium-$pkgver"
@@ -40,24 +36,13 @@
   # http://code.google.com/p/chromium/issues/detail?id=80071
   patch -Np0 -i "$srcdir/gcc-4.6.patch"
 
-  # Fix build with glibc 2.14
-  # http://code.google.com/p/chromium/issues/detail?id=86646
-  patch -Np2 -i "$srcdir/glibc-2.14.patch"
-
-  # Fix build with Perl 5.14
-  patch -d third_party/WebKit -Np2 -i \
-    "$srcdir/make-hash-tools-use-if-instead-of-switch.patch"
-
   # Fix build with CUPS 1.5
   sed -i '/#include <cups\/cups.h>/ a #include <cups/ppd.h>' \
     chrome/browser/ui/webui/print_preview_handler.cc
 
-  # Fix upstream issue #77625: Chromium Generates HUGE numbers of CPU wakeups
-  # and uses massive amounts of power
-  # http://code.google.com/p/chromium/issues/detail?id=77625
-  # Patch from: http://code.google.com/p/v8/source/detail?r=8472
-  patch -d v8/src -Np0 -i \
-    "$srcdir/v8-r8472-crbug-77625-huge-number-of-cpu-wakeups.patch"
+  # Make PulseAudio optional in WebRTC
+  patch -d third_party/webrtc -Np1 -i \
+    "$srcdir/webrtc-r240-r242-make-pulseaudio-optional.patch"
 
   # Use Python 2
   find . -type f -exec sed -i -r \
@@ -91,7 +76,7 @@
     -Duse_system_yasm=1 \
     -Duse_system_zlib=1 \
     -Duse_gconf=0 \
-    -Ddisable_sse2=1 \
+    -Ddisable_nacl=1 \
     $([[ $CARCH == i686 ]] && echo '-Ddisable_sse2=1')
 
   make chrome chrome_sandbox BUILDTYPE=Release
@@ -105,8 +90,9 @@
   install -Dm4755 -o root -g root out/Release/chrome_sandbox \
     "$pkgdir/usr/lib/chromium/chromium-sandbox"
 
+  # Add out/Release/{libppGoogleNaClPluginChrome.so,nacl_irt_x86_*.nexe} again
+  # when NaCl build is fixed
   cp out/Release/{{chrome,resources}.pak,libffmpegsumo.so} \
-    out/Release/{libppGoogleNaClPluginChrome.so,nacl_irt_x86_*.nexe} \
     "$pkgdir/usr/lib/chromium/"
 
   # These links are only needed when building with system ffmpeg

Modified: gcc-4.6.patch
===================================================================
--- gcc-4.6.patch	2011-09-16 16:35:58 UTC (rev 138106)
+++ gcc-4.6.patch	2011-09-16 17:02:52 UTC (rev 138107)
@@ -68,9 +68,9 @@
 --- third_party/tcmalloc/chromium/src/common.cc	2011-04-13 13:23:04.000000000 +0400
 +++ third_party/tcmalloc/chromium/src/common.cc	2011-04-20 19:32:58.000000000 +0400
 @@ -34,6 +34,7 @@
- #include "system-alloc.h"
  #include "config.h"
  #include "common.h"
+ #include "system-alloc.h"
 +#include <cstddef>
  
  namespace tcmalloc {
@@ -86,17 +86,6 @@
  
  using std::map;
  
-diff -u -r third_party/tcmalloc/chromium/src/system-alloc.h third_party/tcmalloc/chromium/src/system-alloc.h
---- third_party/tcmalloc/chromium/src/system-alloc.h	2011-04-13 13:23:04.000000000 +0400
-+++ third_party/tcmalloc/chromium/src/system-alloc.h	2011-04-20 19:32:58.000000000 +0400
-@@ -37,6 +37,7 @@
- #define TCMALLOC_SYSTEM_ALLOC_H_
- 
- #include <config.h>
-+#include <cstddef>
- #include "internal_logging.h"
- 
- // REQUIRES: "alignment" is a power of two or "0" to indicate default alignment
 diff -u -r ui/gfx/codec/jpeg_codec.h ui/gfx/codec/jpeg_codec.h
 --- ui/gfx/codec/jpeg_codec.h	2011-04-13 13:23:45.000000000 +0400
 +++ ui/gfx/codec/jpeg_codec.h	2011-04-20 19:32:58.000000000 +0400

Deleted: glibc-2.14.patch
===================================================================
--- glibc-2.14.patch	2011-09-16 16:35:58 UTC (rev 138106)
+++ glibc-2.14.patch	2011-09-16 17:02:52 UTC (rev 138107)
@@ -1,51 +0,0 @@
---- trunk/src/third_party/tcmalloc/chromium/src/tcmalloc.cc	2011/06/21 07:36:46	89799
-+++ trunk/src/third_party/tcmalloc/chromium/src/tcmalloc.cc	2011/06/21 07:37:01	89800
-@@ -150,6 +150,13 @@
- # define WIN32_DO_PATCHING 1
- #endif
- 
-+// GLibc 2.14+ requires the hook functions be declared volatile, based on the
-+// value of the define __MALLOC_HOOK_VOLATILE. For compatibility with
-+// older/non-GLibc implementations, provide an empty definition.
-+#if !defined(__MALLOC_HOOK_VOLATILE)
-+#define __MALLOC_HOOK_VOLATILE
-+#endif
-+
- using std::max;
- using tcmalloc::PageHeap;
- using tcmalloc::SizeMap;
-@@ -403,7 +410,7 @@
-   return tc_malloc(size);
- }
- 
--void* (*__malloc_hook)(
-+void* (*__MALLOC_HOOK_VOLATILE __malloc_hook)(
-     size_t size, const void* caller) = tc_ptmalloc_malloc_hook;
- 
- static void* tc_ptmalloc_realloc_hook(
-@@ -411,14 +418,14 @@
-   return tc_realloc(ptr, size);
- }
- 
--void* (*__realloc_hook)(
-+void* (*__MALLOC_HOOK_VOLATILE __realloc_hook)(
-     void* ptr, size_t size, const void* caller) = tc_ptmalloc_realloc_hook;
- 
- static void tc_ptmalloc_free_hook(void* ptr, const void* caller) {
-   tc_free(ptr);
- }
- 
--void (*__free_hook)(void* ptr, const void* caller) = tc_ptmalloc_free_hook;
-+void (*__MALLOC_HOOK_VOLATILE __free_hook)(void* ptr, const void* caller) = tc_ptmalloc_free_hook;
- 
- #endif
- 
-@@ -1757,7 +1764,7 @@
-   MallocHook::InvokeNewHook(result, size);
-   return result;
- }
--void *(*__memalign_hook)(size_t, size_t, const void *) = MemalignOverride;
-+void *(*__MALLOC_HOOK_VOLATILE __memalign_hook)(size_t, size_t, const void *) = MemalignOverride;
- #endif  // #ifndef TCMALLOC_FOR_DEBUGALLOCATION
- 
- // ---Double free() debugging implementation -----------------------------------

Deleted: make-hash-tools-use-if-instead-of-switch.patch
===================================================================
--- make-hash-tools-use-if-instead-of-switch.patch	2011-09-16 16:35:58 UTC (rev 138106)
+++ make-hash-tools-use-if-instead-of-switch.patch	2011-09-16 17:02:52 UTC (rev 138107)
@@ -1,37 +0,0 @@
-Index: /trunk/Source/WebCore/make-hash-tools.pl
-===================================================================
---- /trunk/Source/WebCore/make-hash-tools.pl	(revision 72664)
-+++ /trunk/Source/WebCore/make-hash-tools.pl	(revision 89265)
-@@ -21,5 +21,4 @@
- 
- use strict;
--use Switch;
- use File::Basename;
- 
-@@ -29,7 +28,5 @@
- 
- 
--switch ($option) {
--
--case "DocTypeStrings" {
-+if ($option eq "DocTypeStrings") {
- 
-     my $docTypeStringsGenerated    = "$outdir/DocTypeStrings.cpp";
-@@ -39,7 +36,5 @@
-     system("gperf --key-positions=\"*\" -s 2 $docTypeStringsGperf > $docTypeStringsGenerated") == 0 || die "calling gperf failed: $?";
- 
--} # case "DocTypeStrings"
--
--case "ColorData" {
-+} elsif ($option eq "ColorData") {
- 
-     my $colorDataGenerated         = "$outdir/ColorData.cpp";
-@@ -49,5 +44,5 @@
-     system("gperf --key-positions=\"*\" -D -s 2 $colorDataGperf > $colorDataGenerated") == 0 || die "calling gperf failed: $?";
- 
--} # case "ColorData"
--
--} # switch ($option)
-+} else {
-+    die "Unknown option.";
-+}

Deleted: v8-r8472-crbug-77625-huge-number-of-cpu-wakeups.patch
===================================================================
--- v8-r8472-crbug-77625-huge-number-of-cpu-wakeups.patch	2011-09-16 16:35:58 UTC (rev 138106)
+++ v8-r8472-crbug-77625-huge-number-of-cpu-wakeups.patch	2011-09-16 17:02:52 UTC (rev 138107)
@@ -1,506 +0,0 @@
-Index: compilation-cache.h
-===================================================================
---- compilation-cache.h	(revision 8471)
-+++ compilation-cache.h	(revision 8472)
-@@ -223,14 +223,6 @@
-                  JSRegExp::Flags flags,
-                  Handle<FixedArray> data);
- 
--  // Support for eager optimization tracking.
--  bool ShouldOptimizeEagerly(Handle<JSFunction> function);
--  void MarkForEagerOptimizing(Handle<JSFunction> function);
--  void MarkForLazyOptimizing(Handle<JSFunction> function);
--
--  // Reset the eager optimization tracking data.
--  void ResetEagerOptimizingData();
--
-   // Clear the cache - also used to initialize the cache at startup.
-   void Clear();
- 
-@@ -274,8 +266,6 @@
-   // Current enable state of the compilation cache.
-   bool enabled_;
- 
--  HashMap* eager_optimizing_set_;
--
-   friend class Isolate;
- 
-   DISALLOW_COPY_AND_ASSIGN(CompilationCache);
-Index: objects.cc
-===================================================================
---- objects.cc	(revision 8471)
-+++ objects.cc	(revision 8472)
-@@ -6287,19 +6287,6 @@
- }
- 
- 
--uint32_t JSFunction::SourceHash() {
--  uint32_t hash = 0;
--  Object* script = shared()->script();
--  if (!script->IsUndefined()) {
--    Object* source = Script::cast(script)->source();
--    if (source->IsUndefined()) hash = String::cast(source)->Hash();
--  }
--  hash ^= ComputeIntegerHash(shared()->start_position_and_type());
--  hash += ComputeIntegerHash(shared()->end_position());
--  return hash;
--}
--
--
- bool JSFunction::IsInlineable() {
-   if (IsBuiltin()) return false;
-   SharedFunctionInfo* shared_info = shared();
-Index: runtime-profiler.cc
-===================================================================
---- runtime-profiler.cc	(revision 8471)
-+++ runtime-profiler.cc	(revision 8472)
-@@ -43,32 +43,6 @@
- namespace internal {
- 
- 
--class PendingListNode : public Malloced {
-- public:
--  explicit PendingListNode(JSFunction* function);
--  ~PendingListNode() { Destroy(); }
--
--  PendingListNode* next() const { return next_; }
--  void set_next(PendingListNode* node) { next_ = node; }
--  Handle<JSFunction> function() { return Handle<JSFunction>::cast(function_); }
--
--  // If the function is garbage collected before we've had the chance
--  // to optimize it the weak handle will be null.
--  bool IsValid() { return !function_.is_null(); }
--
--  // Returns the number of microseconds this node has been pending.
--  int Delay() const { return static_cast<int>(OS::Ticks() - start_); }
--
-- private:
--  void Destroy();
--  static void WeakCallback(v8::Persistent<v8::Value> object, void* data);
--
--  PendingListNode* next_;
--  Handle<Object> function_;  // Weak handle.
--  int64_t start_;
--};
--
--
- // Optimization sampler constants.
- static const int kSamplerFrameCount = 2;
- static const int kSamplerFrameWeight[kSamplerFrameCount] = { 2, 1 };
-@@ -80,33 +54,10 @@
- static const int kSamplerThresholdDelta = 1;
- 
- static const int kSamplerThresholdSizeFactorInit = 3;
--static const int kSamplerThresholdSizeFactorMin = 1;
--static const int kSamplerThresholdSizeFactorDelta = 1;
- 
- static const int kSizeLimit = 1500;
- 
- 
--PendingListNode::PendingListNode(JSFunction* function) : next_(NULL) {
--  GlobalHandles* global_handles = Isolate::Current()->global_handles();
--  function_ = global_handles->Create(function);
--  start_ = OS::Ticks();
--  global_handles->MakeWeak(function_.location(), this, &WeakCallback);
--}
--
--
--void PendingListNode::Destroy() {
--  if (!IsValid()) return;
--  GlobalHandles* global_handles = Isolate::Current()->global_handles();
--  global_handles->Destroy(function_.location());
--  function_= Handle<Object>::null();
--}
--
--
--void PendingListNode::WeakCallback(v8::Persistent<v8::Value>, void* data) {
--  reinterpret_cast<PendingListNode*>(data)->Destroy();
--}
--
--
- Atomic32 RuntimeProfiler::state_ = 0;
- // TODO(isolates): Create the semaphore lazily and clean it up when no
- // longer required.
-@@ -125,16 +76,8 @@
-       sampler_threshold_(kSamplerThresholdInit),
-       sampler_threshold_size_factor_(kSamplerThresholdSizeFactorInit),
-       sampler_ticks_until_threshold_adjustment_(
--        kSamplerTicksBetweenThresholdAdjustment),
--      js_ratio_(0),
--      sampler_window_position_(0),
--      optimize_soon_list_(NULL),
--      state_window_position_(0),
--      state_window_ticks_(0) {
--  state_counts_[IN_NON_JS_STATE] = kStateWindowSize;
--  state_counts_[IN_JS_STATE] = 0;
--  STATIC_ASSERT(IN_NON_JS_STATE == 0);
--  memset(state_window_, 0, sizeof(state_window_));
-+          kSamplerTicksBetweenThresholdAdjustment),
-+      sampler_window_position_(0) {
-   ClearSampleBuffer();
- }
- 
-@@ -148,16 +91,13 @@
- }
- 
- 
--void RuntimeProfiler::Optimize(JSFunction* function, bool eager, int delay) {
-+void RuntimeProfiler::Optimize(JSFunction* function) {
-   ASSERT(function->IsOptimizable());
-   if (FLAG_trace_opt) {
--    PrintF("[marking (%s) ", eager ? "eagerly" : "lazily");
-+    PrintF("[marking ");
-     function->PrintName();
-     PrintF(" 0x%" V8PRIxPTR, reinterpret_cast<intptr_t>(function->address()));
-     PrintF(" for recompilation");
--    if (delay > 0) {
--      PrintF(" (delayed %0.3f ms)", static_cast<double>(delay) / 1000);
--    }
-     PrintF("]\n");
-   }
- 
-@@ -243,20 +183,6 @@
- 
- void RuntimeProfiler::OptimizeNow() {
-   HandleScope scope(isolate_);
--  PendingListNode* current = optimize_soon_list_;
--  while (current != NULL) {
--    PendingListNode* next = current->next();
--    if (current->IsValid()) {
--      Handle<JSFunction> function = current->function();
--      int delay = current->Delay();
--      if (function->IsOptimizable()) {
--        Optimize(*function, true, delay);
--      }
--    }
--    delete current;
--    current = next;
--  }
--  optimize_soon_list_ = NULL;
- 
-   // Run through the JavaScript frames and collect them. If we already
-   // have a sample of the function, we mark it for optimizations
-@@ -303,24 +229,9 @@
-         : 1;
- 
-     int threshold = sampler_threshold_ * threshold_size_factor;
--    int current_js_ratio = NoBarrier_Load(&js_ratio_);
- 
--    // Adjust threshold depending on the ratio of time spent
--    // in JS code.
--    if (current_js_ratio < 20) {
--      // If we spend less than 20% of the time in JS code,
--      // do not optimize.
--      continue;
--    } else if (current_js_ratio < 75) {
--      // Below 75% of time spent in JS code, only optimize very
--      // frequently used functions.
--      threshold *= 3;
--    }
--
-     if (LookupSample(function) >= threshold) {
--      Optimize(function, false, 0);
--      isolate_->compilation_cache()->MarkForEagerOptimizing(
--          Handle<JSFunction>(function));
-+      Optimize(function);
-     }
-   }
- 
-@@ -333,40 +244,8 @@
- }
- 
- 
--void RuntimeProfiler::OptimizeSoon(JSFunction* function) {
--  if (!function->IsOptimizable()) return;
--  PendingListNode* node = new PendingListNode(function);
--  node->set_next(optimize_soon_list_);
--  optimize_soon_list_ = node;
--}
--
--
--#ifdef ENABLE_LOGGING_AND_PROFILING
--void RuntimeProfiler::UpdateStateRatio(SamplerState current_state) {
--  SamplerState old_state = state_window_[state_window_position_];
--  state_counts_[old_state]--;
--  state_window_[state_window_position_] = current_state;
--  state_counts_[current_state]++;
--  ASSERT(IsPowerOf2(kStateWindowSize));
--  state_window_position_ = (state_window_position_ + 1) &
--      (kStateWindowSize - 1);
--  // Note: to calculate correct ratio we have to track how many valid
--  // ticks are actually in the state window, because on profiler
--  // startup this number can be less than the window size.
--  state_window_ticks_ = Min(kStateWindowSize, state_window_ticks_ + 1);
--  NoBarrier_Store(&js_ratio_, state_counts_[IN_JS_STATE] * 100 /
--                  state_window_ticks_);
--}
--#endif
--
--
- void RuntimeProfiler::NotifyTick() {
- #ifdef ENABLE_LOGGING_AND_PROFILING
--  // Record state sample.
--  SamplerState state = IsSomeIsolateInJS()
--      ? IN_JS_STATE
--      : IN_NON_JS_STATE;
--  UpdateStateRatio(state);
-   isolate_->stack_guard()->RequestRuntimeProfilerTick();
- #endif
- }
-@@ -424,7 +303,6 @@
-   // to get the right count of active isolates.
-   NoBarrier_AtomicIncrement(&state_, 1);
-   semaphore_->Signal();
--  isolate->ResetEagerOptimizingData();
- #endif
- }
- 
-@@ -471,15 +349,8 @@
- 
- bool RuntimeProfilerRateLimiter::SuspendIfNecessary() {
- #ifdef ENABLE_LOGGING_AND_PROFILING
--  static const int kNonJSTicksThreshold = 100;
--  if (RuntimeProfiler::IsSomeIsolateInJS()) {
--    non_js_ticks_ = 0;
--  } else {
--    if (non_js_ticks_ < kNonJSTicksThreshold) {
--      ++non_js_ticks_;
--    } else {
--      return RuntimeProfiler::WaitForSomeIsolateToEnterJS();
--    }
-+  if (!RuntimeProfiler::IsSomeIsolateInJS()) {
-+    return RuntimeProfiler::WaitForSomeIsolateToEnterJS();
-   }
- #endif
-   return false;
-Index: runtime.cc
-===================================================================
---- runtime.cc	(revision 8471)
-+++ runtime.cc	(revision 8472)
-@@ -7821,7 +7821,6 @@
-     }
-   }
- 
--  isolate->compilation_cache()->MarkForLazyOptimizing(function);
-   if (type == Deoptimizer::EAGER) {
-     RUNTIME_ASSERT(function->IsOptimized());
-   } else {
-Index: objects.h
-===================================================================
---- objects.h	(revision 8471)
-+++ objects.h	(revision 8472)
-@@ -4924,9 +4924,6 @@
-   // recompilation.
-   inline bool IsMarkedForLazyRecompilation();
- 
--  // Compute a hash code for the source code of this function.
--  uint32_t SourceHash();
--
-   // Check whether or not this function is inlineable.
-   bool IsInlineable();
- 
-Index: compilation-cache.cc
-===================================================================
---- compilation-cache.cc	(revision 8471)
-+++ compilation-cache.cc	(revision 8472)
-@@ -52,8 +52,7 @@
-       eval_global_(isolate, kEvalGlobalGenerations),
-       eval_contextual_(isolate, kEvalContextualGenerations),
-       reg_exp_(isolate, kRegExpGenerations),
--      enabled_(true),
--      eager_optimizing_set_(NULL) {
-+      enabled_(true) {
-   CompilationSubCache* subcaches[kSubCacheCount] =
-     {&script_, &eval_global_, &eval_contextual_, &reg_exp_};
-   for (int i = 0; i < kSubCacheCount; ++i) {
-@@ -62,10 +61,7 @@
- }
- 
- 
--CompilationCache::~CompilationCache() {
--  delete eager_optimizing_set_;
--  eager_optimizing_set_ = NULL;
--}
-+CompilationCache::~CompilationCache() {}
- 
- 
- static Handle<CompilationCacheTable> AllocateTable(Isolate* isolate, int size) {
-@@ -457,47 +453,6 @@
- }
- 
- 
--static bool SourceHashCompare(void* key1, void* key2) {
--  return key1 == key2;
--}
--
--
--HashMap* CompilationCache::EagerOptimizingSet() {
--  if (eager_optimizing_set_ == NULL) {
--    eager_optimizing_set_ = new HashMap(&SourceHashCompare);
--  }
--  return eager_optimizing_set_;
--}
--
--
--bool CompilationCache::ShouldOptimizeEagerly(Handle<JSFunction> function) {
--  if (FLAG_opt_eagerly) return true;
--  uint32_t hash = function->SourceHash();
--  void* key = reinterpret_cast<void*>(hash);
--  return EagerOptimizingSet()->Lookup(key, hash, false) != NULL;
--}
--
--
--void CompilationCache::MarkForEagerOptimizing(Handle<JSFunction> function) {
--  uint32_t hash = function->SourceHash();
--  void* key = reinterpret_cast<void*>(hash);
--  EagerOptimizingSet()->Lookup(key, hash, true);
--}
--
--
--void CompilationCache::MarkForLazyOptimizing(Handle<JSFunction> function) {
--  uint32_t hash = function->SourceHash();
--  void* key = reinterpret_cast<void*>(hash);
--  EagerOptimizingSet()->Remove(key, hash);
--}
--
--
--void CompilationCache::ResetEagerOptimizingData() {
--  HashMap* set = EagerOptimizingSet();
--  if (set->occupancy() > 0) set->Clear();
--}
--
--
- void CompilationCache::Clear() {
-   for (int i = 0; i < kSubCacheCount; i++) {
-     subcaches_[i]->Clear();
-Index: isolate.h
-===================================================================
---- isolate.h	(revision 8471)
-+++ isolate.h	(revision 8472)
-@@ -978,8 +978,6 @@
-   }
- #endif
- 
--  void ResetEagerOptimizingData();
--
-   void SetData(void* data) { embedder_data_ = data; }
-   void* GetData() { return embedder_data_; }
- 
-Index: runtime-profiler.h
-===================================================================
---- runtime-profiler.h	(revision 8471)
-+++ runtime-profiler.h	(revision 8472)
-@@ -37,7 +37,6 @@
- class Isolate;
- class JSFunction;
- class Object;
--class PendingListNode;
- class Semaphore;
- 
- class RuntimeProfiler {
-@@ -52,7 +51,6 @@
-   }
- 
-   void OptimizeNow();
--  void OptimizeSoon(JSFunction* function);
- 
-   void NotifyTick();
- 
-@@ -106,7 +104,7 @@
- 
-   static void HandleWakeUp(Isolate* isolate);
- 
--  void Optimize(JSFunction* function, bool eager, int delay);
-+  void Optimize(JSFunction* function);
- 
-   void AttemptOnStackReplacement(JSFunction* function);
- 
-@@ -118,31 +116,16 @@
- 
-   void AddSample(JSFunction* function, int weight);
- 
--#ifdef ENABLE_LOGGING_AND_PROFILING
--  void UpdateStateRatio(SamplerState current_state);
--#endif
--
-   Isolate* isolate_;
- 
-   int sampler_threshold_;
-   int sampler_threshold_size_factor_;
-   int sampler_ticks_until_threshold_adjustment_;
- 
--  // The ratio of ticks spent in JS code in percent.
--  Atomic32 js_ratio_;
--
-   Object* sampler_window_[kSamplerWindowSize];
-   int sampler_window_position_;
-   int sampler_window_weight_[kSamplerWindowSize];
- 
--  // Support for pending 'optimize soon' requests.
--  PendingListNode* optimize_soon_list_;
--
--  SamplerState state_window_[kStateWindowSize];
--  int state_window_position_;
--  int state_window_ticks_;
--  int state_counts_[2];
--
-   // Possible state values:
-   //   -1            => the profiler thread is waiting on the semaphore
-   //   0 or positive => the number of isolates running JavaScript code.
-@@ -159,7 +142,7 @@
- // Rate limiter intended to be used in the profiler thread.
- class RuntimeProfilerRateLimiter BASE_EMBEDDED {
-  public:
--  RuntimeProfilerRateLimiter() : non_js_ticks_(0) { }
-+  RuntimeProfilerRateLimiter() {}
- 
-   // Suspends the current thread (which must be the profiler thread)
-   // when not executing JavaScript to minimize CPU usage. Returns
-@@ -170,8 +153,6 @@
-   bool SuspendIfNecessary();
- 
-  private:
--  int non_js_ticks_;
--
-   DISALLOW_COPY_AND_ASSIGN(RuntimeProfilerRateLimiter);
- };
- 
-Index: compiler.cc
-===================================================================
---- compiler.cc	(revision 8471)
-+++ compiler.cc	(revision 8472)
-@@ -109,8 +109,6 @@
- void CompilationInfo::AbortOptimization() {
-   Handle<Code> code(shared_info()->code());
-   SetCode(code);
--  Isolate* isolate = code->GetIsolate();
--  isolate->compilation_cache()->MarkForLazyOptimizing(closure());
- }
- 
- 
-@@ -660,9 +658,6 @@
-             CompilationInfo optimized(function);
-             optimized.SetOptimizing(AstNode::kNoNumber);
-             return CompileLazy(&optimized);
--          } else if (isolate->compilation_cache()->ShouldOptimizeEagerly(
--              function)) {
--            isolate->runtime_profiler()->OptimizeSoon(*function);
-           }
-         }
-       }
-Index: isolate.cc
-===================================================================
---- isolate.cc	(revision 8471)
-+++ isolate.cc	(revision 8472)
-@@ -1855,11 +1855,6 @@
- }
- 
- 
--void Isolate::ResetEagerOptimizingData() {
--  compilation_cache_->ResetEagerOptimizingData();
--}
--
--
- #ifdef DEBUG
- #define ISOLATE_FIELD_OFFSET(type, name, ignored)                       \
- const intptr_t Isolate::name##_debug_offset_ = OFFSET_OF(Isolate, name##_);

Added: webrtc-r240-r242-make-pulseaudio-optional.patch
===================================================================
--- webrtc-r240-r242-make-pulseaudio-optional.patch	                        (rev 0)
+++ webrtc-r240-r242-make-pulseaudio-optional.patch	2011-09-16 17:02:52 UTC (rev 138107)
@@ -0,0 +1,122 @@
+Index: src/build/common.gypi
+===================================================================
+--- src/build/common.gypi	(revision 239)
++++ src/build/common.gypi	(revision 240)
+@@ -25,6 +25,13 @@
+         'direct_show_base_classes':
+           'C:/Program Files/Microsoft SDKs/Windows/v7.1/Samples/multimedia/directshow/baseclasses/',
+       }],
++      ['build_with_chromium==1', {
++        # Exclude pulse audio on Chromium since its prerequisites don't
++        # include pulse audio.
++        'include_pulse_audio%': 0,
++      }, {
++        'include_pulse_audio%': 1,
++      }],
+     ], # conditions
+   },
+   'target_defaults': {
+Index: src/modules/audio_device/main/source/audio_device.gyp
+===================================================================
+--- src/modules/audio_device/main/source/audio_device.gyp	(revision 239)
++++ src/modules/audio_device/main/source/audio_device.gyp	(revision 240)
+@@ -52,18 +52,12 @@
+         'Linux/alsasymboltable.h',
+         'Linux/audio_device_linux_alsa.cc',
+         'Linux/audio_device_linux_alsa.h',
+-        'Linux/audio_device_linux_pulse.cc',
+-        'Linux/audio_device_linux_pulse.h',
+         'Linux/audio_device_utility_linux.cc',
+         'Linux/audio_device_utility_linux.h',
+         'Linux/audio_mixer_manager_linux_alsa.cc',
+         'Linux/audio_mixer_manager_linux_alsa.h',
+-        'Linux/audio_mixer_manager_linux_pulse.cc',
+-        'Linux/audio_mixer_manager_linux_pulse.h',
+         'Linux/latebindingsymboltable.cc',
+         'Linux/latebindingsymboltable.h',
+-        'Linux/pulseaudiosymboltable.cc',
+-        'Linux/pulseaudiosymboltable.h',
+         'Mac/audio_device_mac.cc',
+         'Mac/audio_device_mac.h',
+         'Mac/audio_device_utility_mac.cc',
+@@ -89,16 +83,10 @@
+             'Linux/alsasymboltable.h',
+             'Linux/audio_device_linux_alsa.cc',
+             'Linux/audio_device_linux_alsa.h',
+-            'Linux/audio_device_linux_pulse.cc',
+-            'Linux/audio_device_linux_pulse.h',
+             'Linux/audio_mixer_manager_linux_alsa.cc',
+             'Linux/audio_mixer_manager_linux_alsa.h',
+-            'Linux/audio_mixer_manager_linux_pulse.cc',
+-            'Linux/audio_mixer_manager_linux_pulse.h',
+             'Linux/latebindingsymboltable.cc',
+             'Linux/latebindingsymboltable.h',
+-            'Linux/pulseaudiosymboltable.cc',
+-            'Linux/pulseaudiosymboltable.h',
+             # Don't remove these, needed for dummy device
+             # 'Linux/audio_device_utility_linux.cc',
+             # 'Linux/audio_device_utility_linux.h',
+@@ -131,7 +119,6 @@
+         }],
+         ['OS=="linux"', {
+           'defines': [
+-            'LINUX_PULSE',
+             'LINUX_ALSA',
+           ],
+           'include_dirs': [
+@@ -141,9 +128,28 @@
+             'libraries': [
+               '-ldl',
+               '-lasound',
+-              '-lpulse',
+             ],
+           },
++          'conditions': [
++            ['include_pulse_audio==1', {
++              'defines': [
++                'LINUX_PULSE',
++              ],
++              'sources': [
++                'Linux/audio_device_linux_pulse.cc',
++                'Linux/audio_device_linux_pulse.h',
++                'Linux/audio_mixer_manager_linux_pulse.cc',
++                'Linux/audio_mixer_manager_linux_pulse.h',
++                'Linux/pulseaudiosymboltable.cc',
++                'Linux/pulseaudiosymboltable.h',
++              ],
++              'link_settings': {
++                'libraries': [
++                  '-lpulse',
++                ],
++              },
++            }],
++          ],
+         }],
+         ['OS=="mac"', {
+           'include_dirs': [
+Index: src/build/common.gypi
+===================================================================
+--- src/build/common.gypi	(revision 241)
++++ src/build/common.gypi	(revision 242)
+@@ -10,9 +10,19 @@
+ 
+ {
+   'variables': {
+-    # TODO(ajm): use webrtc_standalone to match NaCl?
+-    'build_with_chromium%': 1, # 1 to build webrtc with chromium
++    # Putting a variables dict inside another variables dict looks kind of
++    # weird.  This is done so that 'build_with_chromium' is defined as
++    # variable within the outer variables dict here.  This is necessary
++    # to get these variables defined for the conditions within this variables
++    # dict that operate on these variables (e.g., for setting
++    # 'include_pulse_audio', we need to have 'build_with_chromium' already set).
++    'variables': {
++      # TODO(ajm): use webrtc_standalone to match NaCl?
++      'build_with_chromium%': 1, # 1 to build webrtc with chromium
++    },
+ 
++    'build_with_chromium%': '<(build_with_chromium)',
++
+     # Selects fixed-point code where possible.
+     # TODO(ajm): we'd like to set this based on the target OS/architecture.
+     'prefer_fixed_point%': 0,




More information about the arch-commits mailing list