diff options
author | Lars Knoll <lars.knoll@qt.io> | 2018-04-04 12:09:12 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2018-05-02 14:17:33 +0000 |
commit | 0496475831972387fe74733fec6de68c4fcb2c45 (patch) | |
tree | 21b75afbe7b0c1f7259e6e145170cc349f680c2c /src/qml/jsruntime/qv4argumentsobject_p.h | |
parent | d5f5f86824437bff8946c83d4369536a6de6f0e7 (diff) |
The length of array like objects can in some cases be 2^53 -1 in ES7
Add a Value::getLength(), that converts a Value to a length bound
between 0 and 2^53-1 as per ES7 spec. Use the extended range in
Array.prototype.splice and map to fix hanging test cases.
Change-Id: If9280d501423cfc10a60abd4e8aa30521d2a7bca
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4argumentsobject_p.h')
-rw-r--r-- | src/qml/jsruntime/qv4argumentsobject_p.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/qml/jsruntime/qv4argumentsobject_p.h b/src/qml/jsruntime/qv4argumentsobject_p.h index 9264f938e2..01e2c10090 100644 --- a/src/qml/jsruntime/qv4argumentsobject_p.h +++ b/src/qml/jsruntime/qv4argumentsobject_p.h @@ -149,7 +149,7 @@ struct ArgumentsObject: Object { static bool putIndexed(Managed *m, uint index, const Value &value); static bool deleteIndexedProperty(Managed *m, uint index); static PropertyAttributes queryIndexed(const Managed *m, uint index); - static uint getLength(const Managed *m); + static qint64 getLength(const Managed *m); void fullyCreate(); |