patrick@chromium.org [Thu, 19 Feb 2009 04:26:04 +0000 (04:26 +0000)]
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
mikhail.naganov@gmail.com [Wed, 18 Feb 2009 16:12:40 +0000 (16:12 +0000)]
Profiler tick processor now counts IC ticks on behalf of a caller.
This is enabled by default. To get back to old behavior, use '--separate-ic' switch.
Review URL: http://codereview.chromium.org/21452
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1305
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 18 Feb 2009 16:07:03 +0000 (16:07 +0000)]
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
ager@chromium.org [Wed, 18 Feb 2009 15:55:24 +0000 (15:55 +0000)]
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
ager@chromium.org [Wed, 18 Feb 2009 15:34:37 +0000 (15:34 +0000)]
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
ager@chromium.org [Wed, 18 Feb 2009 13:54:13 +0000 (13:54 +0000)]
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
mikhail.naganov@gmail.com [Wed, 18 Feb 2009 13:45:54 +0000 (13:45 +0000)]
Refactored command-line options handling in tick processor scripts
to remove code duplications. This makes easier adding new options.
Review URL: http://codereview.chromium.org/20452
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1300
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 18 Feb 2009 13:17:40 +0000 (13:17 +0000)]
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
ager@chromium.org [Wed, 18 Feb 2009 13:04:28 +0000 (13:04 +0000)]
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
sgjesse@chromium.org [Wed, 18 Feb 2009 10:29:56 +0000 (10:29 +0000)]
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
mikhail.naganov@gmail.com [Tue, 17 Feb 2009 14:45:45 +0000 (14:45 +0000)]
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
sgjesse@chromium.org [Tue, 17 Feb 2009 12:49:35 +0000 (12:49 +0000)]
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
lrn@chromium.org [Tue, 17 Feb 2009 08:56:36 +0000 (08:56 +0000)]
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
sgjesse@chromium.org [Tue, 17 Feb 2009 08:31:53 +0000 (08:31 +0000)]
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
sgjesse@chromium.org [Tue, 17 Feb 2009 08:21:24 +0000 (08:21 +0000)]
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
ager@chromium.org [Mon, 16 Feb 2009 13:31:13 +0000 (13:31 +0000)]
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
lrn@chromium.org [Mon, 16 Feb 2009 10:18:34 +0000 (10:18 +0000)]
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
sgjesse@chromium.org [Fri, 13 Feb 2009 14:20:03 +0000 (14:20 +0000)]
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
sgjesse@chromium.org [Fri, 13 Feb 2009 12:56:44 +0000 (12:56 +0000)]
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
sgjesse@chromium.org [Fri, 13 Feb 2009 12:50:47 +0000 (12:50 +0000)]
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
sgjesse@chromium.org [Fri, 13 Feb 2009 12:36:58 +0000 (12:36 +0000)]
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
ager@chromium.org [Fri, 13 Feb 2009 10:03:06 +0000 (10:03 +0000)]
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
lrn@chromium.org [Fri, 13 Feb 2009 09:40:15 +0000 (09:40 +0000)]
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
iposva@chromium.org [Thu, 12 Feb 2009 16:58:55 +0000 (16:58 +0000)]
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
lrn@chromium.org [Thu, 12 Feb 2009 13:07:58 +0000 (13:07 +0000)]
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
ager@chromium.org [Thu, 12 Feb 2009 09:29:02 +0000 (09:29 +0000)]
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
lrn@chromium.org [Thu, 12 Feb 2009 09:24:53 +0000 (09:24 +0000)]
Test for issue 87 was upgraded, but the old bug file wasn't deleted.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1254
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 12 Feb 2009 09:09:28 +0000 (09:09 +0000)]
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
iposva@chromium.org [Wed, 11 Feb 2009 23:52:52 +0000 (23:52 +0000)]
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
lrn@chromium.org [Wed, 11 Feb 2009 11:54:30 +0000 (11:54 +0000)]
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
olehougaard [Wed, 11 Feb 2009 07:38:31 +0000 (07:38 +0000)]
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
lrn@chromium.org [Tue, 10 Feb 2009 08:25:25 +0000 (08:25 +0000)]
Fix for issue 228.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1244
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Tue, 10 Feb 2009 00:31:58 +0000 (00:31 +0000)]
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
sgjesse@chromium.org [Mon, 9 Feb 2009 16:00:55 +0000 (16:00 +0000)]
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
sgjesse@chromium.org [Mon, 9 Feb 2009 15:06:07 +0000 (15:06 +0000)]
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
sgjesse@chromium.org [Mon, 9 Feb 2009 12:17:39 +0000 (12:17 +0000)]
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
christian.plesner.hansen@gmail.com [Mon, 9 Feb 2009 08:46:26 +0000 (08:46 +0000)]
Added one test case and moved another.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1238
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 5 Feb 2009 14:19:36 +0000 (14:19 +0000)]
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
ager@chromium.org [Thu, 5 Feb 2009 13:53:41 +0000 (13:53 +0000)]
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
lrn@chromium.org [Thu, 5 Feb 2009 13:24:13 +0000 (13:24 +0000)]
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
lrn@chromium.org [Thu, 5 Feb 2009 12:55:20 +0000 (12:55 +0000)]
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
sgjesse@chromium.org [Thu, 5 Feb 2009 10:10:45 +0000 (10:10 +0000)]
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
olehougaard [Thu, 5 Feb 2009 10:06:55 +0000 (10:06 +0000)]
Differentiating the file names between different serialization tests to avoid conflict when testing in parallel.
Review URL: http://codereview.chromium.org/20079
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1229
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 5 Feb 2009 10:06:41 +0000 (10:06 +0000)]
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
sgjesse@chromium.org [Thu, 5 Feb 2009 08:23:10 +0000 (08:23 +0000)]
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
erik.corry@gmail.com [Wed, 4 Feb 2009 13:05:40 +0000 (13:05 +0000)]
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
erik.corry@gmail.com [Wed, 4 Feb 2009 12:20:27 +0000 (12:20 +0000)]
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
mikhail.naganov@gmail.com [Wed, 4 Feb 2009 12:07:45 +0000 (12:07 +0000)]
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
sgjesse@chromium.org [Wed, 4 Feb 2009 11:36:30 +0000 (11:36 +0000)]
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
sgjesse@chromium.org [Tue, 3 Feb 2009 14:44:39 +0000 (14:44 +0000)]
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
lrn@chromium.org [Tue, 3 Feb 2009 13:39:25 +0000 (13:39 +0000)]
RegExp: Small bugfix in debug mode.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1219
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 3 Feb 2009 13:00:40 +0000 (13:00 +0000)]
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
lrn@chromium.org [Tue, 3 Feb 2009 11:43:55 +0000 (11:43 +0000)]
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
mikhail.naganov@gmail.com [Tue, 3 Feb 2009 10:52:02 +0000 (10:52 +0000)]
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
olehougaard [Tue, 3 Feb 2009 09:00:43 +0000 (09:00 +0000)]
Fix lint error.
Review URL: http://codereview.chromium.org/21011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1215
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olehougaard [Tue, 3 Feb 2009 08:35:03 +0000 (08:35 +0000)]
Fixing the flakiness of the serialization tests by assuring that serialization is run before every deserialization test.
Review URL: http://codereview.chromium.org/19541
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1214
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 3 Feb 2009 08:21:30 +0000 (08:21 +0000)]
File missing from codereview.chromium.org/19753.
TBR=ager
Review URL: http://codereview.chromium.org/21010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1213
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 3 Feb 2009 07:59:12 +0000 (07:59 +0000)]
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
christian.plesner.hansen@gmail.com [Tue, 3 Feb 2009 07:24:49 +0000 (07:24 +0000)]
Turned down the amount of work done by array-splice to ensure that it
doesn't time out on our slowest platforms. It turns out that almost
all the time was spent in Array.prototype.unshift on a non-array with
a length-field holding 40000. We may want to look into that but on
the other hand it is a pretty obscure thing to do so we may not.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1211
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 2 Feb 2009 16:27:31 +0000 (16:27 +0000)]
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
erik.corry@gmail.com [Mon, 2 Feb 2009 16:27:08 +0000 (16:27 +0000)]
Tell presubmit.py that regexp-pcre.js doesn't need a standard copyright
message since it has a special one.
Review URL: http://codereview.chromium.org/19752
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1209
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 2 Feb 2009 14:15:18 +0000 (14:15 +0000)]
Added regexp tests from PCRE.
Review URL: http://codereview.chromium.org/19751
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1207
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 2 Feb 2009 13:18:20 +0000 (13:18 +0000)]
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
kmillikin@chromium.org [Mon, 2 Feb 2009 12:05:13 +0000 (12:05 +0000)]
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
erik.corry@gmail.com [Mon, 2 Feb 2009 08:23:42 +0000 (08:23 +0000)]
Fix 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
sgjesse@chromium.org [Fri, 30 Jan 2009 14:25:10 +0000 (14:25 +0000)]
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
olehougaard [Fri, 30 Jan 2009 13:21:29 +0000 (13:21 +0000)]
Placing the snapshot in local directory for serialization test to avoid problems with permissions and multiple processes using same file.
Review URL: http://codereview.chromium.org/19503
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1196
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Fri, 30 Jan 2009 13:19:29 +0000 (13:19 +0000)]
Fixed issue where \x.. and \u.... were rot13-ed in strings (but not in
regexps). IE saved the day by rejecting them.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1195
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 30 Jan 2009 12:36:40 +0000 (12:36 +0000)]
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
christian.plesner.hansen@gmail.com [Fri, 30 Jan 2009 11:35:15 +0000 (11:35 +0000)]
Added regexp benchmark
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1190
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 30 Jan 2009 10:38:25 +0000 (10:38 +0000)]
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
olehougaard [Fri, 30 Jan 2009 09:34:55 +0000 (09:34 +0000)]
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
mike@belshe.com [Thu, 29 Jan 2009 19:47:00 +0000 (19:47 +0000)]
Enable programmatic access to Profile pause/resume
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1185
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 29 Jan 2009 14:14:13 +0000 (14:14 +0000)]
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
ager@chromium.org [Wed, 28 Jan 2009 11:49:44 +0000 (11:49 +0000)]
jsmin does not have our copyright header and shouldn't have. Exclude
it from the presubmit check.
Review URL: http://codereview.chromium.org/19424
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1180
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
deanm@chromium.org [Wed, 28 Jan 2009 10:15:11 +0000 (10:15 +0000)]
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
sgjesse@chromium.org [Wed, 28 Jan 2009 06:28:13 +0000 (06:28 +0000)]
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
maruel@chromium.org [Tue, 27 Jan 2009 16:20:10 +0000 (16:20 +0000)]
Fix snapshot generation on Visual Studio. Compiling source files generated
inside the same project is flaky with VisualStudio when building with
Incredibuild.
So I splitted the mksnapshot.exe generation, snapshot.cc generation and
snapshot.cc compilation in three different projects.
Review URL: http://codereview.chromium.org/18770
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1176
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 27 Jan 2009 13:43:42 +0000 (13:43 +0000)]
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
deanm@chromium.org [Tue, 27 Jan 2009 13:08:06 +0000 (13:08 +0000)]
Strip /* */ style comments in js2c. Saves ~17k of binary size.
Review URL: http://codereview.chromium.org/19012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1174
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
deanm@chromium.org [Tue, 27 Jan 2009 11:30:44 +0000 (11:30 +0000)]
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
ager@chromium.org [Tue, 27 Jan 2009 09:44:41 +0000 (09:44 +0000)]
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
erik.corry@gmail.com [Mon, 26 Jan 2009 20:55:31 +0000 (20:55 +0000)]
Lint error
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1167
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 26 Jan 2009 20:09:35 +0000 (20:09 +0000)]
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
erik.corry@gmail.com [Mon, 26 Jan 2009 19:38:26 +0000 (19:38 +0000)]
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
deanm@chromium.org [Mon, 26 Jan 2009 19:32:01 +0000 (19:32 +0000)]
Put code and data pieces in their own sections.
This makes --gc-sections perform better, as the GC operates on whole sections. This makes a worthwhile binary size decrease in the Chromium Linux build.
Review URL: http://codereview.chromium.org/18803
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1164
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Mon, 26 Jan 2009 18:23:01 +0000 (18:23 +0000)]
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
iposva@chromium.org [Mon, 26 Jan 2009 18:09:46 +0000 (18:09 +0000)]
- 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
lrn@chromium.org [Mon, 26 Jan 2009 15:26:44 +0000 (15:26 +0000)]
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
ager@chromium.org [Mon, 26 Jan 2009 15:09:44 +0000 (15:09 +0000)]
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
lrn@chromium.org [Mon, 26 Jan 2009 14:38:17 +0000 (14:38 +0000)]
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
sgjesse@chromium.org [Mon, 26 Jan 2009 14:26:14 +0000 (14:26 +0000)]
Set ARM expectations for new debugger test.
Review URL: http://codereview.chromium.org/18755
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1155
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 26 Jan 2009 14:03:03 +0000 (14:03 +0000)]
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
sgjesse@chromium.org [Mon, 26 Jan 2009 13:44:37 +0000 (13:44 +0000)]
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
olehougaard [Mon, 26 Jan 2009 13:21:49 +0000 (13:21 +0000)]
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
ager@chromium.org [Mon, 26 Jan 2009 13:10:26 +0000 (13:10 +0000)]
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
erik.corry@gmail.com [Mon, 26 Jan 2009 13:04:49 +0000 (13:04 +0000)]
* 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
olehougaard [Mon, 26 Jan 2009 11:33:12 +0000 (11:33 +0000)]
Fixing alignment issue allowing serialization to run on ARM.
Review URL: http://codereview.chromium.org/18746
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1149
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 26 Jan 2009 11:28:51 +0000 (11:28 +0000)]
Handle strndup in freebsd in the same way it is handled on other
platforms that do not support it directly.
Review URL: http://codereview.chromium.org/18585
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1148
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whessev8 [Mon, 26 Jan 2009 10:32:39 +0000 (10:32 +0000)]
Fixes two lint errors in codegen-ia32.cc.
Review URL: http://codereview.chromium.org/18743
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1146
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00