Commit Graph

513 Commits

Author SHA1 Message Date
christian.plesner.hansen@gmail.com
b57b4a15cd Merge regexp2000 back into bleeding_edge
Review URL: http://codereview.chromium.org/12427

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-25 11:07:48 +00:00
sgjesse@chromium.org
acb4ff9955 Removed all functions for parsing the debugger command line commands. The core debugger should only support the JSON protocol. Expect these functions to re-appear in d8.
Added processDebugRequest to the debugger which will only process a JSON request. Use that function in the debugger.
Review URL: http://codereview.chromium.org/11395

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-24 10:31:22 +00:00
ager@chromium.org
95d1d40077 Revert r819, 821, and 822 which caused a big performance regression
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-21 15:01:41 +00:00
olehougaard
a2ec5d90cb Removing assert to make flexo happy.
TBR=ager
Review URL: http://codereview.chromium.org/11565

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@821 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-21 13:37:38 +00:00
olehougaard
3877c91a19 Fixing the detection of aliased eval so that it is exact.
Fixing the semantics of aliased eval so that it is conformant.
Review URL: http://codereview.chromium.org/11563

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-21 12:49:57 +00:00
sgjesse@chromium.org
64f0dca263 Added support for building V8 on Windows with either the shared or static version of MSVCRT. The selection of the MSVCRT version is through the new SCons flag msvcrt which can have values static or shared with static being the default.
Review URL: http://codereview.chromium.org/11564

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-21 11:19:01 +00:00
ager@chromium.org
41a5c9212e Apply patch from Alexander Botero-Lowry that adds FreeBSD platform
support.
Review URL: http://codereview.chromium.org/11347

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-21 10:06:29 +00:00
ager@chromium.org
ced1493d01 Remove use of strtoll in favor of strtol which should be supported on
more platforms.
Review URL: http://codereview.chromium.org/11607

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-21 08:36:30 +00:00
iposva@chromium.org
8831e4ab8f - Make sure to not mix allocators by using the correct StrDup function.
- Include needed system header.
Review URL: http://codereview.chromium.org/11547

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-20 23:53:18 +00:00
iposva@chromium.org
3fc91f93a9 Remove OS::WcsCpy from platform.h. This function is unused
and is giving us headaches on platforms not supporting wchar_t.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-20 23:16:26 +00:00
feng@chromium.org
3f0cc0434a Turn ASSERT(!rn.is(ip)) into CHECK so the error can be caught in release mode.
It addresses the problem of 'cmp' instruction that has the side-effect that ip register
shouldn't be used as rn.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-20 18:12:48 +00:00
feng@chromium.org
1e75177958 fix lint
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@809 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-20 17:44:08 +00:00
feng@chromium.org
5db6acda1d ip cannot be used in cmp instruction. Revert to r1.
Review URL: http://codereview.chromium.org/11322

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@808 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-20 17:33:53 +00:00
feng@chromium.org
631ad72ffc More work on completing Keyed IC code on ARM port.
Added stats counter support in macro-assembler-arm.*.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-20 16:59:00 +00:00
feng@chromium.org
5dea882447 Minor cleanup code in GenerateStoreField.
Review URL: http://codereview.chromium.org/11276

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-20 16:31:22 +00:00
ager@chromium.org
9ee294b302 Explicitly change a floating point division with a constant into a
multiplication by its inverse.

In optimized builds GCC does this on its own, but this may be useful
when using other compilers.
Review URL: http://codereview.chromium.org/11524

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@805 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-20 11:33:50 +00:00
sgjesse@chromium.org
40cd237bae Change the handling of OS::Abort on Windows to enter the debugger if the process is being debugged.
Review URL: http://codereview.chromium.org/11522

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-20 10:00:36 +00:00
ager@chromium.org
917bf2200a Disable map collection since there is a bug in it somewhere. Leave in
the code so we can work on it.
Review URL: http://codereview.chromium.org/11806

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-20 09:48:29 +00:00
ager@chromium.org
4bd0667324 When probing a dictionary backing storage in generated code, make sure
not to return functions that have not been loaded.

This fixes crashes on expedia.com:

  http://code.google.com/p/chromium/issues/detail?id=4526
Review URL: http://codereview.chromium.org/11272

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-20 09:18:08 +00:00
sgjesse@chromium.org
cabd500409 Removed som unused function from the JavaScript side of the debugger.
Review URL: http://codereview.chromium.org/11269

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@795 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-19 12:27:55 +00:00
ager@chromium.org
d54583f140 Removed one more occurrence of a failure in a handle.
Review URL: http://codereview.chromium.org/11469

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-19 09:50:50 +00:00
ager@chromium.org
6e931081e3 Ensure that external symbols have hash codes.
Review URL: http://codereview.chromium.org/11443

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-18 10:55:50 +00:00
olehougaard
27e4365aba Fixing wrong reference to this in eval.
Review URL: http://codereview.chromium.org/11227

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-18 10:02:37 +00:00
olehougaard
4c9102021d Changing the semantics of cross-frame eval to be compatible with Safari and Firefox.
Review URL: http://codereview.chromium.org/11601

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-18 08:43:58 +00:00
feng@chromium.org
736c7a9d35 Some debugging support fixes on ARM simulator port.
1) Let SaveContext remember the top JS frame stack pointer so it works in simulator where C stack and JS stack are separated;
2) Use the new calling convension in %DebugBreakCallHelper function;

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-17 17:44:16 +00:00
ager@chromium.org
96d15ef6b4 Add experimental support for external two-byte symbols.
This might be a big win in a browser setting where a lot of string
conversions can be avoided.  On the other hand it adds extra pressure
on the global handle system.
Review URL: http://codereview.chromium.org/11404

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-17 15:13:40 +00:00
ager@chromium.org
23a3ecbebd Prepare push to trunk. Now working on version 0.4.5.
Review URL: http://codereview.chromium.org/11201

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-17 08:57:04 +00:00
kasperl@chromium.org
d24556d1c5 Fix Chromium issue 176 by treating byte-order marks as whitespace.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-17 06:56:28 +00:00
kasperl@chromium.org
7940adb1ec Track loop nesting across function calls when the function
is called through an IC the first time.
Review URL: http://codereview.chromium.org/10746

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@764 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-17 05:50:52 +00:00
olehougaard
2c680b97e6 Oops. Forgot to throw *new* $EvalError.
Review URL: http://codereview.chromium.org/10749

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@760 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-14 14:36:46 +00:00
olehougaard
2173d21458 Restrict application of eval so it can only be used in the context of the global object. For compatibility.
Review URL: http://codereview.chromium.org/10748

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@757 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-14 13:14:49 +00:00
feng@chromium.org
9d06372cfe Enable IC stubs for KeyedLaod/Store on ARM.
Several functions are not complete yet, always fall back to slow case.
It fixes test-api/AccessControlIC test.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-13 01:18:31 +00:00
feng@chromium.org
98525aabe3 Fix the exception order by remember JS handler in an external handler.
Review URL: http://codereview.chromium.org/10625

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@744 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-12 23:21:54 +00:00
feng@chromium.org
47c71e84a8 Some fixes in ARM simulator:
1) create a simulator per thread and using thread storage;
2) capitalize two function names;
3) use sscanf instead of sscanf_s in arm simulator;
4) disable warning of sscanf when building with arm simulator;

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-12 22:57:04 +00:00
kmillikin@chromium.org
45e88ce988 Minor cleanup of the code generators to reduce (eventual) register
pressure and to avoid gratuitous merges in the CFG.  No real
performance impact is expected.
Review URL: http://codereview.chromium.org/10404

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-12 11:00:12 +00:00
feng@chromium.org
01230b25b2 cl.exe complains about missing parens around the boolean expression.
Review URL: http://codereview.chromium.org/10298

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-12 01:05:41 +00:00
lrn@chromium.org
cf4747c709 Use OS::StrDup to duplicate strings.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-11 14:51:56 +00:00
lrn@chromium.org
a03b447bd0 Arguments on the command line are made available as a global "arguments" array.
Fix for non-empty assertion in debug mode (string representation of empty arguments is a single space, not an empty string).


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@733 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-11 14:16:24 +00:00
ager@chromium.org
f6911f6be8 Make sure that data functions return 0 instead of -0 for a number of
date functions such as getHours for dates before 1970.

This is consistent with the behavior of other JavaScript engines.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-11 13:30:05 +00:00
deanm@chromium.org
8bea254650 Use shorter encoding for mov REG, IMM. Use Set() in two places to generate smaller code when the immediate is 0.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-11 06:10:07 +00:00
feng@chromium.org
3ccdce6d83 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
2008-11-10 22:53:19 +00:00
kasperl@chromium.org
b14a2e4cb7 Revert r724 (breaks debug mode tests).
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-10 17:27:49 +00:00
ager@chromium.org
cc055d2dee 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
2008-11-10 14:36:03 +00:00
lrn@chromium.org
2889b1ea86 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
2008-11-10 14:27:08 +00:00
sgjesse@chromium.org
ebdd02ebd3 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
2008-11-10 09:45:50 +00:00
deanm@chromium.org
8ee441ea9f 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
2008-11-09 17:48:34 +00:00
feng@chromium.org
47ac6ff1e0 fix lint, approved offline by iposva
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-07 23:00:09 +00:00
feng@chromium.org
fc8a0e3fa5 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
2008-11-07 22:56:41 +00:00
kmillikin@chromium.org
6edea51f89 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
2008-11-07 08:58:23 +00:00
kmillikin@chromium.org
bdb896cc40 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
2008-11-07 08:21:07 +00:00
whessev8
a6554f8785 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
2008-11-06 10:43:15 +00:00
iposva@chromium.org
1af131cbed 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
2008-11-05 20:39:41 +00:00
iposva@chromium.org
779af439ec 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
2008-11-05 19:18:10 +00:00
erik.corry@gmail.com
b4e7335c0c 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
2008-11-05 10:26:08 +00:00
kmillikin@chromium.org
47e55a77a7 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
2008-11-05 08:44:54 +00:00
olehougaard
31520bc34a 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
2008-11-05 08:43:22 +00:00
ager@chromium.org
439f3e6708 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
2008-11-04 16:23:56 +00:00
deanm@chromium.org
a62c678814 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
2008-11-04 14:02:24 +00:00
deanm@chromium.org
44fe15dbfb 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
2008-11-04 14:00:35 +00:00
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
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
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
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
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
christian.plesner.hansen@gmail.com
c7ed0707a3 - Added const in a few places.
- Changed WeakReferenceCallback to take a Persistent<Value> instead of
  a Persistent<Object>.
- Removed Message::GetUnderline and Message::GetScriptData.
- Added Value::IsDate, Date::Cast and Date::Value.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 08:25:23 +00:00
erik.corry@gmail.com
dbc6dd66e4 Fix some style issues.
Review URL: http://codereview.chromium.org/8055

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 07:28:21 +00:00
erik.corry@gmail.com
631519c3df Copy strings 1 word at a time when flattening etc.
Review URL: http://codereview.chromium.org/7885

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 07:20:28 +00:00
ager@chromium.org
8e0979e2ff Introduce a lookup cache class in the runtime system and use it for
keyed loads that enter the runtime.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 07:04:56 +00:00
kasperl@chromium.org
b75da76a2b Apply Daniel's patch for array index strings.
Review URL: http://codereview.chromium.org/7869

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 06:20:57 +00:00
sgjesse@chromium.org
03e44f3f75 Add a workaround for a compiler gug in GCC 4.2.3. See issue 122 for details.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@557 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 15:04:40 +00:00
kmillikin@chromium.org
65821f321c Rename member variables and functions and clarify comments to try to
make the operation of LabelShadows more understandable.
Review URL: http://codereview.chromium.org/7868

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@556 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 12:45:33 +00:00
christian.plesner.hansen@gmail.com
b338967098 Replaced the implementation of %StringEquals, which was a poorly
optimized duplicate of String::Equals, with a simple call to
String::Equals.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@555 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 12:33:20 +00:00
christian.plesner.hansen@gmail.com
85251f756c - Changed regexp logging to include the string being matched and to
escape commas.
- Fixed issue with block-comparing unaligned strings on arm.
- Added short documentation to one of the Persistent constructors.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@554 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 12:00:19 +00:00
erik.corry@gmail.com
8e9bdd7b69 Fix warning from Windows about loss of data in cast-less assignment.
Review URL: http://codereview.chromium.org/7865

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 11:13:48 +00:00
bak@chromium.org
b26322d4c1 - Applied FixedArray::WriteBarrierMode to NewArgumentsFast.
Review URL: http://codereview.chromium.org/8052

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 09:47:20 +00:00
kasperl@chromium.org
50d9f5e256 Incorporate patches by Paolo Giarrusso to allow profiling
C++ functions in shared libraries, building in directories
containing spaces, and using named constants better.
Review URL: http://codereview.chromium.org/7864

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 09:46:09 +00:00
erik.corry@gmail.com
1aae797ddd Use direct copy and templates to speed up flattening of strings.
Review URL: http://codereview.chromium.org/8011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 09:09:07 +00:00
bak@chromium.org
bf948c8313 - Optimized CopyFixedArray and CopyJSObject.
- Refactored block copying.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@548 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 08:21:18 +00:00
kasperl@chromium.org
034b89cc05 Refactor the smi case inlining for binary operations, so
it's easier to inline the code on demand. Right now, we still
only inline the smi case code for bitwise operations.
Review URL: http://codereview.chromium.org/7669

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 07:47:02 +00:00
sgjesse@chromium.org
ca37dab981 Added handling of empty handles to String::AsciiValue and String::Value.
Review URL: http://codereview.chromium.org/7832

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 06:30:29 +00:00
iposva@chromium.org
ba6502bd64 - ip register cannot be used when accessing large constants in the instruction
stream. Enhance the debug code to save and restore the unused holder_reg
  at these points.
- Fix lint issues.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-21 22:40:14 +00:00