kasperl@chromium.org
1e42e70021
Use SSE3 instructions - if available - for faster To(U)Int32
...
conversion in bit operation stubs. Disable serialization
support by default to allow us to use SSE3 instructions and
faster write barrier code when running without snapshot.
Review URL: http://codereview.chromium.org/27046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1364 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-25 14:57:46 +00:00
ager@chromium.org
539a29cbd3
Prepare push to trunk. Now working on version 1.0.3.
...
Review URL: http://codereview.chromium.org/27129
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-25 12:46:23 +00:00
erik.corry@gmail.com
bbc2a73f31
Remove JSCRE
...
Review URL: http://codereview.chromium.org/21504
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-25 08:08:01 +00:00
sgjesse@chromium.org
57dfd336db
Remove obsolete function NewArrayLiteral.
...
This function (which creates a tenured JS array) was not use by any code.
Review URL: http://codereview.chromium.org/28070
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-24 20:55:11 +00:00
mikhail.naganov@gmail.com
1338c33eed
A refinement of cl 28068.
...
Review URL: http://codereview.chromium.org/28069
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-24 14:58:48 +00:00
sgjesse@chromium.org
ad7ad5cfe0
Fixed lint errors.
...
The previous commit (r1349) resulted in a number of lint errors - extra whitespace and a missing explicit on a constructor in the test. These has been fixed.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/27089
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-24 14:22:42 +00:00
mikhail.naganov@gmail.com
1d843bfa3d
Fixed regression http://code.google.com/p/v8/issues/detail?id=236 .
...
The problem was that the case of 'undefined' script source wasn't
handled in Script::InitLineEnds.
Review URL: http://codereview.chromium.org/28068
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-24 13:33:49 +00:00
sgjesse@chromium.org
be059966c1
Add socket support to platform code.
...
The new Socket class is an encapsulation of the standard BSD socket API. As it depends on platform specific include files and have some slight platform variations it is part of the platform code.
On Mac OS only the option SO_REUSEADDR is set to true for server sockets. Running the test required it as the bound listener socket would sometimes end up in TIME_WAIT. On Windows and Linux this has never been observed (given the client end of the socket is closed before the server end).
The code has been tested on Windows, Linux and Mac OS. The FreeBSD version is a copy of the Linux version but has not been compiled nor tested.
Missing Xcode project updates.
Review URL: http://codereview.chromium.org/27085
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-24 13:32:01 +00:00
ager@chromium.org
0c7af39737
Speed up access to global variables from eval scopes. Traverse the
...
surrounding context to figure out if the variable could be global. If
the variable could be global we check context extension objects at
runtime and use a global LoadIC if no variables have been introduced
by eval.
Fix crash bug when loading function arguments from inside eval. The
shadowed variable in the DYNAMIC_LOCAL case does not rewrite to a slot in
that case.
Review URL: http://codereview.chromium.org/28027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-24 13:11:53 +00:00
kmillikin@chromium.org
0c1c8d1876
Cleanup the ARM code generator for try...catch and try...finally by
...
clarifying the comments and simplifying code.
Review URL: http://codereview.chromium.org/27047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-23 12:05:40 +00:00
kasperl@chromium.org
0e1819d0b8
Revert 1330:1331.
...
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/24026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1332 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-20 17:42:04 +00:00
ager@chromium.org
b6a1cd6787
Simplify non-smi bit operation optimization. The explicit range
...
checks are not needed. If we fail to store the float as a 64-bit
integer, we just go to the runtime system. The only extra case in
which we enter the runtime system is for NaN which should not matter.
Review URL: http://codereview.chromium.org/21539
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-20 14:23:54 +00:00
kasperl@chromium.org
3afe470026
Improve generated code for non-smi bit operations by
...
converting the operands to 32-bit ints directly in the
machine code stub instead of just checking if the heap
numbers really just represent 32-bit ints and going
through the runtime system in that case.
Review URL: http://codereview.chromium.org/21536
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-20 13:30:32 +00:00
sgjesse@chromium.org
aeafc3bba4
Minor fix to fix building without ENABLE_LOGGING_AND_PROFILING defined.
...
Review URL: http://codereview.chromium.org/21534
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-20 13:21:41 +00:00
lrn@chromium.org
f8051275e0
Add test for GC during RegExp.
...
Fix bug found by test.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-20 13:03:54 +00:00
sgjesse@chromium.org
563287b02f
Introduced a platform independent version of strchr, as the return value is const on Windows.
...
This fixes building of D8 on Windows.
Mac OS and FreeBSD changes have not been tested.
Review URL: http://codereview.chromium.org/20534
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-20 11:31:44 +00:00
ager@chromium.org
c86b47f414
Rearrange the code in Scope::ResolveVariable.
...
I find this clearer and it also enables the DYNAMIC_LOCAL optimization
for code executed by eval that itself uses eval:
eval("(function() { var x = 2; eval('1'); do stuff with x...; })()")
Review URL: http://codereview.chromium.org/24023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-19 15:27:44 +00:00
sgjesse@chromium.org
bdaf8320e4
Fixed Linux build.
...
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/20493
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-19 14:29:48 +00:00
sgjesse@chromium.org
44b83d3e77
Add host callback for debug break.
...
Add the ability to have the host embedding V8 receive a callback in the V8 thread while V8 is processing a debug callback. When V8 is processing a debug callback the thread where V8 is executing is sitting in a tight loop processing debug commands until the continue command has been executed. In some embedding situations it is beneficial to be able to call back into the embedding host from the thread where V8 is sitting. The might have functions which needs to be called to complement the JavaScript debugging.
Using the uint16_t array to pass a void* is a temporary hack.
Review URL: http://codereview.chromium.org/20491
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-19 14:02:42 +00:00
erik.corry@gmail.com
b1fbed8cca
A little peephole optimization for the Irregexp bytecode interpreter.
...
Review URL: http://codereview.chromium.org/21481
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-19 10:03:27 +00:00
erik.corry@gmail.com
9c608b2c5a
Limit how many places we generate code to flush the same actions. This gives a
...
13% code size reduction in the php regexp with no discernable performance loss.
Review URL: http://codereview.chromium.org/20457
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1309 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-19 08:24:28 +00:00
ager@chromium.org
195753ff7b
Commit of eval changes left out because they were stuck in another changelist.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-19 07:22:53 +00:00
patrick@chromium.org
1c0ebb7e1c
Update d8 preemption mode to support multiple files per line. Each line is run
...
in its own context. Files are separated by spaces, and will be run in order,
left to right.
Also add support for comment lines, which start with '#'.
Review URL: http://codereview.chromium.org/20319
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-19 04:26:04 +00:00
erik.corry@gmail.com
3f962f0f9c
Irregexp:
...
* Fix UC16 character classes on ASCII subjects.
* Fix sign problem in Irregexp interpreter.
* Make passes over text nodes more readable.
Review URL: http://codereview.chromium.org/21450
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1304 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-18 16:07:03 +00:00
ager@chromium.org
b4b5e3ca95
Not sure what happened, but my revert did not get everything out. Fixing the problem instead. The issue was using tmp instead of context in two places.
...
TBR=kasperl
Review URL: http://codereview.chromium.org/20459
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1303 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-18 15:55:24 +00:00
ager@chromium.org
19f04d16c7
Revert eval changes since there is a crash that I don't have the time
...
to fix now.
TBR=kasperl
Review URL: http://codereview.chromium.org/20458
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-18 15:34:37 +00:00
ager@chromium.org
cafe25f258
ARM side of load optimization in the presence of eval.
...
Review URL: http://codereview.chromium.org/20453
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-18 13:54:13 +00:00
ager@chromium.org
74ac71d846
Fix lint errors because of long line.
...
Review URL: http://codereview.chromium.org/21449
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-18 13:17:40 +00:00
ager@chromium.org
a09832ab76
Optimize loads from variables that might be shadowed by variables
...
introduced by eval.
In the cases where calls to eval have not introduced any variables, we
do not need to perform a runtime call. Instead, we verify that the
context extension objects have not been created and perform a direct
load.
Not implemented for ARM yet and the scope resolution code could use
some better abstractions. I'd like to do that in a separate
changelist.
Review URL: http://codereview.chromium.org/20419
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-18 13:04:28 +00:00
sgjesse@chromium.org
98208125cb
Include all the code in code creation log events. The code object header size is now added to the size Before ticks the last instructions of a JavaScript functions ended up as unaccounted in the profile.Include ticks in the the last created code object in the profile.Show the unaccounted ticks in the profile as a percentage together with the rest. Added an option to ignore unaccounted ticks in the percentage calculation.
...
Review URL: http://codereview.chromium.org/21410
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-18 10:29:56 +00:00
mikhail.naganov@gmail.com
a23fd3284a
Added the simplest call stack sampling and call profile in tick processor output.
...
Currently only two stack frames are sampled (current function and its caller).
Output of tick processor looks like this:
[Call profile]:
total call path
15.2% LazyCompile: am3 crypto.js:108 <- LazyCompile: montReduce crypto.js:583
6.5% LazyCompile: am3 crypto.js:108 <- LazyCompile: bnpSquareTo crypto.js:431
2.9% Builtin: KeyedStoreIC_Generic <- LazyCompile: montReduce crypto.js:583
2.3% LazyCompile: am3 crypto.js:108 <- LazyCompile: bnpMultiplyTo crypto.js:415
Tested under Windows, Linux and OS X.
Review URL: http://codereview.chromium.org/21403
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-17 14:45:45 +00:00
sgjesse@chromium.org
969d43e785
Changed all log messages to be handled through the LogMessageBuilder instead of through fprintf directly to the log file.
...
Added a flag for the runtime %Log call and fixed its arguments checking. Use of %Log is only for debugging.
Review URL: http://codereview.chromium.org/21406
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-17 12:49:35 +00:00
lrn@chromium.org
8cd31d295b
Array sort was changed in a way that completely undid another optimization.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-17 08:56:36 +00:00
sgjesse@chromium.org
2ffc8d981e
Fixed Linux build.
...
TBR=ager
Review URL: http://codereview.chromium.org/21402
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-17 08:31:53 +00:00
sgjesse@chromium.org
577741308b
First step in refactoring the logging system to allow the logging messages to have other destinations than an open file.
...
This change introduces a log message builder which builds the log message in a static string buffer instead of formatting the log message through fprintf. Currently this message can only be written to a file afterwards.
Changed the code related events to use the log message builder.
Review URL: http://codereview.chromium.org/20406
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-17 08:21:24 +00:00
ager@chromium.org
d81fad1766
Fix debugger function that treated retry-after-gc failure as an
...
exception.
Minor indentation cleanup.
Review URL: http://codereview.chromium.org/20404
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-16 13:31:13 +00:00
lrn@chromium.org
3e2712e018
Lots of small optimizations, and one that is measurable (speeds up celtickane-array signficantly).
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-16 10:18:34 +00:00
sgjesse@chromium.org
5344151ecb
Added check for existing frames to the evaluate debugger request.
...
Fixed output of evaluated expressions from the debugger in the developer shell.
Use global evaluate request from developer shell if there is no JavaScript stack.
Remove use of JS2C macros in developer shell JavaScript code.
Review URL: http://codereview.chromium.org/21350
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-13 14:20:03 +00:00
sgjesse@chromium.org
b10926644c
Modified printing of some types of heap objects to make the printing more uniform.
...
Review URL: http://codereview.chromium.org/21348
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-13 12:56:44 +00:00
sgjesse@chromium.org
a0aa0309a2
Fix lint errors and compile erors on Linux.
...
TBR=ager
Review URL: http://codereview.chromium.org/21349
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-13 12:50:47 +00:00
sgjesse@chromium.org
ceef7cb854
Make the debugger completely unload when the debug event listener is unregistered.
...
Added a number of handle scopes to the debugger code to keep handles local to the function using them.
Fixed SetDebugEventListener to actually unregister when passed a NULL pointer. Previously this NULL pointer was wrapped in a Proxy.
BUG=1242702
Review URL: http://codereview.chromium.org/21347
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-13 12:36:58 +00:00
ager@chromium.org
be5767575b
Prepare push to trunk containing two irregexp crash fixes and support
...
for morphing strings to external strings. Now working on version
1.0.2.
Review URL: http://codereview.chromium.org/20351
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-13 10:03:06 +00:00
lrn@chromium.org
80bb2cc546
Missing handle check. Triggers bug if the runtime stack overflows and it is detected by a global regexp.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-13 09:40:15 +00:00
iposva@chromium.org
be6b490fb0
Remove experimental ExternalSymbolCallback feature. This is not needed
...
since we can now transform String objects to be external when needed.
Review URL: http://codereview.chromium.org/21285
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-12 16:58:55 +00:00
lrn@chromium.org
0b1f3f2134
Issue 231 - Irregexp backtracking stack pointer could become corrupted.
...
http://code.google.com/p/v8/issues/detail?id=231
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1257 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-12 13:07:58 +00:00
ager@chromium.org
4b6d4f6b3b
Fix a couple of typos reported as V8 issue 226.
...
Review URL: http://codereview.chromium.org/20298
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-12 09:29:02 +00:00
lrn@chromium.org
396fa22799
Regular Expression literal flags may contain unicode escapes. If these escape any of the
...
valid flags, "gim", they should work.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-12 09:09:28 +00:00
iposva@chromium.org
1bf2c7405e
Allow the morphing of strings to external strings to avoid having to
...
create copies in the embedding code (aka WebKit V8 bindings) on every
external use.
Review URL: http://codereview.chromium.org/21117
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-11 23:52:52 +00:00
lrn@chromium.org
c621bbbe45
Issue 227 Fixed. Properly handles non-ASCII characters in quick-check on ASCII strings.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1248 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-11 11:54:30 +00:00
olehougaard
e7150a8d8a
Fixing a few bugs to make the --log-state-change option work.
...
Review URL: http://codereview.chromium.org/20220
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-11 07:38:31 +00:00
lrn@chromium.org
15ef421bc7
Fix for issue 228.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-10 08:25:25 +00:00
iposva@chromium.org
4ce82a17d0
Prepare push to trunk. Now working on version 1.0.1.
...
Review URL: http://codereview.chromium.org/21194
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-10 00:31:58 +00:00
sgjesse@chromium.org
2bd60ab80f
Fix linking of mksnapshot
...
Changelist http://codereview.chromium.org/20177 caused linking of mksnapshot to fail as link libraries where not specified. Updated build to link mksnapshot with pthread on Linux and Mac OS and with winmm on Windows.
Review URL: http://codereview.chromium.org/21171
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-09 16:00:55 +00:00
sgjesse@chromium.org
85584333f9
Support for building V8 with MinGW
...
V8 can now be build with MinGW. It still fails the following four tests in debug mode:
mjsunit/parse-int-float
mjsunit/mirror-array.js
mjsunit/integer-to-string.js
mjsunit/regress/regress-114.js
Building with MinGW has been tested with version 5.1.4 using GCC 3.4.5.
In addition to supporting MinGW this change also makes it more explicit which targets needs to link with which libraries.
BUG=64
Review URL: http://codereview.chromium.org/20177
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-09 15:06:07 +00:00
sgjesse@chromium.org
a85f5c86bc
Moved some IA32 specific code from to the architecture dependent part of the debugger code.
...
Renamed functions related to patching of code with call instructions to match the naming conversion.
BUG=1240753
Review URL: http://codereview.chromium.org/20176
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-09 12:17:39 +00:00
sgjesse@chromium.org
6b4d372696
Added the 'references' command to the debugger protocol to provide access to the mirror features of retreiving all the objects referencing a given object and all objects instantiated by a given function.
...
Added commands 'references' and 'instances' to the developer shell for using this new debugger protocol command.
Review URL: http://codereview.chromium.org/21080
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1234 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-05 14:19:36 +00:00
ager@chromium.org
05a56bf1ea
Add explicit null checks after string conversions in the shells.
...
This fixes issue 224.
Review URL: http://codereview.chromium.org/20081
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-05 13:53:41 +00:00
lrn@chromium.org
b0e3ee6274
Fix bug 225 in regexp replace with function.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-05 13:24:13 +00:00
lrn@chromium.org
0070e8c572
Fixed overflow bug in parsing of regexp repetitions.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-05 12:55:20 +00:00
sgjesse@chromium.org
f7f4cb1c33
Fixed the debugger compile events.
...
The debugger compile events (BeforeCompile and AfterCompile) have not been used by any V8 debuggers lately and where actually not working any more. Added the correct information to the compile event.
Added a simple 'trace compile' command to the developer shell for testing.
Added a test for compile evnets.
Review URL: http://codereview.chromium.org/21076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-05 10:10:45 +00:00
ager@chromium.org
5fa3bd8440
Remove unused code. This code used to be used to "decide" if a call
...
to eval is aliased. Now that we correctly track eval aliasing, we do
not need this code.
Review URL: http://codereview.chromium.org/20078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-05 10:06:41 +00:00
sgjesse@chromium.org
d7a9f15bda
Updated handling of the script mirror.
...
The script mirror is now created through MakeMirror like all other mirrors preserving handle identity. Added a couple of properties to the script mirror and added some more tests for the script mirror.
Review URL: http://codereview.chromium.org/21074
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1227 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-05 08:23:10 +00:00
erik.corry@gmail.com
a5e55c4584
Fix the not-at-start optimization to trigger on the V8 regexp benchmark.
...
Review URL: http://codereview.chromium.org/20040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-04 13:05:40 +00:00
erik.corry@gmail.com
484ee83dd9
Fix crash-bug in code generation for case independent 16 bit backreferences.
...
Review URL: http://codereview.chromium.org/21042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-04 12:20:27 +00:00
mikhail.naganov@gmail.com
2258704e69
Refactor code for determining line position in a source file.
...
1. Make Script::line_ends initialization two-pass to avoid
dynamic memory allocation
2. Get rid of the original code in messages.js and use
Script::line_ends instead.
Review URL: http://codereview.chromium.org/21041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-04 12:07:45 +00:00
sgjesse@chromium.org
93bd4954e1
Minor debugger cleanup. Store the running state of the previous debugger response to avoid having to parse the just generated JSON response just to pick out the running state. Also removed an unused function.
...
Review URL: http://codereview.chromium.org/20039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-04 11:36:30 +00:00
sgjesse@chromium.org
4b05db4ee0
Added check for logging enabled in two places where processing/allocation was performed only to be used only as parameters for the LOG macro. Looked through all the uses of the LOG macro and found only these two places where additional checking was required.
...
Fixed a couple of comments looking through all the uses of the LOG macro.
Review URL: http://codereview.chromium.org/20018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1220 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-03 14:44:39 +00:00
lrn@chromium.org
78ec586391
RegExp: Small bugfix in debug mode.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1219 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-03 13:39:25 +00:00
sgjesse@chromium.org
ee7c5dd64a
Use Handle version of AddKeysFromJSArray when building line endingd array.
...
Review URL: http://codereview.chromium.org/21013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1218 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-03 13:00:40 +00:00
lrn@chromium.org
cf1e1b1b98
Trace contains information about whether we know that we are at the start of input.
...
Choice nodes may know that they are never not at the start of input.
This can remove start_of_input assertions in cases where they are statically known to fail.
The initial loop is unrolled once if the regexp might check for the start of input. Only the first iteration may be at the start, the following loop knows that it isn't.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-03 11:43:55 +00:00
mikhail.naganov@gmail.com
3835e915c4
Adding src_file_name:line_number into perf log entries for compiled JS functions.
...
Thus, instead of the following profiler records:
1.5% 1.5% LazyCompile: <anonymous>
we'll now have these:
1.5% 1.5% LazyCompile: <anonymous> richards.js:309
Basically, I translated two functions from messages.js into C++.
In the next CL I will update messages.js to use added native functions.
Review URL: http://codereview.chromium.org/19537
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1216 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-03 10:52:02 +00:00
sgjesse@chromium.org
d131ecf3dd
Changed the debugger API to allow only one debug event listener to be registered. The public API now only has SetDebugEventListener instead of AddDebugEventListener and RemoveDebugEventListener.
...
Moved the registrered debug event listener from the context to a global handle in the Debugger class. Storing it in the context did not make much sense.
Changed a lot of tests to handle the API change.
BUG=1242707
Review URL: http://codereview.chromium.org/19753
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1212 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-03 07:59:12 +00:00
erik.corry@gmail.com
7f6afa5bf4
The optimizations performed by Irregexp could possible hide bugs or
...
could themselves be a source of bugs. Add a flag to switch off
optimizations (--noirregexp-optimization) to aid testing.
Review URL: http://codereview.chromium.org/19538
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-02 16:27:31 +00:00
ager@chromium.org
c33e51681f
Fix issue 221:
...
http://code.google.com/p/v8/issues/detail?id=221
The attempt to resolve 'eval' went into an infinite loop. Also, we
need to throw a reference error in case 'eval' cannot be resolved.
Review URL: http://codereview.chromium.org/19536
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1206 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-02 13:18:20 +00:00
kmillikin@chromium.org
46023fb742
Fix for off-by-one when initializing a constant or function
...
declaration that was not a slot.
Review URL: http://codereview.chromium.org/19745
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-02 12:05:13 +00:00
erik.corry@gmail.com
b88dbfee5c
Fix http://code.google.com/p/chromium/issues/detail?id=7258 crash in IsFlat.
...
You can't keep a StringShape across things that can cause GC.
Review URL: http://codereview.chromium.org/19749
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-02 08:23:42 +00:00
sgjesse@chromium.org
58e3ae93c4
Remove unused macro definition.
...
Review URL: http://codereview.chromium.org/19709
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-30 14:25:10 +00:00
lrn@chromium.org
0730ada63e
Allow duplicate flags in regexps to match other browsers.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1193 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-30 12:36:40 +00:00
lrn@chromium.org
6e13e8ce37
Parsing a RegExp decimal escape could overflow, making an otherwise too large
...
decimal escape be accepted as a capture index.
We introduce a limit on the nubmer of allowed captures in a regexp, and break off
parsing of the decimal escape at that point.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-30 10:38:25 +00:00
olehougaard
dd2051ca2f
Enabling splitting building with snapshots in to building the mksnapshot executable and building with a snapshot to facilitate building for ARM with a crosstool compiler.
...
Review URL: http://codereview.chromium.org/19014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1188 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-30 09:34:55 +00:00
mike@belshe.com
75037cbd6e
Enable programmatic access to Profile pause/resume
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-29 19:47:00 +00:00
lrn@chromium.org
ef8d48ead5
Added check for invalid repetition in RegExp parser
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-29 14:14:13 +00:00
deanm@chromium.org
aa8662545a
Further minify non-visible JavaScript.
...
This imports a Python version of Douglas Crockford's JSMin. JavaScript files can annotate that they want to be run through the minifier. Currently debug and mirror are minified.
This results in ~12k savings on the final binary size.
Review URL: http://codereview.chromium.org/19013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-28 10:15:11 +00:00
sgjesse@chromium.org
9f5ad905cb
Skip the context extension object when locating objects referenced from another object (the right way).
...
BUG=211
Review URL: http://codereview.chromium.org/18857
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-28 06:28:13 +00:00
lrn@chromium.org
1e98f72cad
Allow larger regexp stack if necessary, which includes specific layout tests.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1175 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-27 13:43:42 +00:00
deanm@chromium.org
269763d51b
Reduce the size of a release sample shell by 55k.
...
The ExternalReferenceTable population code was code driven, using the list macro callbacks to call an Add() function. Additionally this Add() function was defined in the class defintion, making it inline. This caused this single function to be ~100k of code. It is now mostly table driven, but there are still some cases left as code, and these could be improved in the future for further reduction in binary size.
Review URL: http://codereview.chromium.org/18761
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-27 11:30:44 +00:00
ager@chromium.org
92047bd3fa
Prepare push to trunk. Now working on version 1.0.0.
...
Review URL: http://codereview.chromium.org/18843
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-27 09:44:41 +00:00
erik.corry@gmail.com
e091488b3e
Lint error
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-26 20:55:31 +00:00
erik.corry@gmail.com
260cd876d1
Eliminate the code that handles fallback to JSCRE. The only way to get
...
JSCRE now is to use the --noirregexp flag. Also add code to check that
we react sensibly to some very large regexps.
Review URL: http://codereview.chromium.org/18587
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-26 20:09:35 +00:00
erik.corry@gmail.com
34b47563ff
Reduce work done in EatsAtLeast to a sane level.
...
Review URL: http://codereview.chromium.org/18753
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-26 19:38:26 +00:00
iposva@chromium.org
0d11b5885a
Fix white space issues.
...
Review URL: http://codereview.chromium.org/18806
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-26 18:23:01 +00:00
iposva@chromium.org
ff3433d0fd
- Preserve bootstrapper state across thread switches (fixes issue 143).
...
- Make sure stack guards are properly setup even when preemption is active.
- Fix missing v8::Locker and v8::Unlocker use in d8.cc.
- Threads forked in d8 do get their own context setup.
Review URL: http://codereview.chromium.org/18581
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-26 18:09:46 +00:00
lrn@chromium.org
01198feda3
A field might be incorrectly set, causing registers to be pushed and popped
...
instead of just cleared on backtrack - or, worse, the other way around!
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-26 15:26:44 +00:00
ager@chromium.org
db1896c253
Make sure that the prototype of the initial map is created in the
...
right context.
Review URL: http://codereview.chromium.org/18591
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1157 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-26 15:09:44 +00:00
lrn@chromium.org
2de5de495f
Irregexp: Backtrack past look-aheads works correctly.
...
Allows backtracking to clear registers instead of pushing and popping
them to restore state.
Redo of 1135 with bug fixed.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1156 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-26 14:38:17 +00:00
sgjesse@chromium.org
335a73aa4b
Added a simple wrapping of the debugger JSON responses.
...
Added a 'dir' command to the command line debugger to display the details of an object including the handle number for the object and the objects that it references.
Added the ability to use #XXX# to a 'print' or 'dir' request. XXX is the handle number for the object.
Review URL: http://codereview.chromium.org/18589
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-26 14:03:03 +00:00
sgjesse@chromium.org
115d57a677
Added a lookup request to the debugger protocol to retreive an object from it's handle.
...
Added a test for testing handles when using both the 'evaluate' and the 'lookup' request.
Review URL: http://codereview.chromium.org/18752
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1153 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-26 13:44:37 +00:00
olehougaard
baac94254f
Reintroduced a fix for an alignment issue on ARM. I had reverted it by mistake. This fixes the serialization test suite on ARM.
...
Review URL: http://codereview.chromium.org/18751
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1152 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-26 13:21:49 +00:00
ager@chromium.org
524e34b8f8
Fix issue 192 by propagating out exceptions from object literal
...
boilerplate creation.
Removed declaration of unused and unimplemented function.
Review URL: http://codereview.chromium.org/18749
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-26 13:10:26 +00:00
erik.corry@gmail.com
c956219ef4
* Remember to check for end of string even where we
...
know the character class must match.
Thanks to Mads and Christian for finding this bug
Review URL: http://codereview.chromium.org/18750
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-26 13:04:49 +00:00