summaryrefslogtreecommitdiffstats
path: root/src/array.js
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2012-05-21 14:52:42 +0100
committerBen Murdoch <benm@google.com>2012-05-21 14:52:42 +0100
commit5710ceac03e2cf7a164ad7393b5a6b6114ea45e6 (patch)
tree7aef20da44c3200a8ded383f9bae474cdb93e595 /src/array.js
parent84774f4b8cb56f14184c96dd08fb2ae119d986e0 (diff)
downloadandroid_external_v8-5710ceac03e2cf7a164ad7393b5a6b6114ea45e6.tar.gz
android_external_v8-5710ceac03e2cf7a164ad7393b5a6b6114ea45e6.tar.bz2
android_external_v8-5710ceac03e2cf7a164ad7393b5a6b6114ea45e6.zip
Merge V8 at 3.9.24.28
Bug: 6519007 / 6517949 / 6518772 Change-Id: Idc3e1297aeafa0274fa9fc321e91b774091d1b50
Diffstat (limited to 'src/array.js')
-rw-r--r--src/array.js10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/array.js b/src/array.js
index daa75d57..00a4fee5 100644
--- a/src/array.js
+++ b/src/array.js
@@ -823,7 +823,8 @@ function ArraySort(comparefn) {
var element = a[i];
var order = %_CallFunction(receiver, element, pivot, comparefn);
if (order < 0) {
- %_SwapElements(a, i, low_end);
+ a[i] = a[low_end];
+ a[low_end] = element;
low_end++;
} else if (order > 0) {
do {
@@ -832,9 +833,12 @@ function ArraySort(comparefn) {
var top_elem = a[high_start];
order = %_CallFunction(receiver, top_elem, pivot, comparefn);
} while (order > 0);
- %_SwapElements(a, i, high_start);
+ a[i] = a[high_start];
+ a[high_start] = element;
if (order < 0) {
- %_SwapElements(a, i, low_end);
+ element = a[i];
+ a[i] = a[low_end];
+ a[low_end] = element;
low_end++;
}
}