aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/memory
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2017-02-07 10:39:48 +0100
committerLars Knoll <lars.knoll@qt.io>2017-03-09 08:59:14 +0000
commitd06b171582104db5f0b61ee782fb835dd6038d62 (patch)
tree2950d3ba3a4c952637837dcd9450b0603b0b7960 /src/qml/memory
parentacd9771544811c8dca28575b7d546abbb0271fbb (diff)
Mark where we need a write barrier in the JIT
Separate the loadAddress calls into loadAddressForReading and loadAddressForWriting. In the second case, add an out argument that specifies whether the write will need a barrier. Pass the write barrier type that is required for a store down into the actual store methods. Change-Id: I3f7634ab82d82f1b20dab331e083d1a662cd314e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/memory')
-rw-r--r--src/qml/memory/qv4writebarrier_p.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/qml/memory/qv4writebarrier_p.h b/src/qml/memory/qv4writebarrier_p.h
index 1b4505c17f..c0f508f962 100644
--- a/src/qml/memory/qv4writebarrier_p.h
+++ b/src/qml/memory/qv4writebarrier_p.h
@@ -59,6 +59,11 @@ namespace QV4 {
namespace WriteBarrier {
+enum Type {
+ NoBarrier,
+ Barrier
+};
+
inline void write(QV4::ExecutionEngine *engine, QV4::Heap::Base *base, QV4::Value *slot, QV4::Value value)
{
Q_UNUSED(engine);