Commit Graph

354 Commits

Author SHA1 Message Date
whessev8
eb9c7f3265 Code cleanup & simplification.
Moves the calls to tracer and UpdateLiveObjectCount inside the call to
(inlined) SetMark.  Removes global object counter.
Review URL: http://codereview.chromium.org/8910

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-04 13:05:56 +00:00
ager@chromium.org
801e168dcc Prepare push to trunk. Now working on version 0.4.4.
Review URL: http://codereview.chromium.org/9324

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@686 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-04 11:38:08 +00:00
ager@chromium.org
af16174b19 Make buildbots green. StringShapes can change during GC when we
shortcut cons strings.
Review URL: http://codereview.chromium.org/9245

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-03 15:33:45 +00:00
ager@chromium.org
240d818bb8 Smi ranges are not symmetrical. -kMinSmiValue is not a Smi.
Review URL: http://codereview.chromium.org/9041

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@680 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-03 15:21:46 +00:00
lrn@chromium.org
4e3bbd8247 If a HeapNumber is the incoming value, it must be converted to Smi before
checking. This is not done in a fast way.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-03 13:33:13 +00:00
erik.corry@gmail.com
c390485090 Fix place where linter complains about lonely {
Fix place where ARM compiler loses track of whether variables were initialized.
Review URL: http://codereview.chromium.org/9244

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-03 12:08:01 +00:00
erik.corry@gmail.com
ed8d093e72 Add file accidentally omitted from last change.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-03 10:35:24 +00:00
erik.corry@gmail.com
eca89dc765 Create an abstraction for the string type flags so that they can be cached.
Read the objects.h change first to understand what's going on here.
Review URL: http://codereview.chromium.org/9038

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-03 10:16:05 +00:00
kmillikin@chromium.org
ec3c4ced39 Reverted 671.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-31 13:18:52 +00:00
kmillikin@chromium.org
67ae89e417 Simplify the way we materialize boolean values that are not yet pushed
on the stack frame.
Review URL: http://codereview.chromium.org/8764

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@671 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-31 11:55:06 +00:00
olehougaard
bf3efa1c72 Fixing propertyIsEnumerable for properties that are *both* enumerable and read-only.
Review URL: http://codereview.chromium.org/8962

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@670 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-31 11:53:29 +00:00
olehougaard
2a6c90e668 Fixed some details in GetPropertyAttributeWithFailedAccessCheck
Review URL: http://codereview.chromium.org/8959

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@667 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-31 10:11:39 +00:00
olehougaard
77a92988d2 Introduce access control in propertyIsEnumerable.
Also, fix JSObject::getPropertyAttribute() so it deals correctly with access control modifiers.
Review URL: http://codereview.chromium.org/8834

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@665 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-31 09:42:14 +00:00
kasperl@chromium.org
744aedd2d0 Fix natives fuzzing: Let the StringIndexOf runtime function
deal with start indexes that are out of range.
Review URL: http://codereview.chromium.org/8762

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@663 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-31 08:51:26 +00:00
kasperl@chromium.org
25421c9cde Ignore result of calling Heap::CollectGarbage and continue
to try the next allocation. This is consistent with how we
handle it when calling from JavaScript to C++.
Review URL: http://codereview.chromium.org/8916

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@659 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-30 14:30:25 +00:00
ager@chromium.org
2013421859 Add support for API accessors that prohibit overwriting by accessors
defined in JavaScript code by using __defineGetter__ and
__defineSetter__.

Also, disable access checks when configuring objects created from
templates.
Review URL: http://codereview.chromium.org/8914

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@656 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-30 12:51:06 +00:00
ager@chromium.org
69e8060636 Move assertion that might cause garbage collections to before
extracting raw pointers.
Review URL: http://codereview.chromium.org/8913

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@654 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-30 11:38:22 +00:00
erik.corry@gmail.com
128c1ab8fe Silly pointer thinko.
Review URL: http://codereview.chromium.org/8912

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-30 11:35:48 +00:00
kasperl@chromium.org
3a296601ae Prepare for pushing version 0.4.2.
Review URL: http://codereview.chromium.org/8911

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-30 11:19:31 +00:00
kasperl@chromium.org
ff1088d698 Fix lint issue.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-30 11:15:29 +00:00
erik.corry@gmail.com
8a8a24870b Fix 3 places where we were doing retry after GC without using the macros that
were defined for that purpose.
Review URL: http://codereview.chromium.org/8734

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-30 11:12:08 +00:00
sgjesse@chromium.org
52b2a12684 Added some missing initialization checks to the debugger API.
BUG=3723 (Chromium)
Review URL: http://codereview.chromium.org/8909

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@648 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-30 10:27:28 +00:00
kasperl@chromium.org
a2be3b6f84 Make sure that allocations through CALL_HEAP_FUNCTION
and runtime calls from JavaScript will always succeed
eventually if we have enough memory.
Review URL: http://codereview.chromium.org/8700

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-30 09:15:58 +00:00
feng@chromium.org
24cb757ae3 Fix Chromium issue 3607.
Make Date::toLocaleDateString output be the same format as Safari.

Someone famililar with Date builtin object should check other functions.


Review URL: http://codereview.chromium.org/8875

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-29 23:30:25 +00:00
iposva@chromium.org
156c1323e3 Fix out-of-date comment.
TBR=ager

Review URL: http://codereview.chromium.org/8708

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-29 18:31:55 +00:00
erik.corry@gmail.com
21228af2c0 Get the ARM simulator to throw an exception on unaligned accesses.
Review URL: http://codereview.chromium.org/8830

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-29 14:12:13 +00:00
kasperl@chromium.org
a26b3535de Allow three runtime call attempts before throwing an out of
memory exception. Still needs work in Runtime_PerformGC to
make sure we'll allow future allocations.
Review URL: http://codereview.chromium.org/8873

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-29 12:16:34 +00:00
whessev8
28cee257b6 Remove unused maps during marking garbage collections.
Review URL: http://codereview.chromium.org/8831

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-29 10:37:14 +00:00
kasperl@chromium.org
b5fe75f950 Fix issue with Array.concat not preserving holes in the
top-level arrays.
Review URL: http://codereview.chromium.org/8694

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@635 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-29 10:02:09 +00:00
sgjesse@chromium.org
d9285da2a8 By default disable the general protection fault message box when
running tests on Windows. This requires 

Added the option --win-error-box to enable general protection fault
message box which can be convenient when debugging failing tests on
Windows.

Added crash detection when running tests on Windows. The output
is not fully polished but crashed indications are printed for the
different progess indicators.

Changed the OS::Abort on Windows from generating a "crash" (int3)
to calling abort(). This is to avoid tests which are known to fail
with out of memory errors to be detected as crashed tests.
Review URL: http://codereview.chromium.org/8676

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@633 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-29 09:52:31 +00:00
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
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