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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
ager@chromium.org [Mon, 9 Mar 2009 19:48:25 +0000 (19:48 +0000)]
Fix test for building on 64-bit Linux.
TBR=sgjesse
Review URL: http://codereview.chromium.org/41007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1463
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 9 Mar 2009 18:00:39 +0000 (18:00 +0000)]
Make map collection test run faster in an attempt to make it pass on
buildbot (not timeout).
This consistently fails with the old build.
TBR=whesse
Review URL: http://codereview.chromium.org/40302
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1462
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 9 Mar 2009 17:59:25 +0000 (17:59 +0000)]
Changed a function in the internal debugger JavaScript to return the full source location instead of only the position.
Added an optional parameter to exclude/include the source line offset in source location.
Extended a message test to include a test with source offset.
Review URL: http://codereview.chromium.org/39342
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1461
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 9 Mar 2009 17:21:28 +0000 (17:21 +0000)]
Add a failing test case for issue 265:
http://code.google.com/p/v8/issues/detail?id=265
Review URL: http://codereview.chromium.org/39349
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1460
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 9 Mar 2009 16:24:46 +0000 (16:24 +0000)]
Fix garbage collection of unused maps. Null descriptors, created
by map collection, are now handled correctly everywhere. The
map-collect flag is now true by default.
Review URL: http://codereview.chromium.org/40218
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1459
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olehougaard [Mon, 9 Mar 2009 15:52:56 +0000 (15:52 +0000)]
Allocate getters and setters in old space to avoid failing assertion in TransformToFastProperties.
Review URL: http://codereview.chromium.org/39344
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1457
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 9 Mar 2009 14:48:34 +0000 (14:48 +0000)]
Assert in debug mode that we do not try to compile a function literal
more than once.
Review URL: http://codereview.chromium.org/39339
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1456
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bak@chromium.org [Mon, 9 Mar 2009 14:41:40 +0000 (14:41 +0000)]
Fixed the disassembler to cope with cmpb.
Review URL: http://codereview.chromium.org/40296
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1455
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bak@chromium.org [Mon, 9 Mar 2009 14:13:57 +0000 (14:13 +0000)]
Added a space to satisfy presubmit.py.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1454
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 9 Mar 2009 14:12:20 +0000 (14:12 +0000)]
Work around issue 260 for now by disabling duplication of the loop
condition for while and for loops.
http://code.google.com/p/v8/issues/detail?id=260
Review URL: http://codereview.chromium.org/40294
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1453
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bak@chromium.org [Mon, 9 Mar 2009 14:00:51 +0000 (14:00 +0000)]
Reduced the code sequence for testing for object type.
We now use cmpb instead of movzx_b and cmp.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1452
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Mon, 9 Mar 2009 12:50:32 +0000 (12:50 +0000)]
Added .message accessor to messages. This gives you the same
descriptive message as is used to construct the toString() for an
error object.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1451
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 9 Mar 2009 12:03:38 +0000 (12:03 +0000)]
Change the CALL_HEAP_FUNCTION macro so that it is no longer a cpplint
exception.
Review URL: http://codereview.chromium.org/39334
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1450
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 9 Mar 2009 10:51:57 +0000 (10:51 +0000)]
Fix issue 263:
http://code.google.com/p/v8/issues/detail?id=263
Sharing the code to unlink the exception handler for a try/finally
causes us to try to merge virtual frames with different heights (due
to statements that keep state on the stack) at the entry to the unlink
code.
Avoid this by unlinking the handler separately for each exit from the
try block.
Review URL: http://codereview.chromium.org/39331
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1449
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 9 Mar 2009 10:33:31 +0000 (10:33 +0000)]
Change the tests which looks at the number of scripts in the VM after startup to ignore native scripts without name.
Native scripts without name are currently only the script holding the empty script and the script holding the source for the empty function. These two unnamed scripts are created for each context. When running with snapshot an additional context is created during startup adding two more native scripts that in the non-snapshot case.
Review URL: http://codereview.chromium.org/39333
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1448
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 9 Mar 2009 08:54:16 +0000 (08:54 +0000)]
cpplint does not like multiple semicolons on the same line. Do not
lint that line.
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/39330
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1444
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 9 Mar 2009 08:44:59 +0000 (08:44 +0000)]
Mark the empty script object, the script for the empty function and the D8 utility script as native scripts.
This is mainly to avoid these scripts showing up in the debugger when showing normal scripts.
Removed the check for the empty script in the debugger function returning loaded scripts as this check only filtered out the empty script from the debugger context and not empty scripts in all other contexts. Also this filter did not take the script for the empty function into account.
Review URL: http://codereview.chromium.org/39322
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1443
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 9 Mar 2009 08:42:21 +0000 (08:42 +0000)]
Minor changes to allow V8 to build on Ubuntu Jaunty.
Review URL: http://codereview.chromium.org/40289
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1442
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Fri, 6 Mar 2009 14:18:03 +0000 (14:18 +0000)]
Reapply r1434 and port to ARM.
Review URL: http://codereview.chromium.org/40220
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1441
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 6 Mar 2009 13:07:57 +0000 (13:07 +0000)]
Get rid or heap allocation in stack sampler to avoid deadlocks.
Review URL: http://codereview.chromium.org/40219
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1440
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 6 Mar 2009 12:56:04 +0000 (12:56 +0000)]
Add libraries winmm and ws2_32 when building shared library on Windows.
BUG=261
Review URL: http://codereview.chromium.org/40217
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1439
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 6 Mar 2009 12:08:55 +0000 (12:08 +0000)]
Fix lint errors
TBR=christian.plesner.hansen@gmail.com
Review URL: http://codereview.chromium.org/39253
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1438
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Fri, 6 Mar 2009 11:59:53 +0000 (11:59 +0000)]
Reverted r1434
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1437
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 6 Mar 2009 11:03:14 +0000 (11:03 +0000)]
All preemption requests are now ignored while in the debugger. This ensures that no change of V8 thread happenes while in the debugger. The only thing that happens is that a flag is set to indicate that preemption happened. When the debugger is left preemption is requested if it occourred while in the debugger.
Moved the debugger related global variables from Top to thread local in Debug.
Review URL: http://codereview.chromium.org/39124
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1436
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Fri, 6 Mar 2009 10:39:39 +0000 (10:39 +0000)]
Fix minor formatting issue.
Review URL: http://codereview.chromium.org/40215
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1435
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Fri, 6 Mar 2009 10:18:33 +0000 (10:18 +0000)]
Fix issue 259.
http://code.google.com/p/v8/issues/detail?id=259
Due to constant folding of loop conditions, it is possible to have a
try/finally with no exits from the try block (eg, an infinite loop in
the try block). In that case the code to unlink the try handler is
dead and should not be emitted.
Review URL: http://codereview.chromium.org/39251
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1434
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olehougaard [Fri, 6 Mar 2009 09:56:59 +0000 (09:56 +0000)]
Fixed ARM build by remembering to apply object literal optimazation to ARM code.
Review URL: http://codereview.chromium.org/40214
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1433
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olehougaard [Fri, 6 Mar 2009 09:38:17 +0000 (09:38 +0000)]
Optimizing nested, constant object literals (like JSON objects) by building one large object template for the entire object instead of one for each sub-object.
Review URL: http://codereview.chromium.org/39184
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1432
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 6 Mar 2009 08:28:56 +0000 (08:28 +0000)]
Speed up a few tests that were taking too long.
Review URL: http://codereview.chromium.org/40164
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1431
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Thu, 5 Mar 2009 15:23:17 +0000 (15:23 +0000)]
Revert revisions 1383, 1384, 1391, 1398, 1401, 1402,
1418, and 1419 from bleeding_edge until we have a fix
for the crashers we see on the distributed test infra-
structure.
We know that revision 1383 is causing issues, but I
had to revert some of the other recent RegExp changes
in order to get this part out.
Review URL: http://codereview.chromium.org/39186
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1429
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 5 Mar 2009 12:45:47 +0000 (12:45 +0000)]
Arrays created with new Array(n) are not assumed to be sparse unless the given
size is truly huge. A test had to be modified slightly so as not to be too slow.
Review URL: http://codereview.chromium.org/40163
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1428
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 5 Mar 2009 11:35:44 +0000 (11:35 +0000)]
Fixed projects after adding oprofile-agent* sources.
Review URL: http://codereview.chromium.org/40159
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1427
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 5 Mar 2009 10:53:08 +0000 (10:53 +0000)]
Adding support for reporting addresses of JIT compiled code to OProfile.
Please be warned that current gHardy versions have OProfile 0.9.3
which doesn't have JIT API. You need to install OProfile 0.9.4
with a 32-bit version of opagent library. Instructions are on the
internal Wiki page: http://wiki/Main/V8UsingOProfile
Review URL: http://codereview.chromium.org/39179
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1426
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 5 Mar 2009 09:39:19 +0000 (09:39 +0000)]
Add a test for inserting a preexisting list element to a list, at the
point where the backing buffer will have to grow.
Review URL: http://codereview.chromium.org/39180
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1425
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 5 Mar 2009 08:10:42 +0000 (08:10 +0000)]
In List::Add, correctly handle the case of adding a reference to a
preexisting list element to a list, and to not return anything (we
never used the return value). Remove List::Insert, it is not
currently used or needed. Change List::AddBlock to take a copy of
the element to be replicated rather than a reference.
Review URL: http://codereview.chromium.org/39148
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1424
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Thu, 5 Mar 2009 07:44:13 +0000 (07:44 +0000)]
Tweak the context disposal GC heuristic: If the garbage collector
interface is exposed through the global gc() function, we avoid
being clever about forcing GCs when contexts are disposed and leave
it to the embedder to make informed decisions about when to force
a collection.
Review URL: http://codereview.chromium.org/40154
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1422
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 4 Mar 2009 13:23:39 +0000 (13:23 +0000)]
Put 'this' in a handle in EnsureSize to avoid crash caused by GC at
unlucky moment.
Review URL: http://codereview.chromium.org/40108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1419
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 4 Mar 2009 12:29:37 +0000 (12:29 +0000)]
Issue 254 - now correctly updates lastIndexof when using the test method.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1418
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olehougaard [Wed, 4 Mar 2009 11:57:24 +0000 (11:57 +0000)]
Fixed issue 253. No longer assuming that the target of a property lookup is a JSObject.
Review URL: http://codereview.chromium.org/39126
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1416
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 4 Mar 2009 10:34:36 +0000 (10:34 +0000)]
Add an insert function to our list utility class.
Review URL: http://codereview.chromium.org/40105
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1415
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 4 Mar 2009 10:33:00 +0000 (10:33 +0000)]
The SendAll method on Socket was a helper method that did not really belong in platform.
Review URL: http://codereview.chromium.org/40104
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1414
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 4 Mar 2009 10:13:17 +0000 (10:13 +0000)]
Fix a few indentation issues.
Review URL: http://codereview.chromium.org/40102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1413
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 4 Mar 2009 09:52:01 +0000 (09:52 +0000)]
Issue 246 - wait until regexp is parsed to detect whether it's simple.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1412
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 4 Mar 2009 09:42:51 +0000 (09:42 +0000)]
Add remote debugging front end to developer shell.
D8 now supports demote debuggign of a V8 instance with the debugger agent enabled. Running D8 with the option --remote-debugger will try to connect to a V8 debugger agent and process the debugging protocol. The command line UI is the same as for the D8 in-process debugger as the same code is used for processing the debugger JSON.
Review URL: http://codereview.chromium.org/40011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1411
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 4 Mar 2009 08:50:38 +0000 (08:50 +0000)]
Streamline CodeGenerator::Comparison in the IA32 code generator. When
doing constant folding, handle only the cases that actually arise.
This avoids some complicated logic, some extra comparisons, and fixes
issue 247:
http://code.google.com/p/v8/issues/detail?id=247
Review URL: http://codereview.chromium.org/40023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1410
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 4 Mar 2009 07:42:39 +0000 (07:42 +0000)]
Fix the 64-bit build. Implicit conversion from string constant to
char* gives a warning. Using const char* instead.
Review URL: http://codereview.chromium.org/40100
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1409
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Wed, 4 Mar 2009 06:14:34 +0000 (06:14 +0000)]
Add a meaningful name when disassembling code. This makes it easier
to match generated code to the originating source.
Review URL: http://codereview.chromium.org/39014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1408
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Tue, 3 Mar 2009 16:01:22 +0000 (16:01 +0000)]
Properly add debug-agent.[cc|h] files.
Review URL: http://codereview.chromium.org/40014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1407
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 3 Mar 2009 13:35:05 +0000 (13:35 +0000)]
Disable the compilation caching for scripts to make it
possible to start generating code specific to a global
object. We should start caching scripts but make the
mechanism local to a specific global context inspired
by the way we handle eval-caching.
Review URL: http://codereview.chromium.org/40007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1406
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 3 Mar 2009 12:23:45 +0000 (12:23 +0000)]
Add V8 debugger agent.
The debugger agent listens on a TCP/IP port for a remote debugger connection. When such a connection is established the debuger JSON protocol is communicated between the agent the the remote debugger. The messages containing the JSON protocol has a RFC-822 like header with a Content-Length field and with the body containing the JSON in UTF-8 encoding.
The D8 shell has option --debugger-agent to start the debugger agent.
Review URL: http://codereview.chromium.org/27355
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1405
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 3 Mar 2009 11:56:44 +0000 (11:56 +0000)]
Dump more stack frames to perf log when executing a C++ function.
JavaScriptFrameIterator is templatized on the iterator type and renamed to JavaScriptFrameIteratorTemp.
The original JSFI is now a typedef for JavaScriptFrameIteratorTemp<StackFrameIterator>. Because of templatizing, JSFI code is moved to frames-inl.h
StackTraceFrameIterator moved to frames.*
Implemented SafeStackFrameIterator which wraps StackFrameIterator and have the same interface. It performs additional checks of stack addresses prior to delegating to StackFrameIterator. SafeSFI is used in an another specialization of JavaScriptFrameIteratorTemp template to perform safe JS frames iteration on sampler ticks.
I haven't took an advantage of having multiple stack frames in tickprocessor yet.
Review URL: http://codereview.chromium.org/39009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1404
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 3 Mar 2009 11:51:59 +0000 (11:51 +0000)]
Before emitting code to merge frames, forget the sync flag (telling
that an element is mirrored in memory) for elements whose target is a
register. This avoids generating some duplicate merge blocks.
Review URL: http://codereview.chromium.org/40005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1403
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 3 Mar 2009 10:54:12 +0000 (10:54 +0000)]
Optimized regexp.test. No longer creates an intermediate string array.
Removed some handler code.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1402
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 3 Mar 2009 09:11:09 +0000 (09:11 +0000)]
Validation of flattened regexps on ARM now doesn't expect a native code.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1401
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00