-
Notifications
You must be signed in to change notification settings - Fork 675
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactoring ecma_extended_object_t::cls:: to ease the coding about builtin object class #5176
base: master
Are you sure you want to change the base?
Conversation
The point of the single union is that it is not possible to use multiple variables of a union for data storage (and overwriting each other). While this patch improves readability, people may accidentally think that arraybuffer / typedarray are different things and may use both. Anyway I am neutral for this change, but wanted to add some notes about the original purpose. |
Btw, am I see correctly that it increases the structure total size? |
OK, let's me use static_assert to ensure that, |
may use both. Anyway I am neutral for this change, but wanted to add some notes about the original purpose. |
As far as I see now we have a cls and clz unions, and they are independent members of the parent structure. This is why I worry about the structure size. |
Is this the right direction, I can convert all the reamaing to separate class, then I can merge |
c1ea60f
to
7ee9f99
Compare
Your concern addressed,
|
98c3ee1
to
00db22d
Compare
…iltin object class Currently all builtin class are sharing same union u1 u2 u3 in ecma_extended_object_t::cls::, that's complicated the things Now we split general object class into ecma_object_cls_general_t and can only access with ecma_object_cls_general, for others split it into separate struct, so when new builtin object class, bug-fixing, feature improving will be easier. JerryScript-DCO-1.0-Signed-off-by: Yonggang Luo [email protected]
@zherczeg all your concern addressed, please take a look again |
Currently all builtin class are sharing same union u1 u2 u3 in ecma_extended_object_t::cls::, that's complicated the things
Now we split general object class into ecma_object_cls_general_t and can only access with ecma_object_cls_general,
for others split it into separate struct, so when new builtin object class, bug-fixing, feature improving will
be easier.
JerryScript-DCO-1.0-Signed-off-by: Yonggang Luo [email protected]