Reviewers: danno,
Message:
PTAQL.
Description:
Optimize JS date implementation for smi-only arrays
Please review this at http://codereview.chromium.org/8409010/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/date.js
M src/runtime.cc
Index: src/date.js
diff --git a/src/date.js b/src/date.js
index
d603671774f341614d59727fb5e3f4cfb1b59b40..8d7d5d8b5ee1ab224db92c911a64ccf41b610e6f
100644
--- a/src/date.js
+++ b/src/date.js
@@ -294,8 +294,8 @@ function TimeInYear(year) {
}
-var ymd_from_time_cache = [$NaN, $NaN, $NaN];
-var ymd_from_time_cached_time = $NaN;
+var ymd_from_time_cache = [1970, 0, 1];
+var ymd_from_time_cached_time = 0;
function YearFromTime(t) {
if (t !== ymd_from_time_cached_time) {
Index: src/runtime.cc
diff --git a/src/runtime.cc b/src/runtime.cc
index
044a4491ab27129e42acc0695822b661a0ffc29e..1b7f7045be7f289dcdaee8acbc5fc8a183a810ca
100644
--- a/src/runtime.cc
+++ b/src/runtime.cc
@@ -7883,6 +7883,8 @@ RUNTIME_FUNCTION(MaybeObject*,
Runtime_DateYMDFromTime) {
elms->set(1, month);
elms->set(2, day);
} else {
+ MaybeObject* maybe = res_array->EnsureWritableFastElements();
+ if (maybe->IsFailure()) return maybe;
FixedArray* elms = FixedArray::cast(res_array->elements());
elms->set(0, Smi::FromInt(year));
elms->set(1, Smi::FromInt(month));
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev