| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Make sure to copy all 64-bits out of ctx->thisObject
Change-Id: I9984f83f5f238177e75e469c574ef49ee5bb0665
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: Iba4355e547c6f0d18bb31a977448bf433021c9f9
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
| |
This avoids malloc'ing the memberData array in most cases, and
speed up the V8 benchmark by another 10%
Change-Id: Id5976a9f9b389ee2d1568211b486c2896d818dd3
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: I47e0211536ca7bae2f38aca04cb5e338759caa68
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: I35c87190527a9eebd596aba8c4b100be77f552cd
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: I02a41aa5336c8aaad8584c1b8a857ee6cecc2370
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: Ic4afb5b2b73b3311077d3d64ddc03fa6da842e82
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: I8a03089032aabdd7cf07c3dd197f6f47dabd66ab
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: I6961116e0b973d46e497d96d97203cb6046a06bb
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: I19f5ae0bb0a138756bb3396ebda6300eb8958b16
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: Idaf67f719402666e11676983d6bc99952f48a72d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
| |
This is trivial to inline.
Change-Id: Idccfc3c39d19e85768ec1be4b3b62b67abf00325
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
| |
We can avoid passing the context into many methods now.
Change-Id: I3cfedd679441117c5ea3aa735d5342788d7dfac5
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
| |
Gives about 12% speed improvement for the V8 benchmark.
fact.2.js is almost twice as fast.
Change-Id: Icfa1a780b30e131b9531e12f4bd569516c404e86
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
| |
Add specialized lookup methods for data properties.
Speeds up the v8 benchmark by ~10%
Change-Id: Ib61a59529b6eaba1ac5ad3020fd1ff52594b7ddf
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: Id57b23ebd6de4579f8e425bd2964b1249fb327c1
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
| |
* Add missing functions to our WTF stubs
* Some of the math functions wrapped with MathExtras.h are back in the std:: namespace
they belong to
Change-Id: I9da43e8344ab8c95edc8db19f44ccdbd91b4ac70
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
| |
* Extend FunctionPtr by another overloaded constructor that allows passing 6 arguments
* Work around STL <> WTF incompatibilities with iterators
* Remove unused printInternal functions that rely on CString/WTFString
Change-Id: Ie0cc503288871cb594716e47e03dd509b1b5ac85
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This brings in various bug fixes in the ARM and MIPS assemblers as well as
a Yarr crash fix and performance fix.
This change doesn't compile as-is, but the next change will
apply the modifications necessary to compile. That'll make future updates
easier as it allows for cherry-picking because the modifications are usually
always the same.
Change-Id: Iac32f62c71e8ff908deb41f28f12fbc98c0823e1
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
| |
Change-Id: I74835d7c088b803205aa417ec2b7a2808f66f6ca
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: Ib6d32ac61f54f2fb4325f67c54aeb01b99624ab9
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
| |
In the two places where we need to check, we can do it
more easily on the calling side.
Change-Id: I259d3cc798660121bba13208ef46e371e3173053
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
| |
A bunch of methods took pointers to the current execution
context even though they don't require it.
Change-Id: I2a504a72069af16bb8bdbb62be438ee1cab723b0
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: Ia67dc06f505fdb064a22920a9786708aa6d83e6e
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Rather large change that fully separates the property
attributes from the property data. This saves quite some
memory. Since the property data for members is saves
in the class structure it'll also allow optimizations
to the lookup code.
Change-Id: I9ba1d372bb756695bef8188d1b86275562a1b219
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: I9fc8b291c434dc6552eba2a39623a4fe75291e0f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: I37177b5287ec323f54826cce1cb307ee7f678930
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
| |
This further encapsulates the property attribute handling,
and will allow to separate the attributes from the
proprety data.
Change-Id: I140a6c9349cd1e871cd9fdcef51abac7ae78e517
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: Ia81236136aedcddaad303187b353cfcf03d792c6
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
This should allow us to share property attributes for different
class instances saving quite some memory. In addition, it
can be used to speed up property access (as we then know in the
lookup whether it's a data or accessor property).
Change-Id: Ide9c6168a07b5c83a1e73d075d8fc4f6594e08fd
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
| |
getOrAddMember was always used for adding. Make that
explicit.
Change-Id: Iff202a83e857aefd231eadf59f310619c4338b52
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: I2e96718556ef5a4262816233351b71dd6a80cb9d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: Ia8b010a9d9c9dd3aacb1b08ce34a42236fa73195
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The other implementation was too complicated, and only solved
one special case (indirect eval calls), but that one can be
solved by simply creating a GlobalContext when needed.
In addition it'll make it simpler to implement context
optimisations for simple methods in the future.
Speeds up the V8 benchmark by 3%
Change-Id: I61ac7753821e0174476094f51a9a4e934563f8e0
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: Ib01bd0c15578b93829abd6fcf8df22cac12daf14
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
| |
Use it for most builtin methods. Gives ~10% speed
improvement on the V8 benchmark.
Change-Id: I0039f102e561c0adbe1a9b070150ad32142a33e8
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: I69718b2943259dc0f6d6bf2856e651bfb4fbe3a5
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: Ic826e3e71eac9171fa113dec79db7c69982f2386
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
| |
Have an activation object (for now) in CallContext, and
a global object in the GlobalContext.
Change-Id: I02b1e6a2e976d914acfcc3d35cd8abda08dfd298
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
When creating new objects through the V8 API, use the
root context, not the current context.
Fixes some crashes in QML, after creating contexts on the
stack again.
Change-Id: I9e49fa39f6222dcfa747b7466f1555572dc24f94
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: Id992154d38e26ee95ccf6f175eeab360c63c0b04
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: I928b9c4816b421e3d79bd038c37e24d09129899d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: I3f6751fc7e0450a74339f1131b10b56a2ebe6a50
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: I8e7d2fe649eb2c8119f9a787d54b8e92c0e9684f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
| |
These will be used to split up the context
into more specialized subclasses.
Change-Id: Ic346c1738ad6e9c4d78e2e6f51133c8ea781f59b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
| |
Also look a bit deeper into the proto chain. This speeds up
the deltablue benchmark by 10%
Change-Id: Id3f5de58f336d7ca74c7c32e6c30564410baf1e4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
| |
This seems to be working now, and speeds up our benchmarks
with another 20%.
Change-Id: Ib01bf8f66db91b0e06090eff705db79b0caf66ee
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
| |
Not needed :)
Change-Id: If22d077a05ffa21f393569f93fcb9f599008af82
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
| |
Change-Id: I2b43d8c356a8b433836c1e3f6a99675e69b670fa
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Creating context and locals in two mallocs wasn't very good
for performance. This allocates them in one go again, while
still managing them through the garbage collector.
This brings performance up by around 20%.
Change-Id: I9b31d669e1a502c90a117bacf5fee5d23e9821b4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|