Version 1.2.12.
Added stack traces collection to Error objects accessible through the e.stack property.
Changed RegExp parser to use a recursive data structure instead of stack-based recursion.
Optimized Date object construction and string concatenation.
Improved performance of div, mod, and mul on ARM platforms.
git-svn-id: http://v8.googlecode.com/svn/trunk@2361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/factory.cc b/src/factory.cc
index 216a07e..4d7a957 100644
--- a/src/factory.cc
+++ b/src/factory.cc
@@ -49,9 +49,17 @@
}
-Handle<Dictionary> Factory::NewDictionary(int at_least_space_for) {
+Handle<StringDictionary> Factory::NewStringDictionary(int at_least_space_for) {
ASSERT(0 <= at_least_space_for);
- CALL_HEAP_FUNCTION(Dictionary::Allocate(at_least_space_for), Dictionary);
+ CALL_HEAP_FUNCTION(StringDictionary::Allocate(at_least_space_for),
+ StringDictionary);
+}
+
+
+Handle<NumberDictionary> Factory::NewNumberDictionary(int at_least_space_for) {
+ ASSERT(0 <= at_least_space_for);
+ CALL_HEAP_FUNCTION(NumberDictionary::Allocate(at_least_space_for),
+ NumberDictionary);
}
@@ -655,10 +663,11 @@
}
-Handle<Dictionary> Factory::DictionaryAtNumberPut(Handle<Dictionary> dictionary,
- uint32_t key,
- Handle<Object> value) {
- CALL_HEAP_FUNCTION(dictionary->AtNumberPut(key, *value), Dictionary);
+Handle<NumberDictionary> Factory::DictionaryAtNumberPut(
+ Handle<NumberDictionary> dictionary,
+ uint32_t key,
+ Handle<Object> value) {
+ CALL_HEAP_FUNCTION(dictionary->AtNumberPut(key, *value), NumberDictionary);
}