Commit Graph

846 Commits

Author SHA1 Message Date
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
christian.plesner.hansen@gmail.com
14f66ff796 Added one test case and moved another.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-09 08:46:26 +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
olehougaard
1a3cdf3fc1 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
2009-02-05 10:06:55 +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
olehougaard
e9a496a5fe 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
2009-02-03 09:00:43 +00:00
olehougaard
da4fdea61a 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
2009-02-03 08:35:03 +00:00
sgjesse@chromium.org
c5964cb7ad File missing from http://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
2009-02-03 08:21:30 +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
christian.plesner.hansen@gmail.com
4bd3d3d10c 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
2009-02-03 07:24:49 +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
erik.corry@gmail.com
18d6c23971 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
2009-02-02 16:27:08 +00:00
erik.corry@gmail.com
4e1190ec73 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
2009-02-02 14:15:18 +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
olehougaard
978c62a42d 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
2009-01-30 13:21:29 +00:00
christian.plesner.hansen@gmail.com
e633dcb6b0 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
2009-01-30 13:19:29 +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
christian.plesner.hansen@gmail.com
9083e7e239 Added regexp benchmark
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-30 11:35:15 +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
ager@chromium.org
06d96bade5 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
2009-01-28 11:49:44 +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
maruel@chromium.org
4c8cd0d346 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
2009-01-27 16:20:10 +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
89bf4d5634 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
2009-01-27 13:08:06 +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