aboutsummaryrefslogtreecommitdiffstats
path: root/qv4managed.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2013-01-02 22:35:18 +0100
committerSimon Hausmann <simon.hausmann@digia.com>2013-01-03 12:21:40 +0100
commit5e496cc7bd5c236fce41ff903894992e218effa1 (patch)
tree5eda45830ad8ef3a65ef9feae70dee64b372f805 /qv4managed.h
parent18d493f9a3f873532eaa197665db60638c415cff (diff)
Save some memory
Move some boolean flags from Object and FunctionObject into the Managed class and reduce the size of these Objects. Change-Id: Iee9ab09407ec44b447f9597a9b1d55e9092e7ad5 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'qv4managed.h')
-rw-r--r--qv4managed.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/qv4managed.h b/qv4managed.h
index 584b9d76dd..22138b9310 100644
--- a/qv4managed.h
+++ b/qv4managed.h
@@ -61,7 +61,7 @@ private:
void operator = (const Managed &other);
protected:
- Managed() : markBit(0), inUse(1), unused(0) { }
+ Managed() : markBit(0), inUse(1), extensible(true), unused(0) { }
virtual ~Managed();
public:
@@ -79,10 +79,14 @@ private:
struct {
quintptr markBit : 1;
quintptr inUse : 1;
+ quintptr extensible : 1; // used by Object
+ quintptr needsActivation : 1; // used by FunctionObject
+ quintptr usesArgumentsObject : 1; // used by FunctionObject
+ quintptr strictMode : 1; // used by FunctionObject
#if CPU(X86_64)
- quintptr unused : 62;
+ quintptr unused : 58;
#elif CPU(X86)
- quintptr unused : 30;
+ quintptr unused : 26;
#else
#error "implement me"
#endif