Commit Graph

1879 Commits

Author SHA1 Message Date
kmillikin@chromium.org
cc0c8d178f Materializing a frame element on the stack by pushing it can cause the
stack pointer to change by more than one in a corner case.  If we push
a constant smi larger than 16 bits, we push it via a temporary
register.  Allocating the temporary can cause a register to be spilled
from the frame somewhere above the stack pointer.

As a fix, do not use pushes to materialize ranges of elements of size
larger than one.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-24 11:26:49 +00:00
christian.plesner.hansen@gmail.com
1f7e96743d - Extended lazy loading to general objects, not just functions.
- Added lazily loaded JSON object.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-24 08:13:09 +00:00
lrn@chromium.org
a4d756a1c8 Move backend specific files to separate directories.
Move ia32 and arm specific files to subdirectories to make it easier to add more backends.

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


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-23 12:06:38 +00:00
erik.corry@gmail.com
e5a1973d3c 2nd try at fixing coverage of inline keyed access on IA32.
Review URL: http://codereview.chromium.org/92067

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1780 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-23 07:52:38 +00:00
ager@chromium.org
35e78919eb Prepare to push version 1.2.0 to trunk. Now worker on version 1.2.1.
Review URL: http://codereview.chromium.org/92066

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1779 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-23 07:32:25 +00:00
erik.corry@gmail.com
9425b17b8e Remove if inside contradictory if.
Review URL: http://codereview.chromium.org/93059

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1777 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-23 05:45:40 +00:00
kmillikin@chromium.org
cb9d66638b Fix regression test by wrapping expression in a thunk^H^H^H^H^Hstring.
Review URL: http://codereview.chromium.org/95001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-22 17:44:28 +00:00
erik.corry@gmail.com
4f834546c7 Mark failing test on ARM.
Review URL: http://codereview.chromium.org/92014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-22 15:20:25 +00:00
pfeldman@chromium.org
a3a0d64305 DevTools: Add support for eventless host message dispatching.
Review URL: http://codereview.chromium.org/87026

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-22 14:16:50 +00:00
erik.corry@gmail.com
561bd9861a Make a test that excercises the preemption code in apply().
Review URL: http://codereview.chromium.org/93015

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-22 14:09:50 +00:00
sgjesse@chromium.org
60f13875f1 Use CollectAllGarbage for the gc() extension.
Review URL: http://codereview.chromium.org/5666

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-22 14:00:12 +00:00
sgjesse@chromium.org
7fd0da52e7 Add setting break points by using handles.
Extend the D8 break command to handle script names with :line[:column] position specification and handles using #<id>#.
Review URL: http://codereview.chromium.org/92011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-22 13:59:48 +00:00
erik.corry@gmail.com
befbeba831 Small changes to improve test coverage in codegen-ia32.cc.
Review URL: http://codereview.chromium.org/92008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-22 13:34:35 +00:00
kmillikin@chromium.org
b39f4383dc When merging a frame to an expected on at block entry, the static type
of elements is set to a safe lower bound.  Move the setting of the
static type out of VirtualFrame::MergeTo (which is not necessarily run
for all frames) and into VirtualFrame::PrepareMergeTo (which is).
Review URL: http://codereview.chromium.org/92009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-22 13:19:38 +00:00
yurys@chromium.org
344d68a938 This issue was introduced by http://codereview.chromium.org/67266
Review URL: http://codereview.chromium.org/93014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1766 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-22 13:04:19 +00:00
lrn@chromium.org
bfb33b1e2f Fix for Issue 317 - bug in string.replace(string, "$foo").
Fix for Issue 317. Replace string with something containing dollar now works.

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


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1764 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-22 11:43:05 +00:00
sgjesse@chromium.org
22612a516e Change the expectations of the ARM debugger tests once more
A couple of the tests actually passes now.
Review URL: http://codereview.chromium.org/93011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-22 11:41:19 +00:00
sgjesse@chromium.org
8c7ca1dd92 Add missing files to the Visual Studio ARM simulator project.
Review URL: http://codereview.chromium.org/93007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-22 11:39:47 +00:00
erik.corry@gmail.com
f78fbf0c56 Abolish kDebug and use ifdef DEBUG throughout for consistency.
Review URL: http://codereview.chromium.org/94001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1761 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-22 09:25:41 +00:00
sgjesse@chromium.org
3b84a19bfe Enable flaky test that was fixed some time ago.
Review URL: http://codereview.chromium.org/80001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1760 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-22 09:01:13 +00:00
sgjesse@chromium.org
a8c1df9fa4 Change the expectations of the ARM debugger tests.
Previous change r1756 caused some ARM debugger tests to fail instead of crash in release mode.
Review URL: http://codereview.chromium.org/93005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1759 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-22 08:54:59 +00:00
ager@chromium.org
7d4fed590f Adding hidden values always turned the object slow case because the
hidden symbol is not an identifier.  Make sure to keep objects fast
case when adding hidden values if possible.
Review URL: http://codereview.chromium.org/93004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1758 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-22 07:38:08 +00:00
sgjesse@chromium.org
5b394bf4d1 Handle breaks on keyed IC loads which can have an inlined version.
For keyed IC loads setting a break point now ensures that the inlined code is not used. When the break point is set the inlined map check is changed to fail causing the inlined code not to be used but the IC to be called. As long at the break point is set the map check will stay invalid.
Review URL: http://codereview.chromium.org/87025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-21 14:48:54 +00:00
yurys@chromium.org
7fc551ecc3 As long as all debugger messages are handled by a single static method we need a way to identify request sender to route the response to the right handler. To accomplish this clients can send some additional data along with command text and debugger will later pass this data to the message handler along with the response text.
Review URL: http://codereview.chromium.org/67266

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-21 14:06:48 +00:00
erik.corry@gmail.com
0efd83c916 * Add code to check coverage of generated code on IA32 port.
* Move ARM coverage code to ARM-specific file and add missing
file to cover.
Review URL: http://codereview.chromium.org/88025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1754 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-21 13:42:12 +00:00
christian.plesner.hansen@gmail.com
0d21e7b3b0 review
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-21 13:28:34 +00:00
christian.plesner.hansen@gmail.com
c47a188fae doc
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1752 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-21 13:28:22 +00:00
christian.plesner.hansen@gmail.com
d26e6dd0b4 force-set
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-21 13:28:11 +00:00
lrn@chromium.org
123f671a17 Reduced size of Array.reduce test.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1750 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-21 11:25:51 +00:00
lrn@chromium.org
97427d86e0 Add ES5 Array methods reduce and reduceRight, with test.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1749 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-21 09:57:30 +00:00
sgjesse@chromium.org
b8dc312b25 Make it possible to add a user data object to each script compiled.
Review URL: http://codereview.chromium.org/90003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1748 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-21 07:22:06 +00:00
feng@chromium.org
19c95ff39a Fix style issues caught by presubmit script.
TBR = erikcorry

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-20 17:44:39 +00:00
feng@chromium.org
ea48d53bad Add ENABLE_DEBUGGER_SUPPORT macro.
ENABLE_DEBUGGER_SUPPORT is enabled by default unless it is on Android platform.
On Android platform, it can also enabled by passing -DENABLE_DEBUGGER_SUPPORT flag to the compiler.

This should not affect any existing build (I hope, cross my fingers) except the build in real Android environment (in other word, it only affects me now).

There are lot of room for code refactoring in stead of using #ifdef all over the place. I will leave this to v8 folks.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-20 16:36:13 +00:00
sgjesse@chromium.org
f5eb2cbe65 Remove unused runtime function.
The CompileScript runtime function is not used by any builtins any more.
Review URL: http://codereview.chromium.org/80003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1744 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-20 12:15:27 +00:00
ager@chromium.org
670a535b35 Correct the marking of tests that only fail on the simulator.
Review URL: http://codereview.chromium.org/80002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-20 09:40:08 +00:00
sgjesse@chromium.org
97b2372c39 Add an option to the SCons build to control Microsoft Visual C++ link-time code generation.
Turning off Microsoft Visual C++ link-time code generation makes linking on Windows significantly which is convenient during development. There has also been a request from embedders for a way to control this for embedding application which does not use link-time code generation.

The name of the option is msvcltcg and the default value is 'on' to keep the same behaviour as before.
Review URL: http://codereview.chromium.org/69026

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-18 00:03:15 +00:00
iposva@chromium.org
8775634598 Add a "read" extension to the shell programs. This global function
reads the contents of a file into a string and returns it.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1741 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-17 21:04:34 +00:00
mikhail.naganov@gmail.com
6290e19716 Implemented a CSV parser in JavaScript.
Review URL: http://codereview.chromium.org/67253

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-17 17:58:14 +00:00
mikhail.naganov@gmail.com
dfe8af02a6 Implemented Profile object that processes profiling events and calculates profiling data.
Review URL: http://codereview.chromium.org/77014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-17 17:40:52 +00:00
erik.corry@gmail.com
fb303212b1 Improve coverage of line 619 in stub-cache-arm.cc
Review URL: http://codereview.chromium.org/77028

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1738 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-17 14:34:35 +00:00
erik.corry@gmail.com
413bd7a91c Lint.
Review URL: http://codereview.chromium.org/77026

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-17 13:57:15 +00:00
erik.corry@gmail.com
8f911a2f5d * Remove unused code from codegen-arm.cc
* Fix fp ops on pre-EABI ARM targets.
* Fix missing TIMEVAL_TO_TIMESPEC on Android.
Review URL: http://codereview.chromium.org/77025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-17 13:27:36 +00:00
ager@chromium.org
59d4539f38 If an external string enters the symbol table, make sure to set the
resource to NULL when removing it from the symbol table.  This makes
sure that the debugger can recognize the external string as being
"deleted".  Now, whenever an external resource is deleted, the
resource pointer is set to NULL.

This is really a workaround of a debugger problem.  We need to make
sure that the debugger only finds scripts in the heap that are
actually live.
Review URL: http://codereview.chromium.org/69029

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-17 09:17:04 +00:00
iposva@chromium.org
82ac3f3031 - Fix buffer overflow in the pre-allocated memory thread.
Review URL: http://codereview.chromium.org/67248

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1733 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-17 00:57:21 +00:00
iposva@chromium.org
7dece760ad - Fix delta time calculation in LinuxSemaphore::Wait.
Review URL: http://codereview.chromium.org/69024

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-17 00:56:52 +00:00
sgjesse@chromium.org
b34db3d241 Fix building of snapshots on Windows.
The romoval of _HAS_EXCEPTIONS=0 from the source files was not fully complemented with changes to the compiler flags used for mksnapshot.
Review URL: http://codereview.chromium.org/67242

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1731 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-17 00:15:12 +00:00
iposva@chromium.org
e05c2e3693 Start addressing massive arrays on the stack. There is hardly ever
a reason to stack allocate large chunks of stack space.
- Runtime_GetCFrames used to allocate a frame size of 52040 bytes.
- PreallocatedMemoryThread::Run used to allocate 32784 bytes.
- Fixed StringStream overflow conditions.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1729 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-16 21:01:05 +00:00
mikhail.naganov@gmail.com
4ff39b7a7d Remove unused CodeRegion class and corresponding logging functions.
Review URL: http://codereview.chromium.org/67221

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-16 17:30:27 +00:00
mikhail.naganov@gmail.com
7aacf00933 Allow multiple function literals to be assigned to the same var / property.
In such a case all functions get the same name. I think it's a good performance / usability tradeoff. In case a developer wants more clarity, it's up to him to give names to functions.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-16 16:34:24 +00:00
mikhail.naganov@gmail.com
5edf6f35bc Reimplement (address -> code) mapping from tickprocessor.py in JS.
Found a pair of bugs concerned with border cases in the original implementation.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-16 16:05:17 +00:00