kmillikin@chromium.org
af989d9e94
Check the growth of the old generation before expanding the paged
...
spaces (during normal allocation) and when allocating large objects.
If the promotion limit is reached, fail allocation to trigger a
garbage collection.
Review URL: http://codereview.chromium.org/8657
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-29 09:27:59 +00:00
iposva@chromium.org
a74efbd120
Fix compile failure with very strict gcc warning rules on Linux.
...
TBR=kasperl
Review URL: http://codereview.chromium.org/8857
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-28 22:47:51 +00:00
iposva@chromium.org
35939fd987
Track whether a node or variable are likely to be a Smi value. Propagate that
...
knowledge in the AST and inline the Smi check into the generated code if it
is deemed high value (e.g. in loops).
Review URL: http://codereview.chromium.org/8835
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-28 22:33:00 +00:00
feng@chromium.org
d0b263c37b
Fix the lint error.
...
TBR=iposva
Review URL: http://codereview.chromium.org/8664
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@629 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-28 17:32:01 +00:00
feng@chromium.org
6ac8e45528
Check that an index is in the range of 0 to array length in ArrayConcatVisitor.
...
Elements out of range are discarded.
Review URL: http://codereview.chromium.org/8836
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-28 17:23:10 +00:00
feng@chromium.org
91dffb0c4e
fix build error in debug mode, TBR=iposva
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-28 16:27:09 +00:00
kasperl@chromium.org
51058d276f
Fix lint issues.
...
TBR=feng@chromium.org
Review URL: http://codereview.chromium.org/8659
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-28 14:54:52 +00:00
feng@chromium.org
4c1a5810b9
Implement Array::concat function in C++.
...
The performance of Array::concat is critical of jQuery benchmark from
http://www.dromaeo.com . Our current implementation in JavaScript is very
generic and is several times slower than JSC and SpiderMonkey.
Re-implement Array::concat in C++ to take advantage of underlying implementation
details. This cuts dom-travesal-jquery execution time by half.
We may want to move Array specific implementation into a separate source file,
say jsarray.cc.
Review URL: http://codereview.chromium.org/7990
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-28 14:47:50 +00:00
ager@chromium.org
44340e39c5
Change the order of two assignments, to make sure that the script type
...
field is always initialized to a Smi before we get any GCs.
Review URL: http://codereview.chromium.org/8833
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-28 13:46:04 +00:00
ager@chromium.org
b595d914a8
In my final round of refactoring, I accidentally broke my string
...
lenght optimization. Here is the fix: check that the instance type
not the receiver is JS_VALUE_TYPE.
Review URL: http://codereview.chromium.org/8656
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-28 10:25:35 +00:00
olehougaard
867d504395
Fixing profiling when using snapshot.
...
Review URL: http://codereview.chromium.org/8655
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@621 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-28 09:53:52 +00:00
kasperl@chromium.org
66a1567bf5
Get ready for pushing version 0.4.1 to trunk.
...
Review URL: http://codereview.chromium.org/8829
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-28 08:42:47 +00:00
kasperl@chromium.org
e79ebd5ceb
Work around issue 131 by checking for empty handles
...
in a few places.
Review URL: http://codereview.chromium.org/8828
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-28 08:29:23 +00:00
ager@chromium.org
8813d15d18
Revert revision 593. This was a cleanup change but it caused layout
...
test regressions.
Review URL: http://codereview.chromium.org/8827
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-28 07:30:10 +00:00
feng@chromium.org
1706231d78
Fast check undefined in EQUALS.
...
Review URL: http://codereview.chromium.org/7979
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@614 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-28 03:39:17 +00:00
kasperl@chromium.org
a71cca5054
Allow string-compare-alignment to pass on ARM simulator.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@611 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 16:43:56 +00:00
erik.corry@gmail.com
5f4c9b0960
It seems we haven't nailed the unaligned string compare problem yet.
...
Review URL: http://codereview.chromium.org/8622
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@610 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 15:53:29 +00:00
erik.corry@gmail.com
d7c5ee9120
Test for a bug that was fixed in r554 where we used unaligned accesses on ARM
...
with surprising results.
Review URL: http://codereview.chromium.org/8619
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 14:42:23 +00:00
ager@chromium.org
721b7298e2
Allow inline caching for getting the length of string wrapper objects.
...
Review URL: http://codereview.chromium.org/8620
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@608 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 14:36:08 +00:00
kasperl@chromium.org
2dcb4d2c59
Fix issue 120 by patching the on-stack receiver in the
...
IC stubs for calls just before invoking the target
function instead of doing it before resolving the
function.
Review URL: http://codereview.chromium.org/8192
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@607 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 14:12:02 +00:00
erik.corry@gmail.com
3cd77583e1
Fix mistake in ARM version of string length stub.
...
Review URL: http://codereview.chromium.org/8193
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 14:01:04 +00:00
whesse@chromium.org
d08b095bce
Revert changes 601 and 602. TBR
...
Review URL: http://codereview.chromium.org/8190
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 12:45:24 +00:00
erik.corry@gmail.com
1158879625
Add missing ARM files from last change!
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@604 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 12:44:11 +00:00
erik.corry@gmail.com
0fc72f2b4e
Serendipitously arrange the tags so that String.length() becomes a branch-free
...
operation. I have another version of this change that does not remove the
special inline caches for difference sized strings. The other version is ever
so slightly faster, but the nice thing about this version is that it removes
253 lines of code.
Review URL: http://codereview.chromium.org/8187
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@603 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 12:39:34 +00:00
whesse@chromium.org
724f5648b9
Rewrites a ternary choice operator to fix a compiler
...
linkage bug.
Review URL: http://codereview.chromium.org/8189
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@602 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 12:24:22 +00:00
whesse@chromium.org
6941a4f389
Collects unused maps that are only kept alive by map transitions.
...
If a map has descendents in the map transition tree that are alive,
it is kept. Only maps such that they and all their descendants
have no live objects are collected. This happens in mark-sweep and
mark-compact garbage collections.
Review URL: http://codereview.chromium.org/8099
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 11:55:31 +00:00
kasperl@chromium.org
a510287b66
Fix issue 128.
...
Review URL: http://codereview.chromium.org/8617
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 09:48:47 +00:00
sgjesse@chromium.org
2c3fdd8e25
Added a Visual Studio project for the d8 developer shell. Currently without readline support.
...
Review URL: http://codereview.chromium.org/7984
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 07:52:59 +00:00
erik.corry@gmail.com
6e00a80354
You can't use BinarySearch on an unsorted array and other
...
sillinesses found while trying to get rid of medium-sized strings.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-26 20:50:05 +00:00
feng@chromium.org
f26baa4a4c
remove unused strcasecmp on windows, it conflicts with the one from webkit, check in on behave of dglazkov@chromium.org
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@594 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 23:20:25 +00:00
sgjesse@chromium.org
c204f48529
Revorked version of http://codereview.chromium.org/8101 . The only change is
...
that the exception stored in the TryCatch is not cleared as that was the
cause of the regression.
So the actual difference to http://codereview.chromium.org/8101 is:
Index: src/top.h
===================================================================
--- src/top.h (revision 576)
+++ src/top.h (working copy)
@@ -154,10 +154,6 @@
if (has_pending_exception()) {
thread_local_.external_caught_exception_ =
thread_local_.pending_external_caught_exception_;
- } else {
- if (thread_local_.try_catch_handler_ != NULL) {
- thread_local_.try_catch_handler_->Reset();
- }
}
thread_local_.pending_external_caught_exception_ = false;
}
@@ -312,14 +308,14 @@
};
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 20:50:26 +00:00
kasperl@chromium.org
4e4fc50842
Get ready for fixing issue 120: Pin point the places
...
where the receiver needs to be patched with the proxy
and get ready of unnecessary function patching on ARM.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 12:58:17 +00:00
kasperl@chromium.org
c128b8d9de
Improve code for looking up in context slots in runtime.cc and
...
use safe casting operations to slot access on contexts when
possible.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 10:59:40 +00:00
kasperl@chromium.org
91b19fcfe6
Fix lint issue.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 10:15:07 +00:00
kmillikin@chromium.org
681ae19bd4
Change a few runtime functions that took and returned a dummy argument
...
to instead take no arguments and return the undefined value.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 10:13:22 +00:00
sgjesse@chromium.org
5ffd290217
Changed the workarround for a GCC compiler bug to be only active for the GCC
...
version range for which the bug is known to exist.
Added include to compile with GCC 4.3.1.
BUG=122
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 09:35:27 +00:00
christian.plesner.hansen@gmail.com
9d9f608a38
- Added caching of regexp data in the compilation cache.
...
- Changed the structure of regexp objects from having two internal
fields to having a single field containing a fixed array, since it's
easier to store the whole fixed array in the cache.
- Move printing of the command to after printing std{err,out} in the
compact progress indicators in the test framework.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 08:40:02 +00:00
sgjesse@chromium.org
5d36cc8061
Fix build.
...
Review URL: http://codereview.chromium.org/8144
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 07:19:00 +00:00
sgjesse@chromium.org
27154148cf
Reverted r576 as it caused a regression.
...
TBR=kasperl
Review URL: http://codereview.chromium.org/7970
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 06:40:43 +00:00
sgjesse@chromium.org
39a5ffbd85
Cleanup of http://codereview.chromium.org/8101 .
...
Changed the catcher_ field to a boolean value and renamed it. Modified the
propagation of the external caught exception to also clear the current
TryCatch if there is no exception as it might hold an exception which has
been bypassed by code in a finally block.
Minor formatting changes to a test.
Review URL: http://codereview.chromium.org/8102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@576 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 06:22:47 +00:00
feng@chromium.org
a5ead4a421
Addressing Ivan's comments of using INVALID_TYPE in Factory::CreateApiFunction.
...
Review URL: http://codereview.chromium.org/7925
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 22:27:16 +00:00
bak@chromium.org
69686b1435
Fixed usage of NewArgumentsObject for accessor.
...
Review URL: http://codereview.chromium.org/7917
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 15:06:31 +00:00
bak@chromium.org
d296a22917
- Fixed performance regression caused by ComputeContextSlotReceiver.
...
- Eliminated a few write barriers.
Review URL: http://codereview.chromium.org/8103
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@573 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 14:55:45 +00:00
kasperl@chromium.org
e1c2887a64
Get ready for pushing 0.4.0 to trunk. We're now working
...
towards version 0.4.1.
Review URL: http://codereview.chromium.org/8100
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 13:33:11 +00:00
sgjesse@chromium.org
f7367a9fe6
Posponed the setting of "external_caught_exception" to when leaving JavaScript
...
execution. This is achieved by storing a pointer to the C++ TryCatch when the
exception is thrown and checking that this is the handler active when leaving
JavaScript.
Review URL: http://codereview.chromium.org/8101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 12:54:13 +00:00
kasperl@chromium.org
b454b326a1
Fix lint issue.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 11:09:48 +00:00
christian.plesner.hansen@gmail.com
e08ce319ca
Added v8::Object::GetProperties method that returns an array of all
...
the enumerable properties of an object.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@568 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 10:31:49 +00:00
bak@chromium.org
187879a25a
- Added conditional write barrier to object accessors.
...
- Sped up allocation of Arguments object.
Review URL: http://codereview.chromium.org/8098
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 08:46:32 +00:00
kasperl@chromium.org
b727198587
Fix issue 124 by computing the receiver correctly when
...
the property is found in a context slot.
Review URL: http://codereview.chromium.org/8097
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 08:42:22 +00:00
sgjesse@chromium.org
63afc7bad3
Changed the message reporting for try { ... } finally { ... } statements to
...
report the exception when they happen in the try block and not as previously
when re-thrown after execution of the finally block. There is no longer any
message generated by re-throw.
Added test cases for various combinations of try/catch/finally with throw in
different places.
Added a regression directory to the messages tests which is processed by the
test runner.
Added regression tests for the specific bugs fixed.
Runs all the test suites.
BUG=73
BUG=75
Review URL: http://codereview.chromium.org/8050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 08:40:19 +00:00