platform/upstream/v8.git
15 years agoFixing a few bugs to make the --log-state-change option work.
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

15 years agoFix for issue 228.
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

15 years agoPrepare push to trunk. Now working on version 1.0.1.
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

15 years agoFix linking of mksnapshot
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

15 years agoSupport for building V8 with MinGW
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

15 years agoMoved some IA32 specific code from to the architecture dependent part of the debugger...
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

15 years agoAdded one test case and moved another.
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

15 years agoAdded the 'references' command to the debugger protocol to provide access to the...
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

15 years agoAdd explicit null checks after string conversions in the shells.
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

15 years agoFix bug 225 in regexp replace with function.
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

15 years agoFixed overflow bug in parsing of regexp repetitions.
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

15 years agoFixed the debugger compile events.
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

15 years agoDifferentiating the file names between different serialization tests to avoid conflic...
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

15 years agoRemove unused code. This code used to be used to "decide" if a call
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

15 years agoUpdated handling of the script mirror.
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

15 years agoFix the not-at-start optimization to trigger on the V8 regexp benchmark.
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

15 years agoFix crash-bug in code generation for case independent 16 bit backreferences.
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

15 years agoRefactor code for determining line position in a source file.
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

15 years agoMinor debugger cleanup. Store the running state of the previous debugger response...
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

15 years agoAdded check for logging enabled in two places where processing/allocation was perform...
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

15 years agoRegExp: Small bugfix in debug mode.
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

15 years agoUse Handle version of AddKeysFromJSArray when building line endingd array.
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

15 years agoTrace contains information about whether we know that we are at the start of input.
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

15 years agoAdding src_file_name:line_number into perf log entries for compiled JS functions.
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

15 years agoFix lint error.
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

15 years agoFixing the flakiness of the serialization tests by assuring that serialization is...
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

15 years agoFile missing from http://codereview.chromium.org/19753.
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

15 years agoChanged the debugger API to allow only one debug event listener to be registered...
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

15 years agoTurned down the amount of work done by array-splice to ensure that it
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

15 years agoThe optimizations performed by Irregexp could possible hide bugs or
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

15 years agoTell presubmit.py that regexp-pcre.js doesn't need a standard copyright
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

15 years agoAdded regexp tests from PCRE.
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

15 years agoFix issue 221:
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

15 years agoFix for off-by-one when initializing a constant or function
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

15 years agoFix http://code.google.com/p/chromium/issues/detail?id=7258 crash in IsFlat.
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

15 years agoRemove unused macro definition.
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

15 years agoPlacing the snapshot in local directory for serialization test to avoid problems...
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

15 years agoFixed issue where \x.. and \u.... were rot13-ed in strings (but not in
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

15 years agoAllow duplicate flags in regexps to match other browsers.
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

15 years agoAdded regexp benchmark
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

15 years agoParsing a RegExp decimal escape could overflow, making an otherwise too large
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

15 years agoEnabling splitting building with snapshots in to building the mksnapshot executable...
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

15 years agoEnable programmatic access to Profile pause/resume
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

15 years agoAdded check for invalid repetition in RegExp parser
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

15 years agojsmin does not have our copyright header and shouldn't have. Exclude
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

15 years agoFurther minify non-visible JavaScript.
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

15 years agoSkip the context extension object when locating objects referenced from another objec...
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

15 years agoFix snapshot generation on Visual Studio. Compiling source files generated
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

15 years agoAllow larger regexp stack if necessary, which includes specific layout tests.
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

15 years agoStrip /* */ style comments in js2c. Saves ~17k of binary size.
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

15 years agoReduce the size of a release sample shell by 55k.
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

15 years agoPrepare push to trunk. Now working on version 1.0.0.
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

15 years agoLint error
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

15 years agoEliminate the code that handles fallback to JSCRE. The only way to get
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

15 years agoReduce work done in EatsAtLeast to a sane level.
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

15 years agoPut code and data pieces in their own sections.
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

15 years agoFix white space issues.
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

15 years ago- Preserve bootstrapper state across thread switches (fixes issue 143).
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

15 years agoA field might be incorrectly set, causing registers to be pushed and popped
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

15 years agoMake sure that the prototype of the initial map is created in the
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

15 years agoIrregexp: Backtrack past look-aheads works correctly.
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

15 years agoSet ARM expectations for new debugger test.
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

15 years agoAdded a simple wrapping of the debugger JSON responses.
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

15 years agoAdded a lookup request to the debugger protocol to retreive an object from it's handle.
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

15 years agoReintroduced a fix for an alignment issue on ARM. I had reverted it by mistake. This...
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

15 years agoFix issue 192 by propagating out exceptions from object literal
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

15 years ago* Remember to check for end of string even where we
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

15 years agoFixing alignment issue allowing serialization to run on ARM.
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

15 years agoHandle strndup in freebsd in the same way it is handled on other
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

15 years agoFixes two lint errors in codegen-ia32.cc.
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

15 years agoChange type of snapshot from char array to byte array to avoid portability problems...
olehougaard [Mon, 26 Jan 2009 10:21:09 +0000 (10:21 +0000)]
Change type of snapshot from char array to byte array to avoid portability problems between different compilers.
Review URL: http://codereview.chromium.org/18583

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

15 years agoRevert change to Smi check that was a performance regression.
whessev8 [Mon, 26 Jan 2009 09:15:48 +0000 (09:15 +0000)]
Revert change to Smi check that was a performance regression.
Review URL: http://codereview.chromium.org/18582

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

15 years agoFix bug where strings were not flattened before regexp.
erik.corry@gmail.com [Mon, 26 Jan 2009 08:35:41 +0000 (08:35 +0000)]
Fix bug where strings were not flattened before regexp.
Review URL: http://codereview.chromium.org/18552

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

15 years agoFix Windows build (maybe).
iposva@chromium.org [Fri, 23 Jan 2009 17:48:58 +0000 (17:48 +0000)]
Fix Windows build (maybe).

TBR=fqian

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

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

15 years agoSplit handle scopes into an internal version and a version accessible
iposva@chromium.org [Fri, 23 Jan 2009 17:22:23 +0000 (17:22 +0000)]
Split handle scopes into an internal version and a version accessible
through the API. This allows us to verify state on entry through the API.
In this change verification in the API entry is checking that the current
thread holds the V8 lock when a HandleScope is instantiated if a v8::Locker
has ever been used by the V8 instance.
Review URL: http://codereview.chromium.org/18707

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

15 years agocomplete revert by removing empty files
erik.corry@gmail.com [Fri, 23 Jan 2009 15:50:33 +0000 (15:50 +0000)]
complete revert by removing empty files

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

15 years agoReverting r1136 due to crashes
erik.corry@gmail.com [Fri, 23 Jan 2009 14:33:19 +0000 (14:33 +0000)]
Reverting r1136 due to crashes

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

15 years agoOptimizes an assembly-language conversion from int to Smi in codegen.
whessev8 [Fri, 23 Jan 2009 13:58:49 +0000 (13:58 +0000)]
Optimizes an assembly-language conversion from int to Smi in codegen.
Review URL: http://codereview.chromium.org/18551

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

15 years agoClears captures of look-aheads on backtrack.
lrn@chromium.org [Fri, 23 Jan 2009 13:34:51 +0000 (13:34 +0000)]
Clears captures of look-aheads on backtrack.
Reduces number of pushes when flushing a trace. Some are converted to clears
in the undo-code instead, and some just ignored if they have no value worth restoring.

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

15 years agoDo not violate the assumption that fast-case arrays have Smi length
ager@chromium.org [Fri, 23 Jan 2009 13:08:29 +0000 (13:08 +0000)]
Do not violate the assumption that fast-case arrays have Smi length
when transforming from slow to fast-case array elements.

This fixes issue 201:

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

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

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

15 years agoOptimizes check for Smi range in the code generator.
whessev8 [Fri, 23 Jan 2009 13:06:15 +0000 (13:06 +0000)]
Optimizes check for Smi range in the code generator.
The check whether a 32-bit signed integer is in the Smi
range is now Sign bit( value + 0x40000000 ) == 0,
done with a single cmp instruction.
Review URL: http://codereview.chromium.org/18710

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

15 years agoMake sure that eval and try-catch introduced context extension objects
ager@chromium.org [Fri, 23 Jan 2009 12:16:03 +0000 (12:16 +0000)]
Make sure that eval and try-catch introduced context extension objects
act as if they have no properties in their prototype chains.

This fixes V8 issue 193:

  http://code.google.com/p/v8/issues/detail?id=193.
Review URL: http://codereview.chromium.org/18709

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

15 years agoClean up the mark-sweep/compact collector by removing outdated
kmillikin@chromium.org [Fri, 23 Jan 2009 08:13:12 +0000 (08:13 +0000)]
Clean up the mark-sweep/compact collector by removing outdated
verification code and updating outdated comments.
Review URL: http://codereview.chromium.org/18502

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

15 years agoreview
christian.plesner.hansen@gmail.com [Fri, 23 Jan 2009 07:46:44 +0000 (07:46 +0000)]
review

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

15 years agoApply Jeff Bailey's patch to use %p instead of %i to print pointer
ager@chromium.org [Thu, 22 Jan 2009 14:00:23 +0000 (14:00 +0000)]
Apply Jeff Bailey's patch to use %p instead of %i to print pointer
values.

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

15 years agoFix handling of const initialization. We did not handle the fact that
ager@chromium.org [Thu, 22 Jan 2009 13:53:06 +0000 (13:53 +0000)]
Fix handling of const initialization.  We did not handle the fact that
a const variable can be deleted between its declaration and its
initialization.

This fixes issue 189:

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

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

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

15 years agoAdded handling of hidden prototype objects when collecting local properties for an...
sgjesse@chromium.org [Thu, 22 Jan 2009 13:20:31 +0000 (13:20 +0000)]
Added handling of hidden prototype objects when collecting local properties for an object mirror. The property names provided by an object mirror now includes all properties from the object and any hidden prototypes merged together.

Changed the name of Runtime_GetPrototype to Runtime_DebugGetPrototype to indicate that it is a debugger related function and changed its implementation to do the correct __proto__ lookup.

Added some more information to the Map debug print.
Review URL: http://codereview.chromium.org/18658

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

15 years agoFix incorrect issue number.
kmillikin@chromium.org [Thu, 22 Jan 2009 12:52:39 +0000 (12:52 +0000)]
Fix incorrect issue number.
Review URL: http://codereview.chromium.org/18493

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

15 years agoAvoid memmove when emitting operands in the assembler
kasperl@chromium.org [Thu, 22 Jan 2009 12:12:15 +0000 (12:12 +0000)]
Avoid memmove when emitting operands in the assembler
and get rid of the mutability of the Operand byte buffer.
Review URL: http://codereview.chromium.org/18656

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

15 years agoRegExp parser forgot to advance after reading \c in character class. I.e., \cM was...
lrn@chromium.org [Thu, 22 Jan 2009 10:37:09 +0000 (10:37 +0000)]
RegExp parser forgot to advance after reading \c in character class. I.e., \cM was interpreted as \ccM.

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

15 years agoIrregexp-32 frame-align code uses a register. This is no longer hard-coded to ebx.
lrn@chromium.org [Thu, 22 Jan 2009 09:05:00 +0000 (09:05 +0000)]
Irregexp-32 frame-align code uses a register. This is no longer hard-coded to ebx.

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

15 years agoCheck for valid frame number when processing the debugger frame request.
sgjesse@chromium.org [Thu, 22 Jan 2009 08:31:40 +0000 (08:31 +0000)]
Check for valid frame number when processing the debugger frame request.

BUG=1250705
Review URL: http://codereview.chromium.org/18492

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

15 years agoMarked ascii-regexp-subject as flaky on arm for now. The cause of
christian.plesner.hansen@gmail.com [Wed, 21 Jan 2009 14:43:10 +0000 (14:43 +0000)]
Marked ascii-regexp-subject as flaky on arm for now.  The cause of
this failure is that this test depends on a particular optimization in
jscre that we don't yet have, but that we will get very soon.

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

15 years agoEnabled irregexp by default. I have deliberately made this change
christian.plesner.hansen@gmail.com [Wed, 21 Jan 2009 13:16:03 +0000 (13:16 +0000)]
Enabled irregexp by default.  I have deliberately made this change
minimal so it's easier to revert partially or fully.

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

15 years agoChanges to the mirror handling
sgjesse@chromium.org [Wed, 21 Jan 2009 09:32:07 +0000 (09:32 +0000)]
Changes to the mirror handling

When getting properties for the global object proxy the properties from the global object are returned.

Script objects now have handles and are serialized by reference.

Added special handling for NaN.
Review URL: http://codereview.chromium.org/18445

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

15 years agoFix endianism issues in regexp interpreter.
erik.corry@gmail.com [Wed, 21 Jan 2009 08:20:40 +0000 (08:20 +0000)]
Fix endianism issues in regexp interpreter.
Review URL: http://codereview.chromium.org/18613

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

15 years agoFix an unsound use of a string shape in the parser.
ager@chromium.org [Wed, 21 Jan 2009 08:08:15 +0000 (08:08 +0000)]
Fix an unsound use of a string shape in the parser.
Review URL: http://codereview.chromium.org/18612

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

15 years agoLint fixes.
erik.corry@gmail.com [Tue, 20 Jan 2009 18:58:30 +0000 (18:58 +0000)]
Lint fixes.

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

15 years ago* Irregexp: Move from a byte-oriented bytecode format to a 32-bit oriented
erik.corry@gmail.com [Tue, 20 Jan 2009 18:50:01 +0000 (18:50 +0000)]
* Irregexp: Move from a byte-oriented bytecode format to a 32-bit oriented
bytecode format.  This provides a nice speedup on Intel and probably an
even better one on ARM.  Also removes the 256-register limitation on the
interpreter.
Review URL: http://codereview.chromium.org/18363

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

15 years agoAdded -p option to d8 that runs a list of source files in a separate
christian.plesner.hansen@gmail.com [Tue, 20 Jan 2009 14:14:22 +0000 (14:14 +0000)]
Added -p option to d8 that runs a list of source files in a separate
thread with preemption enabled.

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