platform/upstream/v8.git
15 years agoFixed windows build.
christian.plesner.hansen [Mon, 23 Mar 2009 02:25:40 +0000 (02:25 +0000)]
Fixed windows build.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years ago- Fix constness in tests.
iposva@chromium.org [Fri, 20 Mar 2009 23:33:36 +0000 (23:33 +0000)]
- Fix constness in tests.
Review URL: http://codereview.chromium.org/42472

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years ago- Do not allocate proxy objects if the pointer can be wrapped in a Smi representation.
iposva@chromium.org [Fri, 20 Mar 2009 22:13:50 +0000 (22:13 +0000)]
- Do not allocate proxy objects if the pointer can be wrapped in a Smi representation.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1568 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoReverse latest build tweaks since they fail on some 64 bit systems
erik.corry@gmail.com [Fri, 20 Mar 2009 17:01:15 +0000 (17:01 +0000)]
Reverse latest build tweaks since they fail on some 64 bit systems
TBR=ager

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoMore compatibility changes.
erik.corry@gmail.com [Fri, 20 Mar 2009 16:37:18 +0000 (16:37 +0000)]
More compatibility changes.
Review URL: http://codereview.chromium.org/47004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoSupport profiler stack sampling in any situation. After this change, almost all profi...
mikhail.naganov@gmail.com [Fri, 20 Mar 2009 14:49:12 +0000 (14:49 +0000)]
Support profiler stack sampling in any situation. After this change, almost all profiler ticks (except GC ones) have a stack sample data associated.

Tested under Linux, OS X, and Windows.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoNow compiles when not in debug mode. Whoops.
lrn@chromium.org [Fri, 20 Mar 2009 14:09:48 +0000 (14:09 +0000)]
Now compiles when not in debug mode. Whoops.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoRegExps now restart if their input string changes representation during preemption.
lrn@chromium.org [Fri, 20 Mar 2009 13:26:16 +0000 (13:26 +0000)]
RegExps now restart if their input string changes representation during preemption.
Cleaned up the handling of strings moving, so strings moved by GC and strings changing representation are handled equivalently.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoChange expectations for DebuggerAgent test.
sgjesse@chromium.org [Fri, 20 Mar 2009 13:24:58 +0000 (13:24 +0000)]
Change expectations for DebuggerAgent test.
Review URL: http://codereview.chromium.org/42444

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoInline the Result::Unuse member function and change the Result
kmillikin@chromium.org [Fri, 20 Mar 2009 12:58:14 +0000 (12:58 +0000)]
Inline the Result::Unuse member function and change the Result
destructor to no longer invalidate the result.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoRemove a bunch of unnecessary includes from header files in favor of
kmillikin@chromium.org [Fri, 20 Mar 2009 09:35:31 +0000 (09:35 +0000)]
Remove a bunch of unnecessary includes from header files in favor of
forward declarations.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAllow the debugger agent to reuse ports stuck in TIME_WAIT for listening.
sgjesse@chromium.org [Fri, 20 Mar 2009 09:03:36 +0000 (09:03 +0000)]
Allow the debugger agent to reuse ports stuck in TIME_WAIT for listening.

When the debugger agent terminates the used port can be stuck in TIME_WAIT for some time depending on the OS and the state of the socket. With this change will allow the debug agent to start listening on a port still in TIME_WAIT. During development of both V8 and embedding applications this makes it much easier to restart an application using the debugger agent.

This also makes it possible to run the tests involving the debugger agent multiple times without failure.
Review URL: http://codereview.chromium.org/50050

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAdd support for setting the SO_REUSEADDR option for sockets.
sgjesse@chromium.org [Fri, 20 Mar 2009 08:53:57 +0000 (08:53 +0000)]
Add support for setting the SO_REUSEADDR option for sockets.
Review URL: http://codereview.chromium.org/50036

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1557 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAdd a public API for using an empty sring.
mike@belshe.com [Thu, 19 Mar 2009 23:35:09 +0000 (23:35 +0000)]
Add a public API for using an empty sring.

v8::String::Empty()

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1556 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoMake sure that the d8 shell calls OnExit in case of exceptions.
ager@chromium.org [Thu, 19 Mar 2009 22:09:14 +0000 (22:09 +0000)]
Make sure that the d8 shell calls OnExit in case of exceptions.
Review URL: http://codereview.chromium.org/42415

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1554 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoDisable a test that fails on some Linux versions.
sgjesse@chromium.org [Thu, 19 Mar 2009 21:46:12 +0000 (21:46 +0000)]
Disable a test that fails on some Linux versions.

TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/50032

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1553 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoBetter handling of startup and shutdown of the debugger agent.
sgjesse@chromium.org [Thu, 19 Mar 2009 21:07:07 +0000 (21:07 +0000)]
Better handling of startup and shutdown of the debugger agent.

During bind and listen socket errors are now handled. If the listen socket is occoupied the agent will retry its bind operation until success or shutdown.

Added orderly shutdown of the debugger agent both with and without a client connected.
Review URL: http://codereview.chromium.org/50007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix lint.
ager@chromium.org [Thu, 19 Mar 2009 19:29:23 +0000 (19:29 +0000)]
Fix lint.

TBR=iposva
Review URL: http://codereview.chromium.org/50026

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years ago- Allow hidden properties to be set on any JSObject through the V8 C++ API.
iposva@chromium.org [Thu, 19 Mar 2009 18:50:00 +0000 (18:50 +0000)]
- Allow hidden properties to be set on any JSObject through the V8 C++ API.
- Use the hidden properties to expose a IdentityHash accessor.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoLanding http://codereview.chromium.org/42374
ager@chromium.org [Thu, 19 Mar 2009 17:09:07 +0000 (17:09 +0000)]
Landing http://codereview.chromium.org/42374

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoRevert change 1509 that flush ICs when adding setters on an object or
ager@chromium.org [Thu, 19 Mar 2009 15:06:00 +0000 (15:06 +0000)]
Revert change 1509 that flush ICs when adding setters on an object or
when setting a __proto__ to an object that holds a setter.

This seems to cause a major page load regression, so we need to tune
the clearing.
Review URL: http://codereview.chromium.org/50011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1548 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoSpeed up slow test that times out on ARM.
erik.corry@gmail.com [Thu, 19 Mar 2009 13:01:50 +0000 (13:01 +0000)]
Speed up slow test that times out on ARM.
Review URL: http://codereview.chromium.org/50008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAdd a copied flag to virtual frame elements that tells if a copy has
kmillikin@chromium.org [Thu, 19 Mar 2009 11:57:18 +0000 (11:57 +0000)]
Add a copied flag to virtual frame elements that tells if a copy has
been made of the element.  Set it when copying an element, clear it
when writing to an element marked copied and discovering that it is
not copied.

The copied flags on entry frames are exact.  Preparing a frame for
merging set the copied flags to be exact (to increase the likelihood
of matching the entry frame or another frame).
Review URL: http://codereview.chromium.org/50005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoChange the socket close to shutdown.
sgjesse@chromium.org [Thu, 19 Mar 2009 11:55:09 +0000 (11:55 +0000)]
Change the socket close to shutdown.

Removed the close method for socket and added shutdown instead. The shutdown method is the one to use when terminating socket communication. The close call is in the destructor.
Review URL: http://codereview.chromium.org/42387

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoReuse output array instead of creating a new one for each call in Date.parse
lrn@chromium.org [Thu, 19 Mar 2009 09:40:38 +0000 (09:40 +0000)]
Reuse output array instead of creating a new one for each call in Date.parse

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoSpolling.
erik.corry@gmail.com [Thu, 19 Mar 2009 09:12:24 +0000 (09:12 +0000)]
Spolling.
Review URL: http://codereview.chromium.org/42327

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years ago// Test that we can make large object literals that work.
erik.corry@gmail.com [Thu, 19 Mar 2009 08:23:00 +0000 (08:23 +0000)]
// Test that we can make large object literals that work.
// Also test that we can attempt to make even larger object
// literals without crashing.
Review URL: http://codereview.chromium.org/48133

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoMinor build and code style issues.
ager@chromium.org [Wed, 18 Mar 2009 21:14:46 +0000 (21:14 +0000)]
Minor build and code style issues.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoExpose Cloning through API.
mike@belshe.com [Wed, 18 Mar 2009 19:24:15 +0000 (19:24 +0000)]
Expose Cloning through API.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoInline the fast path for handle creation.
ager@chromium.org [Wed, 18 Mar 2009 18:50:35 +0000 (18:50 +0000)]
Inline the fast path for handle creation.

Simplify the interceptor IC code by using raw pointers instead of handles.
Review URL: http://codereview.chromium.org/49001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1539 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoMisc. portability fixes.
erik.corry@gmail.com [Wed, 18 Mar 2009 15:20:26 +0000 (15:20 +0000)]
Misc. portability fixes.
Review URL: http://codereview.chromium.org/42337

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoDon't pollute API-users' namespaces with overly generic "EXPORT" define.
erik.corry@gmail.com [Wed, 18 Mar 2009 13:54:33 +0000 (13:54 +0000)]
Don't pollute API-users' namespaces with overly generic "EXPORT" define.
Review URL: http://codereview.chromium.org/42334

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFixed memory leaks in socket implementation.
sgjesse@chromium.org [Wed, 18 Mar 2009 13:32:22 +0000 (13:32 +0000)]
Fixed memory leaks in socket implementation.

Fixed memory leaks reported by valgring in the socket implementation and socket tests.

BUG=276
Review URL: http://codereview.chromium.org/42331

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAdd a close method to sockets.
sgjesse@chromium.org [Wed, 18 Mar 2009 13:11:43 +0000 (13:11 +0000)]
Add a close method to sockets.

Now the destructor is not the only way of closing a socket, which was a bit to limited.
Review URL: http://codereview.chromium.org/42330

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoGetting rid of OS::StrDup and OS::StrNDup which were sometimes misused.
olehougaard [Wed, 18 Mar 2009 12:50:13 +0000 (12:50 +0000)]
Getting rid of OS::StrDup and OS::StrNDup which were sometimes misused.
Review URL: http://codereview.chromium.org/42329

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoRevert r1529, which failed on some of the benchmarks.
kmillikin@chromium.org [Wed, 18 Mar 2009 12:35:42 +0000 (12:35 +0000)]
Revert r1529, which failed on some of the benchmarks.
Review URL: http://codereview.chromium.org/48128

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoIntroducing a new StrNDup function that uses new[] for when we dispose the result...
olehougaard [Wed, 18 Mar 2009 12:27:37 +0000 (12:27 +0000)]
Introducing a new StrNDup function that uses new[] for when we dispose the result using delete[].
Review URL: http://codereview.chromium.org/48127

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFixing potentially problematic usage of OS::StrDup that caused some strings to be...
olehougaard [Wed, 18 Mar 2009 11:55:40 +0000 (11:55 +0000)]
Fixing potentially problematic usage of OS::StrDup that caused some strings to be allocated with malloc() but freed with delete[].
Review URL: http://codereview.chromium.org/48126

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoCircumvent a bug in older glibc.
sgjesse@chromium.org [Wed, 18 Mar 2009 10:48:06 +0000 (10:48 +0000)]
Circumvent a bug in older glibc.

In glibc prior to 2.3.4 the return value from sem_timedwait is not -1
when it fails, but the actual error code.

Turned out that our ARM setup uses glibc 2.3.2.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAdd a bit to a virtual frame element telling if it's been copied. Set
kmillikin@chromium.org [Wed, 18 Mar 2009 10:37:37 +0000 (10:37 +0000)]
Add a bit to a virtual frame element telling if it's been copied.  Set
it when a copy is made, clear it when the element is next written.
Review URL: http://codereview.chromium.org/42324

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoSpeed up the inner loop of free register allocation.
whesse@chromium.org [Wed, 18 Mar 2009 10:31:31 +0000 (10:31 +0000)]
Speed up the inner loop of free register allocation.
Review URL: http://codereview.chromium.org/42296

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix static overrun.
kmillikin@chromium.org [Wed, 18 Mar 2009 09:49:11 +0000 (09:49 +0000)]
Fix static overrun.
Review URL: http://codereview.chromium.org/48124

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1527 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAdded a wait with timeout to the platform semaphore class.
sgjesse@chromium.org [Wed, 18 Mar 2009 09:04:24 +0000 (09:04 +0000)]
Added a wait with timeout to the platform semaphore class.

The code has been compiled and tested on Windows, Linux and Mac OS.

The FreeBSD version is a copy of the Linux version which should work on FreeBSD as well. According to the FreeBSD documentation clock_gettime is part of the standard C library so the assumption is that no additional link libraries is required for FreeBSD.
Review URL: http://codereview.chromium.org/48123

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFlatten strings before parsing them as Date strings, and work on Vector of chars...
lrn@chromium.org [Tue, 17 Mar 2009 13:27:21 +0000 (13:27 +0000)]
Flatten strings before parsing them as Date strings, and work on Vector of chars instead.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoMoved subject and index before matches in RegExp lastMatchInfo.
lrn@chromium.org [Tue, 17 Mar 2009 12:44:20 +0000 (12:44 +0000)]
Moved subject and index before matches in RegExp lastMatchInfo.
Some minor changes, and removed the new handlescope in the inner loop of replace. Only really affects replaces on extremely long strings.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1524 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAdd thread information to the debugger.
sgjesse@chromium.org [Tue, 17 Mar 2009 11:40:47 +0000 (11:40 +0000)]
Add thread information to the debugger.

Each thread running V8 code is assigned an id in thread local storage the first time V8 code is run in it. The thread information returned to the debugger contains the number of threads, the id of each of these threads and which one is the current thread.

Added a threads command to the developer shell debugger for showing information on threads.
Review URL: http://codereview.chromium.org/48009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoLint...
erik.corry@gmail.com [Tue, 17 Mar 2009 10:46:53 +0000 (10:46 +0000)]
Lint...
Review URL: http://codereview.chromium.org/42276

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoRemove all uses of StringShape variables, since that has proven
erik.corry@gmail.com [Tue, 17 Mar 2009 09:33:06 +0000 (09:33 +0000)]
Remove all uses of StringShape variables, since that has proven
to be error-prone and of little benefit in terms of performance.
Review URL: http://codereview.chromium.org/45010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoChanged preemption related stuff in debugger entry.
sgjesse@chromium.org [Tue, 17 Mar 2009 09:28:01 +0000 (09:28 +0000)]
Changed preemption related stuff in debugger entry.

Fixed an assertion which did not hold when the debugger was recursively entered.

Removed the clearing of the preemption flag in debugger entry as there was no need for it. The handling of preemption by the stack guard takes care of the in debugger situation anyway.
Review URL: http://codereview.chromium.org/48004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1520 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoSimplify the construction of virtual frame elements in preparation for
kmillikin@chromium.org [Mon, 16 Mar 2009 14:49:55 +0000 (14:49 +0000)]
Simplify the construction of virtual frame elements in preparation for
switching to a linked representation of copied elements.  This change
avoids initializing frame elements to invalid unless they need to be.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoThe method yield is now available in the context created for threads in the developer...
sgjesse@chromium.org [Mon, 16 Mar 2009 10:08:59 +0000 (10:08 +0000)]
The method yield is now available in the context created for threads in the developer shell.

Added options --preemption/--no-preemption and --preemption-interval to control preemption in the developer shell when running several threads. Default is still to enable preemption with interval 1ms if threads are created.
Review URL: http://codereview.chromium.org/48001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1518 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoReplaceRegExpWithString: Avoid extending handle scope by adding scope inside loop.
lrn@chromium.org [Mon, 16 Mar 2009 09:49:14 +0000 (09:49 +0000)]
ReplaceRegExpWithString: Avoid extending handle scope by adding scope inside loop.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1517 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFixed some memory leaks in unit tests.
olehougaard [Mon, 16 Mar 2009 07:53:20 +0000 (07:53 +0000)]
Fixed some memory leaks in unit tests.
Review URL: http://codereview.chromium.org/46103

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoMissed a few comment changes in r1508.
sgjesse@chromium.org [Mon, 16 Mar 2009 07:36:52 +0000 (07:36 +0000)]
Missed a few comment changes in r1508.
Review URL: http://codereview.chromium.org/42175

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAdd copyright notice to new test case.
kasperl@chromium.org [Sun, 15 Mar 2009 22:44:23 +0000 (22:44 +0000)]
Add copyright notice to new test case.
Review URL: http://codereview.chromium.org/42216

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1514 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix GC related crash bug in search-replace.
erik.corry@gmail.com [Sun, 15 Mar 2009 22:28:26 +0000 (22:28 +0000)]
Fix GC related crash bug in search-replace.
Review URL: http://codereview.chromium.org/42214

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoRevert 1432, 1433, 1469 and 1472 due to a bug with literal objects.
erik.corry@gmail.com [Sun, 15 Mar 2009 16:18:20 +0000 (16:18 +0000)]
Revert 1432, 1433, 1469 and 1472 due to a bug with literal objects.
Review URL: http://codereview.chromium.org/46088

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years ago- Added ability to call histograms from within v8
davemoore@chromium.org [Fri, 13 Mar 2009 16:06:31 +0000 (16:06 +0000)]
- Added ability to call histograms from within v8
- Changed the StatsRates to use the new HistogramTimers

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1510 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFlush ICs when adding setters to an object or setting a __proto__ to
christian.plesner.hansen@gmail.com [Fri, 13 Mar 2009 13:43:07 +0000 (13:43 +0000)]
Flush ICs when adding setters to an object or setting a __proto__ to
an object that holds a setter.  If there are no store ics then no
flushing is done.  The implementation has been tweaked so that no ICs
are cleared during normal context creation.
This may cost us some performance but I'm submitting it as it is and
if there are problems we can either decide to be smarter about when,
what and/or how we clear, or back this change out altogether.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoA new stack guard break flag DEBUGCOMMAND has been introduced. This is used to signal...
sgjesse@chromium.org [Fri, 13 Mar 2009 13:26:21 +0000 (13:26 +0000)]
A new stack guard break flag DEBUGCOMMAND has been introduced. This is used to signal debug break due to debugger commands available in the queue for processing. If a stack guard break happens with this flag and not the DEBUGBREAK flag the no debug break event is generated and execution is resumed automatically when all debugger commands in the queue has been processed.

This makes it possible to remote debuggers to just add commands to the queue without having to request a break as well. As soon as any JavaScript executes the debugger commands will be processed and the response send to the remote debugger.

Currently hide this behind a flag (--debugger-auto-break) as the current command line debugger in Chrome is not designed for this new behaviour, whereas the new Chrome developer tools will use it.
Review URL: http://codereview.chromium.org/42173

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoImplementing __defineSetter__ and __defineGetter__ with an array index as argument...
olehougaard [Fri, 13 Mar 2009 11:40:09 +0000 (11:40 +0000)]
Implementing __defineSetter__ and __defineGetter__ with an array index as argument as described in issue 242. For performance reasons, the change is not applied to arrays. This conforms to the behavior of Safari.
Review URL: http://codereview.chromium.org/46030

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoString.replace implemented in C++.
lrn@chromium.org [Fri, 13 Mar 2009 10:22:38 +0000 (10:22 +0000)]
String.replace implemented in C++.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix a test in the IA32 code generator for whether loop conditions
kmillikin@chromium.org [Thu, 12 Mar 2009 19:49:19 +0000 (19:49 +0000)]
Fix a test in the IA32 code generator for whether loop conditions
contain function literals.  The test was not conservative enough.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoReenable the duplicated test at the bottom of for and while loops. It
kmillikin@chromium.org [Thu, 12 Mar 2009 15:44:05 +0000 (15:44 +0000)]
Reenable the duplicated test at the bottom of for and while loops.  It
is enabled for a loop by the absence of function literal
subexpressions in the condition expression.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1503 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoChange the way we handle backward jumps in the code generator. Keep
kmillikin@chromium.org [Thu, 12 Mar 2009 14:55:17 +0000 (14:55 +0000)]
Change the way we handle backward jumps in the code generator.  Keep
the frame states of all the forward-entering frames that had merge
code generated.  At a backward branch, check if there is no merge code
or if we can reuse an existing merge block.
Review URL: http://codereview.chromium.org/40169

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoPrepare to push V8 version 1.1.1 to trunk.
ager@chromium.org [Thu, 12 Mar 2009 14:10:44 +0000 (14:10 +0000)]
Prepare to push V8 version 1.1.1 to trunk.
Review URL: http://codereview.chromium.org/42122

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoDuring the refactoring in r1461 and adding of script ids in r1468 the propagation...
sgjesse@chromium.org [Thu, 12 Mar 2009 14:03:05 +0000 (14:03 +0000)]
During the refactoring in r1461 and adding of script ids in r1468 the propagation of a boolean flag was missing. This caused the line numbers retreived through ScriptMirror objects to ignore the resource line offset information in the script.

Added an explicit false parameter where the parameter was previously left out.

Added a test case for this.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1499 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoTweak an assertion in the jump target destructor so that it only
kmillikin@chromium.org [Thu, 12 Mar 2009 12:30:45 +0000 (12:30 +0000)]
Tweak an assertion in the jump target destructor so that it only
applies to initialized jump targets, and not in the case of a stack
overflow.
Review URL: http://codereview.chromium.org/42118

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1498 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoRevert the exception propagation fix. It leads to crashes because
ager@chromium.org [Thu, 12 Mar 2009 12:29:17 +0000 (12:29 +0000)]
Revert the exception propagation fix.  It leads to crashes because
Top::external_caught_exception_ and Top::try_catch_handler_ are no
longer in sync.  Pulling it out until I have the time to fix it.
Review URL: http://codereview.chromium.org/42117

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years ago8-byte align C stack on Linux and Windows.
erik.corry@gmail.com [Thu, 12 Mar 2009 10:20:32 +0000 (10:20 +0000)]
8-byte align C stack on Linux and Windows.
Review URL: http://codereview.chromium.org/42116

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoPrepare push to trunk. Now working on version 1.1.1.
kasperl@chromium.org [Thu, 12 Mar 2009 07:11:15 +0000 (07:11 +0000)]
Prepare push to trunk. Now working on version 1.1.1.
Review URL: http://codereview.chromium.org/43123

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAdd support for running the tests through valgrind.
kasperl@chromium.org [Thu, 12 Mar 2009 06:52:24 +0000 (06:52 +0000)]
Add support for running the tests through valgrind.
Review URL: http://codereview.chromium.org/43073

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoTemporarily disable tests that no longer work on the ARM simulator.
ager@chromium.org [Wed, 11 Mar 2009 14:29:21 +0000 (14:29 +0000)]
Temporarily disable tests that no longer work on the ARM simulator.

Exclude the tests from the threaded tests because I don't want to
disable those on ARM.

The issue is that the simulator keeps the C++ and the JavaScript stack
separated.  This is not a problem on the real hardware and the tests
pass on our ARM box.
Review URL: http://codereview.chromium.org/42069

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years ago* Reapply revisions 1383, 1384, 1391, 1398, 1401, 1402,
erik.corry@gmail.com [Wed, 11 Mar 2009 14:00:55 +0000 (14:00 +0000)]
* Reapply revisions 1383, 1384, 1391, 1398, 1401, 1402,
  1418, and 1419 from bleeding_edge, reverted in 1429.
* Fix of $1 accessor on sliced strings.
* Fix of lastParen method when last parenthesis did not match.
Review URL: http://codereview.chromium.org/43075

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1491 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoEnsure deallocation of the dynamically allocated shadow targets used
kmillikin@chromium.org [Wed, 11 Mar 2009 13:14:27 +0000 (13:14 +0000)]
Ensure deallocation of the dynamically allocated shadow targets used
for compilation of try/finally, even in the case where control cannot
reach the end of the finally block.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoDeallocate the dynamically-allocated shadow targets that we use for
kmillikin@chromium.org [Wed, 11 Mar 2009 12:08:28 +0000 (12:08 +0000)]
Deallocate the dynamically-allocated shadow targets that we use for
compilation of try/catch and try/finally.
Review URL: http://codereview.chromium.org/42068

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix exception propagation problem where undefined was returned instead
ager@chromium.org [Wed, 11 Mar 2009 11:13:15 +0000 (11:13 +0000)]
Fix exception propagation problem where undefined was returned instead
of an empty handle in case of an exception.  This problem can break
C++ programs that are not interested in catching exceptions and just
want to propagate them out by testing for empty handles.

The issue is that exceptions are not rescheduled if they are
externally caught.  Externally caught exceptions have to be
rescheduled if there is a JavaScript frame on the way to the C++ frame
that holds the external handler.
Review URL: http://codereview.chromium.org/43070

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix issue 268 by explicitly calling Unuse (to deallocate all contained
kmillikin@chromium.org [Wed, 11 Mar 2009 10:25:48 +0000 (10:25 +0000)]
Fix issue 268 by explicitly calling Unuse (to deallocate all contained
virtual frames) on zone-allocated jump targets.  These include jump
targets in AST nodes and the entry and exit targets of deferred code.

See http://code.google.com/p/v8/issues/detail?id=268

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1486 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAdd a test that r1383 failed (harmlessly).
erik.corry@gmail.com [Wed, 11 Mar 2009 09:29:29 +0000 (09:29 +0000)]
Add a test that r1383 failed (harmlessly).
Review URL: http://codereview.chromium.org/44002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoSee http://code.google.com/p/v8/issues/detail?id=269.
sgjesse@chromium.org [Wed, 11 Mar 2009 07:34:48 +0000 (07:34 +0000)]
See code.google.com/p/v8/issues/detail?id=269.

BUG=269
Review URL: http://codereview.chromium.org/43023

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix formatting problem.
kmillikin@chromium.org [Wed, 11 Mar 2009 06:31:21 +0000 (06:31 +0000)]
Fix formatting problem.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix issue 265 by handling extra statement state on the frame based on
kmillikin@chromium.org [Wed, 11 Mar 2009 06:17:19 +0000 (06:17 +0000)]
Fix issue 265 by handling extra statement state on the frame based on
the expectation at the break, continue, and return labels (including
shadowed ones) instead of based on the AST nodes.

See http://code.google.com/p/v8/issues/detail?id=265

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoMove InitLineEnds and GetLineNumber to handles.cc to avoid
kasperl@chromium.org [Tue, 10 Mar 2009 15:08:45 +0000 (15:08 +0000)]
Move InitLineEnds and GetLineNumber to handles.cc to avoid
issues with a raw this pointer and GC.

Fix issue with FlattenString where we may keep a StringShape
alive across a GC.
Review URL: http://codereview.chromium.org/43020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix typo.
kasperl@chromium.org [Tue, 10 Mar 2009 13:35:28 +0000 (13:35 +0000)]
Fix typo.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoChange expectation for the bug-265 test to allow crashing in release
kmillikin@chromium.org [Tue, 10 Mar 2009 13:23:43 +0000 (13:23 +0000)]
Change expectation for the bug-265 test to allow crashing in release
builds.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoTweaked semantics of error prototype.
christian.plesner.hansen@gmail.com [Tue, 10 Mar 2009 13:15:24 +0000 (13:15 +0000)]
Tweaked semantics of error prototype.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoRemove spaces to satisfy linter
sgjesse@chromium.org [Tue, 10 Mar 2009 12:41:11 +0000 (12:41 +0000)]
Remove spaces to satisfy linter

TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/43012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoIssue 267: Calls to arguments in eval-tainted function scope uses global object as...
lrn@chromium.org [Tue, 10 Mar 2009 12:28:34 +0000 (12:28 +0000)]
Issue 267: Calls to arguments in eval-tainted function scope uses global object as receiver.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoIntroduce a BreakTarget subclass of JumpTarget used to represent the
kmillikin@chromium.org [Tue, 10 Mar 2009 12:11:56 +0000 (12:11 +0000)]
Introduce a BreakTarget subclass of JumpTarget used to represent the
blocks labeled by "break", "continue", and "return".  BreakTargets are
the only jump targets that appear in the AST, the only ones that can
be uninitialized, and the only ones that can be shadowed.
Review URL: http://codereview.chromium.org/42008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1475 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoMoved the storage of the last script id into the heap to make it part of the serializ...
sgjesse@chromium.org [Tue, 10 Mar 2009 12:05:20 +0000 (12:05 +0000)]
Moved the storage of the last script id into the heap to make it part of the serialized data when starting V8 on a snapshot.

Currently the script ids wrap when positive smi value is exhausted.
Review URL: http://codereview.chromium.org/43008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoMade the Error prototype into an error. Allow \c at the end of
christian.plesner.hansen@gmail.com [Tue, 10 Mar 2009 11:32:19 +0000 (11:32 +0000)]
Made the Error prototype into an error.  Allow \c at the end of
regexps.  Throw a type error when calling regexp methods on
non-regexps.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFixed whitespace.
olehougaard [Tue, 10 Mar 2009 09:30:10 +0000 (09:30 +0000)]
Fixed whitespace.
Review URL: http://codereview.chromium.org/43006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoImplemented invalid UTF8 detection in decodeURI. That is, detection
christian.plesner.hansen@gmail.com [Tue, 10 Mar 2009 09:08:05 +0000 (09:08 +0000)]
Implemented invalid UTF8 detection in decodeURI.  That is, detection
of invalid utf8 not invalid utf8-detection.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix probably harmless thinko in StringCharAt (causes
erik.corry@gmail.com [Tue, 10 Mar 2009 09:00:04 +0000 (09:00 +0000)]
Fix probably harmless thinko in StringCharAt (causes
slow-case code to be run).
Review URL: http://codereview.chromium.org/43005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoOptimizing generation of nested literals for both object and array literals.
olehougaard [Tue, 10 Mar 2009 08:59:00 +0000 (08:59 +0000)]
Optimizing generation of nested literals for both object and array literals.
Review URL: http://codereview.chromium.org/40295

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoWhenever a script object is created it is assigned a unique id. Currently this id...
sgjesse@chromium.org [Tue, 10 Mar 2009 08:10:50 +0000 (08:10 +0000)]
Whenever a script object is created it is assigned a unique id. Currently this id is assigned from an 32 bit integer counter.

Changed the script break points to be able to handle both break points based on script names and script ids. When break points are set through a script id the position is relative to the script itself. This is different from the script break points set through script names where the line/coulmn offset is taken into account.

This has the side effect that function break points are not converted into script break points for named scripts.

Show the script id in the D8 shell debugger when listing all scripts using the 'scripts' command.
Review URL: http://codereview.chromium.org/40317

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1468 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoSimplify the map collection regression test. This test is the minimal
ager@chromium.org [Tue, 10 Mar 2009 07:23:22 +0000 (07:23 +0000)]
Simplify the map collection regression test.  This test is the minimal
example that would trigger the bug.
Review URL: http://codereview.chromium.org/43004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoThird try to mark test expectation.
kmillikin@chromium.org [Mon, 9 Mar 2009 22:22:51 +0000 (22:22 +0000)]
Third try to mark test expectation.

TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/40322

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoChage test expectation mode from "debug" to "release".
kmillikin@chromium.org [Mon, 9 Mar 2009 21:52:49 +0000 (21:52 +0000)]
Chage test expectation mode from "debug" to "release".

TBR=ager@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoThe test for issue 165 is unpredictable in release builds. Allow it
kmillikin@chromium.org [Mon, 9 Mar 2009 19:59:45 +0000 (19:59 +0000)]
The test for issue 165 is unpredictable in release builds.  Allow it
to pass or fail.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00