kmillikin@chromium.org
d0e76971a6
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
2009-03-12 14:55:17 +00:00
ager@chromium.org
a4d60dd463
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
2009-03-12 14:10:44 +00:00
sgjesse@chromium.org
79aae815dd
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
2009-03-12 14:03:05 +00:00
kmillikin@chromium.org
c7f2458912
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
2009-03-12 12:30:45 +00:00
ager@chromium.org
04cc9cfffd
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
2009-03-12 12:29:17 +00:00
erik.corry@gmail.com
60d83a789b
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
2009-03-12 10:20:32 +00:00
kasperl@chromium.org
765a3804a9
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
2009-03-12 07:11:15 +00:00
erik.corry@gmail.com
912c8eb03a
* 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
2009-03-11 14:00:55 +00:00
kmillikin@chromium.org
3c41aab15d
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
2009-03-11 13:14:27 +00:00
kmillikin@chromium.org
1a7359fb9d
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
2009-03-11 12:08:28 +00:00
ager@chromium.org
90093ea868
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
2009-03-11 11:13:15 +00:00
kmillikin@chromium.org
82df32b78c
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
2009-03-11 10:25:48 +00:00
kmillikin@chromium.org
8d622ac4ac
Fix formatting problem.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-11 06:31:21 +00:00
kmillikin@chromium.org
0e60cf38dc
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
2009-03-11 06:17:19 +00:00
kasperl@chromium.org
1a9dc2d002
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
2009-03-10 15:08:45 +00:00
christian.plesner.hansen@gmail.com
feb2594f8a
Tweaked semantics of error prototype.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-10 13:15:24 +00:00
sgjesse@chromium.org
b1729e6c39
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
2009-03-10 12:41:11 +00:00
lrn@chromium.org
34db0ff86c
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
2009-03-10 12:28:34 +00:00
kmillikin@chromium.org
773843b62e
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
2009-03-10 12:11:56 +00:00
sgjesse@chromium.org
b74c5b1e39
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
2009-03-10 12:05:20 +00:00
christian.plesner.hansen@gmail.com
c1c5a09ebd
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
2009-03-10 11:32:19 +00:00
olehougaard
4703382b3e
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
2009-03-10 09:30:10 +00:00
christian.plesner.hansen@gmail.com
782b53799d
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
2009-03-10 09:08:05 +00:00
erik.corry@gmail.com
5718547ab9
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
2009-03-10 09:00:04 +00:00
olehougaard
860508f3e2
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
2009-03-10 08:59:00 +00:00
sgjesse@chromium.org
9d17b0d4c8
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
2009-03-10 08:10:50 +00:00
sgjesse@chromium.org
994ea00dfe
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
2009-03-09 17:59:25 +00:00
whesse@chromium.org
7977c6c680
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
2009-03-09 16:24:46 +00:00
olehougaard
2185cbaf49
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
2009-03-09 15:52:56 +00:00
kmillikin@chromium.org
1984f54a78
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
2009-03-09 14:48:34 +00:00
bak@chromium.org
eb816ae54a
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
2009-03-09 14:41:40 +00:00
bak@chromium.org
e2028632eb
Added a space to satisfy presubmit.py.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-09 14:13:57 +00:00
kmillikin@chromium.org
34af9f2ecf
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
2009-03-09 14:12:20 +00:00
bak@chromium.org
9c96c68ab4
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
2009-03-09 14:00:51 +00:00
christian.plesner.hansen@gmail.com
36dd91c562
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
2009-03-09 12:50:32 +00:00
kmillikin@chromium.org
ee2601dc3b
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
2009-03-09 12:03:38 +00:00
kmillikin@chromium.org
ece2c03160
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
2009-03-09 10:51:57 +00:00
ager@chromium.org
5b1ae4a070
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
2009-03-09 08:54:16 +00:00
sgjesse@chromium.org
747e20c449
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
2009-03-09 08:44:59 +00:00
ager@chromium.org
2e34b0354e
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
2009-03-09 08:42:21 +00:00
kmillikin@chromium.org
182c3ebb2d
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
2009-03-06 14:18:03 +00:00
mikhail.naganov@gmail.com
cd71a2792c
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
2009-03-06 13:07:57 +00:00
sgjesse@chromium.org
9ea5fe3d9e
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
2009-03-06 12:08:55 +00:00
christian.plesner.hansen@gmail.com
2a2c9381ea
Reverted r1434
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1437 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-06 11:59:53 +00:00
sgjesse@chromium.org
22d6605f2f
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
2009-03-06 11:03:14 +00:00
kmillikin@chromium.org
ef2069631e
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
2009-03-06 10:39:39 +00:00
kmillikin@chromium.org
b638d5c613
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
2009-03-06 10:18:33 +00:00
olehougaard
3d9c24c8a4
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
2009-03-06 09:56:59 +00:00
olehougaard
d46a9900ee
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
2009-03-06 09:38:17 +00:00
kasperl@chromium.org
e9e8628380
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
2009-03-05 15:23:17 +00:00