Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Commit

Permalink
[core] Revert workaround for std::atomic on ARMv5
Browse files Browse the repository at this point in the history
Got fix on r12.

android/ndk#31
  • Loading branch information
tmpsantos committed Jul 13, 2016
1 parent b9c273d commit 389c761
Show file tree
Hide file tree
Showing 16 changed files with 33 additions and 78 deletions.
5 changes: 2 additions & 3 deletions include/mbgl/storage/network_status.hpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
#pragma once

#include <mbgl/util/atomic.hpp>

#include <atomic>
#include <mutex>
#include <set>

Expand All @@ -27,7 +26,7 @@ class NetworkStatus {
static void Unsubscribe(util::AsyncTask* async);

private:
static util::Atomic<bool> online;
static std::atomic<bool> online;
static std::mutex mtx;
static std::set<util::AsyncTask*> observers;
};
Expand Down
10 changes: 5 additions & 5 deletions include/mbgl/util/run_loop.hpp
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
#pragma once

#include <mbgl/util/atomic.hpp>
#include <mbgl/util/noncopyable.hpp>
#include <mbgl/util/util.hpp>
#include <mbgl/util/work_task.hpp>
#include <mbgl/util/work_request.hpp>

#include <atomic>
#include <functional>
#include <utility>
#include <queue>
Expand Down Expand Up @@ -59,7 +59,7 @@ class RunLoop : private util::noncopyable {
template <class Fn, class... Args>
std::unique_ptr<AsyncRequest>
invokeCancellable(Fn&& fn, Args&&... args) {
auto flag = std::make_shared<util::Atomic<bool>>();
auto flag = std::make_shared<std::atomic<bool>>();
*flag = false;

auto tuple = std::make_tuple(std::move(args)...);
Expand All @@ -77,7 +77,7 @@ class RunLoop : private util::noncopyable {
template <class Fn, class Cb, class... Args>
std::unique_ptr<AsyncRequest>
invokeWithCallback(Fn&& fn, Cb&& callback, Args&&... args) {
auto flag = std::make_shared<util::Atomic<bool>>();
auto flag = std::make_shared<std::atomic<bool>>();
*flag = false;

// Create a lambda L1 that invokes another lambda L2 on the current RunLoop R, that calls
Expand Down Expand Up @@ -114,7 +114,7 @@ class RunLoop : private util::noncopyable {
template <class F, class P>
class Invoker : public WorkTask {
public:
Invoker(F&& f, P&& p, std::shared_ptr<util::Atomic<bool>> canceled_ = nullptr)
Invoker(F&& f, P&& p, std::shared_ptr<std::atomic<bool>> canceled_ = nullptr)
: canceled(std::move(canceled_)),
func(std::move(f)),
params(std::move(p)) {
Expand Down Expand Up @@ -148,7 +148,7 @@ class RunLoop : private util::noncopyable {
}

std::recursive_mutex mutex;
std::shared_ptr<util::Atomic<bool>> canceled;
std::shared_ptr<std::atomic<bool>> canceled;

F func;
P params;
Expand Down
4 changes: 2 additions & 2 deletions platform/android/src/async_task.cpp
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
#include "run_loop_impl.hpp"

#include <mbgl/util/async_task.hpp>
#include <mbgl/util/atomic.hpp>
#include <mbgl/util/run_loop.hpp>

#include <atomic>
#include <functional>

namespace mbgl {
Expand Down Expand Up @@ -45,7 +45,7 @@ class AsyncTask::Impl : public RunLoop::Impl::Runnable {

// TODO: Use std::atomic_flag if we ever drop
// support for ARMv5
util::Atomic<bool> queued;
std::atomic<bool> queued;
std::function<void()> task;
};

Expand Down
4 changes: 2 additions & 2 deletions platform/android/src/run_loop_impl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

#include "jni.hpp"

#include <mbgl/util/atomic.hpp>
#include <mbgl/util/chrono.hpp>
#include <mbgl/util/run_loop.hpp>
#include <mbgl/util/thread.hpp>

#include <atomic>
#include <list>
#include <memory>
#include <mutex>
Expand Down Expand Up @@ -43,7 +43,7 @@ class RunLoop::Impl {

ALooper* loop = nullptr;
RunLoop* runLoop = nullptr;
util::Atomic<bool> running;
std::atomic<bool> running;

private:
friend RunLoop;
Expand Down
4 changes: 2 additions & 2 deletions src/mbgl/geometry/glyph_atlas.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

#include <mbgl/geometry/binpack.hpp>
#include <mbgl/text/glyph_store.hpp>
#include <mbgl/util/atomic.hpp>
#include <mbgl/util/noncopyable.hpp>
#include <mbgl/util/optional.hpp>
#include <mbgl/gl/gl.hpp>
#include <mbgl/gl/object_store.hpp>

#include <atomic>
#include <string>
#include <set>
#include <unordered_map>
Expand Down Expand Up @@ -57,7 +57,7 @@ class GlyphAtlas : public util::noncopyable {
BinPack<uint16_t> bin;
std::unordered_map<FontStack, std::map<uint32_t, GlyphValue>, FontStackHash> index;
const std::unique_ptr<uint8_t[]> data;
util::Atomic<bool> dirty;
std::atomic<bool> dirty;
mbgl::optional<gl::UniqueTexture> texture;
};

Expand Down
5 changes: 3 additions & 2 deletions src/mbgl/renderer/bucket.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@

#include <mbgl/gl/gl.hpp>
#include <mbgl/renderer/render_pass.hpp>
#include <mbgl/util/atomic.hpp>
#include <mbgl/util/noncopyable.hpp>

#include <atomic>

#define BUFFER_OFFSET_0 ((GLbyte*)nullptr)
#define BUFFER_OFFSET(i) ((BUFFER_OFFSET_0) + (i))

Expand Down Expand Up @@ -50,7 +51,7 @@ class Bucket : private util::noncopyable {
virtual void swapRenderData() {}

protected:
util::Atomic<bool> uploaded { false };
std::atomic<bool> uploaded { false };
};

} // namespace mbgl
4 changes: 2 additions & 2 deletions src/mbgl/sprite/sprite_atlas.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
#include <mbgl/geometry/binpack.hpp>
#include <mbgl/gl/gl.hpp>
#include <mbgl/gl/object_store.hpp>
#include <mbgl/util/atomic.hpp>
#include <mbgl/util/noncopyable.hpp>
#include <mbgl/util/ptr.hpp>
#include <mbgl/util/optional.hpp>

#include <atomic>
#include <string>
#include <map>
#include <mutex>
Expand Down Expand Up @@ -92,7 +92,7 @@ class SpriteAtlas : public util::noncopyable {
std::map<Key, Holder> images;
std::set<std::string> uninitialized;
std::unique_ptr<uint32_t[]> data;
util::Atomic<bool> dirty;
std::atomic<bool> dirty;
bool fullUploadRequired = true;
mbgl::optional<gl::UniqueTexture> texture;
uint32_t filter = 0;
Expand Down
2 changes: 1 addition & 1 deletion src/mbgl/storage/network_status.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

namespace mbgl {

util::Atomic<bool> NetworkStatus::online(true);
std::atomic<bool> NetworkStatus::online(true);
std::mutex NetworkStatus::mtx;
std::set<util::AsyncTask *> NetworkStatus::observers;

Expand Down
6 changes: 3 additions & 3 deletions src/mbgl/style/bucket_parameters.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
#include <mbgl/map/mode.hpp>
#include <mbgl/tile/tile_id.hpp>
#include <mbgl/style/filter.hpp>
#include <mbgl/util/atomic.hpp>

#include <atomic>
#include <functional>

namespace mbgl {
Expand All @@ -24,7 +24,7 @@ class BucketParameters {
public:
BucketParameters(const OverscaledTileID& tileID_,
const GeometryTileLayer& layer_,
const util::Atomic<bool>& obsolete_,
const std::atomic<bool>& obsolete_,
uintptr_t tileUID_,
bool& partialParse_,
SpriteStore& spriteStore_,
Expand All @@ -51,7 +51,7 @@ class BucketParameters {

const OverscaledTileID& tileID;
const GeometryTileLayer& layer;
const util::Atomic<bool>& obsolete;
const std::atomic<bool>& obsolete;
uintptr_t tileUID;
bool& partialParse;
SpriteStore& spriteStore;
Expand Down
4 changes: 2 additions & 2 deletions src/mbgl/text/glyph_pbf.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

#include <mbgl/text/glyph.hpp>
#include <mbgl/text/glyph_store.hpp>
#include <mbgl/util/atomic.hpp>
#include <mbgl/util/font_stack.hpp>
#include <mbgl/util/noncopyable.hpp>

#include <atomic>
#include <functional>
#include <string>
#include <memory>
Expand All @@ -29,7 +29,7 @@ class GlyphPBF : private util::noncopyable {
}

private:
util::Atomic<bool> parsed;
std::atomic<bool> parsed;
std::unique_ptr<AsyncRequest> req;
GlyphStoreObserver* observer = nullptr;
};
Expand Down
4 changes: 2 additions & 2 deletions src/mbgl/tile/geometry_tile.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
#include <mbgl/tile/tile.hpp>
#include <mbgl/tile/tile_worker.hpp>
#include <mbgl/text/placement_config.hpp>
#include <mbgl/util/atomic.hpp>
#include <mbgl/util/feature.hpp>

#include <atomic>
#include <memory>
#include <unordered_map>
#include <vector>
Expand Down Expand Up @@ -73,7 +73,7 @@ class GeometryTile : public Tile {
PlacementConfig targetConfig;

// Used to signal the worker that it should abandon parsing this tile as soon as possible.
util::Atomic<bool> obsolete { false };
std::atomic<bool> obsolete { false };
};

} // namespace mbgl
2 changes: 1 addition & 1 deletion src/mbgl/tile/tile_worker.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ TileWorker::TileWorker(OverscaledTileID id_,
SpriteStore& spriteStore_,
GlyphAtlas& glyphAtlas_,
GlyphStore& glyphStore_,
const util::Atomic<bool>& obsolete_,
const std::atomic<bool>& obsolete_,
const MapMode mode_)
: id(std::move(id_)),
spriteStore(spriteStore_),
Expand Down
6 changes: 3 additions & 3 deletions src/mbgl/tile/tile_worker.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

#include <mbgl/map/mode.hpp>
#include <mbgl/tile/tile_id.hpp>
#include <mbgl/util/atomic.hpp>
#include <mbgl/util/noncopyable.hpp>
#include <mbgl/util/variant.hpp>
#include <mbgl/util/ptr.hpp>
#include <mbgl/text/placement_config.hpp>
#include <mbgl/geometry/feature_index.hpp>

#include <atomic>
#include <string>
#include <memory>
#include <mutex>
Expand Down Expand Up @@ -49,7 +49,7 @@ class TileWorker : public util::noncopyable {
SpriteStore&,
GlyphAtlas&,
GlyphStore&,
const util::Atomic<bool>&,
const std::atomic<bool>&,
const MapMode);
~TileWorker();

Expand All @@ -73,7 +73,7 @@ class TileWorker : public util::noncopyable {
SpriteStore& spriteStore;
GlyphAtlas& glyphAtlas;
GlyphStore& glyphStore;
const util::Atomic<bool>& obsolete;
const std::atomic<bool>& obsolete;
const MapMode mode;

bool partialParse = false;
Expand Down
45 changes: 0 additions & 45 deletions src/mbgl/util/atomic.hpp

This file was deleted.

5 changes: 3 additions & 2 deletions src/mbgl/util/raster.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
#include <mbgl/gl/object_store.hpp>
#include <mbgl/util/image.hpp>
#include <mbgl/util/optional.hpp>
#include <mbgl/util/atomic.hpp>

#include <atomic>

namespace mbgl {

Expand Down Expand Up @@ -34,7 +35,7 @@ class Raster {

private:
// raw pixels have been loaded
util::Atomic<bool> loaded { false };
std::atomic<bool> loaded { false };

// filters
Scaling filter = Scaling::Nearest;
Expand Down
1 change: 0 additions & 1 deletion src/mbgl/util/thread.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
#include <utility>
#include <functional>

#include <mbgl/util/atomic.hpp>
#include <mbgl/util/run_loop.hpp>
#include <mbgl/util/thread_context.hpp>
#include <mbgl/platform/platform.hpp>
Expand Down

0 comments on commit 389c761

Please sign in to comment.