feng@chromium.org [Mon, 10 Nov 2008 22:53:19 +0000 (22:53 +0000)]
Fix CALL_NON_FUNCTION.
Using two flags to specify the state of targets:
1) FixupIsPCRelative specifies where to patch (relative to pc or at pc);
2) FixupUseCodeObject specifies what to patch (code object or start address).
Review URL: http://codereview.chromium.org/10233
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@727
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Mon, 10 Nov 2008 17:27:49 +0000 (17:27 +0000)]
Revert r724 (breaks debug mode tests).
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@726
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 10 Nov 2008 14:36:03 +0000 (14:36 +0000)]
Destroyed global handles should not be touched. Added extra
assertions to get errors when first touching the destroyed handle
instead of getting the error when allocating a new handle at some
later point.
Review URL: http://codereview.chromium.org/9741
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@725
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 10 Nov 2008 14:27:08 +0000 (14:27 +0000)]
Flag passes rest of command line to the shell/scripts being run.
Arguments on the command line are made available as a global "arguments" array.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@724
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 10 Nov 2008 09:45:50 +0000 (09:45 +0000)]
Removed some unused debugger functions.
Review URL: http://codereview.chromium.org/10249
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@723
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
deanm@chromium.org [Sun, 9 Nov 2008 17:48:34 +0000 (17:48 +0000)]
Use shorter SIB encoding. For example, the previous:
8d044500000000 lea eax,[eax*2+0x0]
Will be encoded with the much shorter:
8d0400 lea eax,[eax+eax*1]
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@722
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
feng@chromium.org [Fri, 7 Nov 2008 23:00:09 +0000 (23:00 +0000)]
fix lint, approved offline by iposva
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@721
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
feng@chromium.org [Fri, 7 Nov 2008 22:56:41 +0000 (22:56 +0000)]
Fix OOM handler code. Old code didn't pop up the state slot.
Review URL: http://codereview.chromium.org/10223
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@720
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
feng@chromium.org [Fri, 7 Nov 2008 17:21:11 +0000 (17:21 +0000)]
Add ARM simulator build files.
Review URL: http://codereview.chromium.org/9669
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@719
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
feng@chromium.org [Fri, 7 Nov 2008 17:18:22 +0000 (17:18 +0000)]
Remove ARM files.
Review URL: http://codereview.chromium.org/9486
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@718
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whessev8 [Fri, 7 Nov 2008 09:55:57 +0000 (09:55 +0000)]
Fix typo and remove undefined, unused API function from include/v8-debug.h
Review URL: http://codereview.chromium.org/9504
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@710
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Fri, 7 Nov 2008 08:58:23 +0000 (08:58 +0000)]
Reporting -1 as the size of an ILLEGAL reference which actually has
size 0 was too cute.
Review URL: http://codereview.chromium.org/9689
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@709
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Fri, 7 Nov 2008 08:21:07 +0000 (08:21 +0000)]
Emit pushes and pops through the virtual frame on ARM. Merging of
frames is not yet handled. The ARM code generator should be back in
line with the IA32 one.
Review URL: http://codereview.chromium.org/9182
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@706
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whessev8 [Thu, 6 Nov 2008 10:43:15 +0000 (10:43 +0000)]
Adds a --help option and usage message listing all flags to V8.
Review URL: http://codereview.chromium.org/9420
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@702
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Wed, 5 Nov 2008 20:39:41 +0000 (20:39 +0000)]
Handle stack overflow errors correctly when rewriting the AST
for likely Smis.
Review URL: http://codereview.chromium.org/9429
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@701
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Wed, 5 Nov 2008 19:18:10 +0000 (19:18 +0000)]
Backport the changes from the readability review.
Review URL: http://codereview.chromium.org/8939
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@700
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 5 Nov 2008 10:26:08 +0000 (10:26 +0000)]
Removed some unsafe uses of StringShape.
Simplified some uses of StringShape.
Removed unused function SlicedStringFlatten.
Review URL: http://codereview.chromium.org/9408
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@695
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 5 Nov 2008 08:44:54 +0000 (08:44 +0000)]
Initial port of VirtualFrame to the ARM architecture. To reduce the
size of the change, the initial implementation provides read access to
the frame (eg, locals, parameters, and expression stack elements) but
no mutation.
Review URL: http://codereview.chromium.org/7302
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@694
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olehougaard [Wed, 5 Nov 2008 08:43:22 +0000 (08:43 +0000)]
Removed a comment that is no longer valid.
Review URL: http://codereview.chromium.org/8960
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@693
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 4 Nov 2008 16:23:56 +0000 (16:23 +0000)]
Do not put failures in handles.
Assert in the Handle constructor that the object is not a failure.
I have run our own tests in debug mode and the WebKit layout tests in
debug mode and there are no regressions.
Review URL: http://codereview.chromium.org/9114
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@691
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
deanm@chromium.org [Tue, 4 Nov 2008 14:02:24 +0000 (14:02 +0000)]
Use 1 byte push REG instructions instead of the 2 byte ModRM version.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@690
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
deanm@chromium.org [Tue, 4 Nov 2008 14:00:35 +0000 (14:00 +0000)]
Remove duplicated code, the two emit_operand were basically identical.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@689
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whessev8 [Tue, 4 Nov 2008 13:05:56 +0000 (13:05 +0000)]
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
ager@chromium.org [Tue, 4 Nov 2008 11:38:08 +0000 (11:38 +0000)]
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
ager@chromium.org [Mon, 3 Nov 2008 15:33:45 +0000 (15:33 +0000)]
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
ager@chromium.org [Mon, 3 Nov 2008 15:21:46 +0000 (15:21 +0000)]
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
lrn@chromium.org [Mon, 3 Nov 2008 13:33:13 +0000 (13:33 +0000)]
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
erik.corry@gmail.com [Mon, 3 Nov 2008 12:08:01 +0000 (12:08 +0000)]
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
erik.corry@gmail.com [Mon, 3 Nov 2008 12:07:22 +0000 (12:07 +0000)]
fuzz natives times out on some machines due to DebugReferencedBy
Review URL: http://codereview.chromium.org/9039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@677
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 3 Nov 2008 10:35:24 +0000 (10:35 +0000)]
Add file accidentally omitted from last change.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@676
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 3 Nov 2008 10:16:05 +0000 (10:16 +0000)]
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
kmillikin@chromium.org [Fri, 31 Oct 2008 13:18:52 +0000 (13:18 +0000)]
Reverted 671.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@673
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 31 Oct 2008 13:12:35 +0000 (13:12 +0000)]
Change the test status file parser to fail if the line contains unparsed tokens.
Refactor the platform.system() tests and use macos when running on Mac.
Review URL: http://codereview.chromium.org/8763
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@672
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Fri, 31 Oct 2008 11:55:06 +0000 (11:55 +0000)]
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
olehougaard [Fri, 31 Oct 2008 11:53:29 +0000 (11:53 +0000)]
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
lrn@chromium.org [Fri, 31 Oct 2008 10:19:01 +0000 (10:19 +0000)]
Reverting patch on wrong branch.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@668
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olehougaard [Fri, 31 Oct 2008 10:11:39 +0000 (10:11 +0000)]
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
lrn@chromium.org [Fri, 31 Oct 2008 09:45:00 +0000 (09:45 +0000)]
We still compile with JSCRE immediately, instead of at the first use.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@666
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olehougaard [Fri, 31 Oct 2008 09:42:14 +0000 (09:42 +0000)]
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
kasperl@chromium.org [Fri, 31 Oct 2008 08:51:26 +0000 (08:51 +0000)]
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
sgjesse@chromium.org [Fri, 31 Oct 2008 07:27:03 +0000 (07:27 +0000)]
Changed the parsing a conditional expression in a test status file to look for 'if' and not 'IF' as all the status files use 'if'.
This change catches the regression from r646.
Review URL: http://codereview.chromium.org/8739
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@662
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Thu, 30 Oct 2008 14:30:25 +0000 (14:30 +0000)]
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
kasperl@chromium.org [Thu, 30 Oct 2008 14:16:02 +0000 (14:16 +0000)]
Extend test case to cover calling runtime functions
from JavaScript.
Review URL: http://codereview.chromium.org/8915
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@658
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 30 Oct 2008 12:51:06 +0000 (12:51 +0000)]
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
ager@chromium.org [Thu, 30 Oct 2008 11:38:22 +0000 (11:38 +0000)]
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
erik.corry@gmail.com [Thu, 30 Oct 2008 11:35:48 +0000 (11:35 +0000)]
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
kasperl@chromium.org [Thu, 30 Oct 2008 11:19:31 +0000 (11:19 +0000)]
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
kasperl@chromium.org [Thu, 30 Oct 2008 11:15:29 +0000 (11:15 +0000)]
Fix lint issue.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@651
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 30 Oct 2008 11:12:08 +0000 (11:12 +0000)]
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
sgjesse@chromium.org [Thu, 30 Oct 2008 10:27:28 +0000 (10:27 +0000)]
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
kasperl@chromium.org [Thu, 30 Oct 2008 09:15:58 +0000 (09:15 +0000)]
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
feng@chromium.org [Wed, 29 Oct 2008 23:30:25 +0000 (23:30 +0000)]
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
iposva@chromium.org [Wed, 29 Oct 2008 18:31:55 +0000 (18:31 +0000)]
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
sgjesse@chromium.org [Wed, 29 Oct 2008 15:50:50 +0000 (15:50 +0000)]
Most of the crashing ARM tests failed in debug mode.
TBR=kasperl
Review URL: http://codereview.chromium.org/8698
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@643
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 29 Oct 2008 14:23:18 +0000 (14:23 +0000)]
Skip the tests which currently crash on the ARM simulator.
Review URL: http://codereview.chromium.org/8696
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@642
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 29 Oct 2008 14:12:13 +0000 (14:12 +0000)]
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
sgjesse@chromium.org [Wed, 29 Oct 2008 12:51:14 +0000 (12:51 +0000)]
Added crash detection to tests on Linux.
Added the timeout condition to the CommandOutput class.
Review URL: http://codereview.chromium.org/8695
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@639
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Wed, 29 Oct 2008 12:16:34 +0000 (12:16 +0000)]
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
whessev8 [Wed, 29 Oct 2008 10:37:14 +0000 (10:37 +0000)]
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
sgjesse@chromium.org [Wed, 29 Oct 2008 10:19:21 +0000 (10:19 +0000)]
Made testing run on Linux again. Fixed spelling error.
TBR=plesner
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@636
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Wed, 29 Oct 2008 10:02:09 +0000 (10:02 +0000)]
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
kmillikin@chromium.org [Wed, 29 Oct 2008 10:00:38 +0000 (10:00 +0000)]
Because allocation in large object space can now require checking the
size of the entire old generation, the heap must be (more) properly
set up to test the large object space.
Review URL: http://codereview.chromium.org/8872
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@634
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 29 Oct 2008 09:52:31 +0000 (09:52 +0000)]
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
kmillikin@chromium.org [Wed, 29 Oct 2008 09:27:59 +0000 (09:27 +0000)]
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
iposva@chromium.org [Tue, 28 Oct 2008 22:47:51 +0000 (22:47 +0000)]
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
iposva@chromium.org [Tue, 28 Oct 2008 22:33:00 +0000 (22:33 +0000)]
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
feng@chromium.org [Tue, 28 Oct 2008 17:32:01 +0000 (17:32 +0000)]
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
feng@chromium.org [Tue, 28 Oct 2008 17:23:10 +0000 (17:23 +0000)]
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
feng@chromium.org [Tue, 28 Oct 2008 16:27:09 +0000 (16:27 +0000)]
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
kasperl@chromium.org [Tue, 28 Oct 2008 14:54:52 +0000 (14:54 +0000)]
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
feng@chromium.org [Tue, 28 Oct 2008 14:47:50 +0000 (14:47 +0000)]
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
ager@chromium.org [Tue, 28 Oct 2008 13:46:04 +0000 (13:46 +0000)]
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
ager@chromium.org [Tue, 28 Oct 2008 10:25:35 +0000 (10:25 +0000)]
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
olehougaard [Tue, 28 Oct 2008 09:53:52 +0000 (09:53 +0000)]
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
kasperl@chromium.org [Tue, 28 Oct 2008 08:42:47 +0000 (08:42 +0000)]
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
kasperl@chromium.org [Tue, 28 Oct 2008 08:29:23 +0000 (08:29 +0000)]
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
ager@chromium.org [Tue, 28 Oct 2008 07:30:10 +0000 (07:30 +0000)]
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
feng@chromium.org [Tue, 28 Oct 2008 03:39:17 +0000 (03:39 +0000)]
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
kasperl@chromium.org [Mon, 27 Oct 2008 16:43:56 +0000 (16:43 +0000)]
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
erik.corry@gmail.com [Mon, 27 Oct 2008 15:53:29 +0000 (15:53 +0000)]
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
erik.corry@gmail.com [Mon, 27 Oct 2008 14:42:23 +0000 (14:42 +0000)]
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
ager@chromium.org [Mon, 27 Oct 2008 14:36:08 +0000 (14:36 +0000)]
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
kasperl@chromium.org [Mon, 27 Oct 2008 14:12:02 +0000 (14:12 +0000)]
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
erik.corry@gmail.com [Mon, 27 Oct 2008 14:01:04 +0000 (14:01 +0000)]
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
whesse@chromium.org [Mon, 27 Oct 2008 12:45:24 +0000 (12:45 +0000)]
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
erik.corry@gmail.com [Mon, 27 Oct 2008 12:44:11 +0000 (12:44 +0000)]
Add missing ARM files from last change!
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@604
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 27 Oct 2008 12:39:34 +0000 (12:39 +0000)]
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
whesse@chromium.org [Mon, 27 Oct 2008 12:24:22 +0000 (12:24 +0000)]
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
whesse@chromium.org [Mon, 27 Oct 2008 11:55:31 +0000 (11:55 +0000)]
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
kasperl@chromium.org [Mon, 27 Oct 2008 09:48:47 +0000 (09:48 +0000)]
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
sgjesse@chromium.org [Mon, 27 Oct 2008 07:52:59 +0000 (07:52 +0000)]
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
erik.corry@gmail.com [Sun, 26 Oct 2008 20:50:05 +0000 (20:50 +0000)]
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
feng@chromium.org [Fri, 24 Oct 2008 23:20:25 +0000 (23:20 +0000)]
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
sgjesse@chromium.org [Fri, 24 Oct 2008 20:50:26 +0000 (20:50 +0000)]
Revorked version of 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
kasperl@chromium.org [Fri, 24 Oct 2008 12:58:17 +0000 (12:58 +0000)]
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
kasperl@chromium.org [Fri, 24 Oct 2008 10:59:40 +0000 (10:59 +0000)]
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
kasperl@chromium.org [Fri, 24 Oct 2008 10:15:07 +0000 (10:15 +0000)]
Fix lint issue.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@585
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Fri, 24 Oct 2008 10:13:22 +0000 (10:13 +0000)]
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
sgjesse@chromium.org [Fri, 24 Oct 2008 09:35:27 +0000 (09:35 +0000)]
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
christian.plesner.hansen@gmail.com [Fri, 24 Oct 2008 08:40:02 +0000 (08:40 +0000)]
- 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