diff options
author | Lars Knoll <lars.knoll@digia.com> | 2013-01-02 22:35:18 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2013-01-03 12:21:40 +0100 |
commit | 5e496cc7bd5c236fce41ff903894992e218effa1 (patch) | |
tree | 5eda45830ad8ef3a65ef9feae70dee64b372f805 /qv4managed.h | |
parent | 18d493f9a3f873532eaa197665db60638c415cff (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.h | 10 |
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 |