platform/upstream/v8.git
15 years agoSeparately growing stack for irregexp ia32 backtrack stack.
lrn@chromium.org [Mon, 12 Jan 2009 13:05:23 +0000 (13:05 +0000)]
Separately growing stack for irregexp ia32 backtrack stack.

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

15 years agoFix comment typo.
ager@chromium.org [Mon, 12 Jan 2009 11:07:02 +0000 (11:07 +0000)]
Fix comment typo.

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

15 years agoAllocate as many object-literal properties as possible inobject.
ager@chromium.org [Mon, 12 Jan 2009 10:59:58 +0000 (10:59 +0000)]
Allocate as many object-literal properties as possible inobject.

This can lead to large objects which wastes a lot of space if we normalize properties.  We therfore clear the inobject properties when normalizing properties.  This is done by adjusting the instance size in the new map and overwriting the inobject properties with a filler.
Review URL: http://codereview.chromium.org/17308

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

15 years agoAdded check that bails out of a repetition when the body is empty.
christian.plesner.hansen@gmail.com [Thu, 8 Jan 2009 12:40:47 +0000 (12:40 +0000)]
Added check that bails out of a repetition when the body is empty.

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

15 years agoFixed lint.
christian.plesner.hansen@gmail.com [Thu, 8 Jan 2009 11:44:06 +0000 (11:44 +0000)]
Fixed lint.

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

15 years agoAdded more constness to the api. There are still some methods back
christian.plesner.hansen@gmail.com [Thu, 8 Jan 2009 11:35:34 +0000 (11:35 +0000)]
Added more constness to the api.  There are still some methods back
that could be const but aren't, but now at least all the obvious ones
should be.

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

15 years agoRemove unused code.
sgjesse@chromium.org [Thu, 8 Jan 2009 10:40:09 +0000 (10:40 +0000)]
Remove unused code.
Review URL: http://codereview.chromium.org/17410

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

15 years agoFix for issue 171:
iposva@chromium.org [Wed, 7 Jan 2009 23:26:31 +0000 (23:26 +0000)]
Fix for issue 171:
- Make sure to not destroy the instance type by slightly rearranging the code.
- Added regression test.

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

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

15 years agoFixed build with no ENABLE_LOGGING_AND_PROFILING
christian.plesner.hansen@gmail.com [Wed, 7 Jan 2009 14:24:08 +0000 (14:24 +0000)]
Fixed build with no ENABLE_LOGGING_AND_PROFILING

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

15 years agoAllow 2009 as a valid year in the copyright header.
ager@chromium.org [Wed, 7 Jan 2009 11:51:03 +0000 (11:51 +0000)]
Allow 2009 as a valid year in the copyright header.
Review URL: http://codereview.chromium.org/16568

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

15 years agoFix for issue 91 (http://code.google.com/p/v8/issues/detail?id=91)
olehougaard [Wed, 7 Jan 2009 09:58:58 +0000 (09:58 +0000)]
Fix for issue 91 (code.google.com/p/v8/issues/detail?id=91)
Review URL: http://codereview.chromium.org/17232

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

15 years agoFactored the generation of JSON serialization from beeing part of the mirror objects...
sgjesse@chromium.org [Wed, 7 Jan 2009 09:27:30 +0000 (09:27 +0000)]
Factored the generation of JSON serialization from beeing part of the mirror objects into a seperate class. The purpose of this is to make it easier to change the serialization to contain object identification and references.

Added a test case for the script mirror and modified a number of the other mirror tests.
Review URL: http://codereview.chromium.org/16539

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

15 years agoUpdate version number to fix small small whoopsie I committed when
christian.plesner.hansen@gmail.com [Tue, 6 Jan 2009 14:53:10 +0000 (14:53 +0000)]
Update version number to fix small small whoopsie I committed when
pushing to trunk.

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

15 years agoPreparing push to trunk (0.4.7)
christian.plesner.hansen@gmail.com [Tue, 6 Jan 2009 14:11:19 +0000 (14:11 +0000)]
Preparing push to trunk (0.4.7)

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

15 years agoAdded runtime call to the logging infrastructure. Made some changes
christian.plesner.hansen@gmail.com [Tue, 6 Jan 2009 13:24:52 +0000 (13:24 +0000)]
Added runtime call to the logging infrastructure.  Made some changes
to the way regexps are being logged.

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

15 years agoFixed double printing of exceptions when enabeling the debugger.
sgjesse@chromium.org [Tue, 6 Jan 2009 09:43:18 +0000 (09:43 +0000)]
Fixed double printing of exceptions when enabeling the debugger.

Detect the response to the continue command.
Review URL: http://codereview.chromium.org/17071

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

15 years agoRecognizes character classes like whitespace and non-newline and generates more effic...
lrn@chromium.org [Fri, 2 Jan 2009 12:23:17 +0000 (12:23 +0000)]
Recognizes character classes like whitespace and non-newline and generates more efficient code.

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

15 years agoUpdate comment and add assert.
ager@chromium.org [Tue, 23 Dec 2008 08:58:56 +0000 (08:58 +0000)]
Update comment and add assert.

Fix typo where underscore is used instead of a dash.
Review URL: http://codereview.chromium.org/16238

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

15 years agoInline array loads in loops directly in the code instead of always
ager@chromium.org [Mon, 22 Dec 2008 12:56:32 +0000 (12:56 +0000)]
Inline array loads in loops directly in the code instead of always
calling a stub.  The map to check against is unknown when generating
the code, so we patch the map check in the IC initialization code.

Loop nesting is currently not tracked on ARM.  I'll file feature
request bug reports for implementing this on ARM and add the number to
the TODOs before I commit.
Review URL: http://codereview.chromium.org/16409

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

15 years agoSome irregexp optimizations around keeping track of when the current character
erik.corry@gmail.com [Mon, 22 Dec 2008 12:48:14 +0000 (12:48 +0000)]
Some irregexp optimizations around keeping track of when the current character
register contains the next n characters.
Review URL: http://codereview.chromium.org/16410

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

15 years agoReverting the BOM changes due to security concerns.
olehougaard [Fri, 19 Dec 2008 13:28:56 +0000 (13:28 +0000)]
Reverting the BOM changes due to security concerns.
Review URL: http://codereview.chromium.org/14890

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

15 years agoAdded support in the profiler for creating 'regions' that cover part
christian.plesner.hansen@gmail.com [Fri, 19 Dec 2008 13:12:43 +0000 (13:12 +0000)]
Added support in the profiler for creating 'regions' that cover part
of the generated code.  These can be used by the profiler to
categorize the ticks that occur within generated code and thereby show
more detailed information about where time is spent in generated code.
For instance, this is what the profiler displayed for a simple regexp
benchmark with irregexp-native before:

[JavaScript]:
   total  nonlib   name
   87.2%   87.2%   RegExp: (?:\w*\W+)*

This is what we can display now:

[JavaScript]:
   total  nonlib   name
   87.2%   87.2%   RegExp: (?:\w*\W+)*
                   -  53.0%  56.7% BranchOrBacktrack
                   -  14.9%  59.8% CheckCharacterLT
                   -  13.7%  20.4% CheckStackLimit
                   -   6.7%   6.7% SafeCall
                   -   2.7%   7.0% CheckCharacterGT
                   -   2.4%   2.4% SafeReturn
                   -   2.1%   2.1% LoadCurrentCharacter
                   -   1.8%   1.8% PushRegister
                   -   0.9%   0.9% PopRegister
                   -   0.9%   0.9% AdvanceRegister
                   -   0.3%   0.3% PopCurrentPosition
                   -   0.3%   0.3% CheckGreedyLoop
                   -   0.0%  20.4% PushBacktrack
                   -   0.0%  22.3% CheckCharacter
                   -   0.0%   2.4% IfRegisterLT

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

15 years agoFix ARM build.
erik.corry@gmail.com [Fri, 19 Dec 2008 12:13:11 +0000 (12:13 +0000)]
Fix ARM build.
Review URL: http://codereview.chromium.org/14887

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

15 years agoInstead of jumping over a conditional backtrack, jump to a single instance somewhere...
lrn@chromium.org [Fri, 19 Dec 2008 12:08:29 +0000 (12:08 +0000)]
Instead of jumping over a conditional backtrack, jump to a single instance somewhere else.

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

15 years agoHandling byte-order marks as specified in Ecmascript-262 and in compliance with Safari.
olehougaard [Fri, 19 Dec 2008 12:06:11 +0000 (12:06 +0000)]
Handling byte-order marks as specified in Ecmascript-262 and in compliance with Safari.
Review URL: http://codereview.chromium.org/15075

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

15 years ago* Generate quick checks based on mask and compare for
erik.corry@gmail.com [Fri, 19 Dec 2008 12:02:34 +0000 (12:02 +0000)]
* Generate quick checks based on mask and compare for
  the alternatives in a choice node.  The quick checks
  are conservative in the sense that they only detect
  failure with certainty.  Checks can do 2 or 4 characters
  at a time.
* Inline the quick checks to allow the alternatives to
  be checked without branching in the common case where
  they fail.
Review URL: http://codereview.chromium.org/14194

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

15 years agoUnroll + and ? to reduce loop-related work.
erik.corry@gmail.com [Thu, 18 Dec 2008 15:17:24 +0000 (15:17 +0000)]
Unroll + and ? to reduce loop-related work.
Review URL: http://codereview.chromium.org/14836

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

15 years agoFix lint error.
erik.corry@gmail.com [Thu, 18 Dec 2008 15:17:02 +0000 (15:17 +0000)]
Fix lint error.
Review URL: http://codereview.chromium.org/15036

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

15 years agoRefactored the code for handling debug step in in the runtime system into one functio...
sgjesse@chromium.org [Thu, 18 Dec 2008 14:32:49 +0000 (14:32 +0000)]
Refactored the code for handling debug step in in the runtime system into one function. For constructors this also means that step in will no longer step into the code for the builtins context.
Review URL: http://codereview.chromium.org/15035

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

15 years agoRemoved propagation of information about preceding nodes by expanding
christian.plesner.hansen@gmail.com [Thu, 18 Dec 2008 14:30:53 +0000 (14:30 +0000)]
Removed propagation of information about preceding nodes by expanding
following nodes.  Found a better solution.

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

15 years agoFixing a subtle bug in receiver resolution when a thrown and caught function is calle...
olehougaard [Thu, 18 Dec 2008 11:28:13 +0000 (11:28 +0000)]
Fixing a subtle bug in receiver resolution when a thrown and caught function is called from a catch-block.
Second attempt - now with better memory efficiency.
Review URL: http://codereview.chromium.org/14834

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

15 years agoAdded option --shell to D8 and updated the usage text.
sgjesse@chromium.org [Thu, 18 Dec 2008 10:39:11 +0000 (10:39 +0000)]
Added option --shell to D8 and updated the usage text.
Review URL: http://codereview.chromium.org/14192

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

15 years agoRemoved tabs from d8.js.
sgjesse@chromium.org [Thu, 18 Dec 2008 10:38:09 +0000 (10:38 +0000)]
Removed tabs from d8.js.

TBR=ager
Review URL: http://codereview.chromium.org/14835

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

15 years agoAdded command line debugger to D8 shell.
sgjesse@chromium.org [Thu, 18 Dec 2008 10:06:49 +0000 (10:06 +0000)]
Added command line debugger to D8 shell.

  break location [condition]
  clear <breakpoint #>
  backtrace [from frame #] [to frame #]]
  frame <frame #>
  step [in | next | out| min [step count]]
  print <expression>
  source [from line [num lines]]
  scripts
  continue
  help

It is enabled through the option --debugger which is on by default.
Review URL: http://codereview.chromium.org/14509

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

15 years agoFix an issue of a raw pointer being returned after possible allocation.
sgjesse@chromium.org [Thu, 18 Dec 2008 09:39:18 +0000 (09:39 +0000)]
Fix an issue of a raw pointer being returned after possible allocation.
Review URL: http://codereview.chromium.org/14833

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

15 years agoFix issue 142:
iposva@chromium.org [Wed, 17 Dec 2008 17:40:02 +0000 (17:40 +0000)]
Fix issue 142:
- Removed the potential for a NULL pointer access in
  ContextSwitcher::PreemptionReceived.
- Removed a leak of the semaphore in the ContexSwitcher thread, by removing
  the need for this semaphore entirely.
- Added a regression test case which will catch accesses to the ContextSwitcher
  singleton after it has been stopped.

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

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

15 years agoFixed bug in interest propagation caused by following the loop edge
christian.plesner.hansen@gmail.com [Wed, 17 Dec 2008 13:16:38 +0000 (13:16 +0000)]
Fixed bug in interest propagation caused by following the loop edge
out of a loop choice node before the continuation edge.

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

15 years agoChanged (1<<31)-1 into INT_MAX.
lrn@chromium.org [Wed, 17 Dec 2008 12:08:27 +0000 (12:08 +0000)]
Changed (1<<31)-1 into INT_MAX.

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

15 years agoEach RegExtTree node can now report the min and max size of strings it can match.
lrn@chromium.org [Wed, 17 Dec 2008 10:59:14 +0000 (10:59 +0000)]
Each RegExtTree node can now report the min and max size of strings it can match.

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

15 years agoMinor changes, mostly cosmetic, in string search.
lrn@chromium.org [Wed, 17 Dec 2008 09:53:06 +0000 (09:53 +0000)]
Minor changes, mostly cosmetic, in string search.

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

15 years agoRemoved some unused code to make Linux builders happy.
sgjesse@chromium.org [Wed, 17 Dec 2008 09:02:31 +0000 (09:02 +0000)]
Removed some unused code to make Linux builders happy.

TBR=ager
Review URL: http://codereview.chromium.org/14189

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

15 years agoRefactored the recording of source position in the generated code. The code generator...
sgjesse@chromium.org [Wed, 17 Dec 2008 08:45:42 +0000 (08:45 +0000)]
Refactored the recording of source position in the generated code. The code generator now has two methods

  void CodeForStatement(Node* node)
  void CodeForSourcePosition(int pos)

The first is used to indicate that code is about to be generated for the given statement and the second is used to indicate that code is about to be generated for the given source position.

Added position information for some statements which was missing whem.

Updated the code generator for ARM to emit source position the same way as for IA-32.

Added an assert to ensure that deferred code stubs will always have a source source position as if it has not it will take whatever source position before which makes no sense.

The passing test on ARM has only been tested using the simulator.
Review URL: http://codereview.chromium.org/14170

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

15 years agoRemoved rep-cmps{w,b} from CheckCharacters to improve performance.
lrn@chromium.org [Tue, 16 Dec 2008 14:21:00 +0000 (14:21 +0000)]
Removed rep-cmps{w,b} from CheckCharacters to improve performance.

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

15 years agoAdd missing files (debug-<architecture>.cc) to the Xcode project.
iposva@chromium.org [Mon, 15 Dec 2008 20:40:12 +0000 (20:40 +0000)]
Add missing files (debug-<architecture>.cc) to the Xcode project.
Review URL: http://codereview.chromium.org/14120

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

15 years agoGive an error when setting break points in functions either defined through the API...
sgjesse@chromium.org [Mon, 15 Dec 2008 09:15:05 +0000 (09:15 +0000)]
Give an error when setting break points in functions either defined through the API or in functions which are part of the V8 builtins.

BUG=178
Review URL: http://codereview.chromium.org/13785

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

15 years agoIntroduced a TempAssign utility because I just couldn't watch this anymore. YMMV.
olehougaard [Mon, 15 Dec 2008 08:55:35 +0000 (08:55 +0000)]
Introduced a TempAssign utility because I just couldn't watch this anymore. YMMV.
Review URL: http://codereview.chromium.org/14422

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

15 years agoRegexp-IA32 tests doesn't work with snapshots.
lrn@chromium.org [Fri, 12 Dec 2008 11:40:03 +0000 (11:40 +0000)]
Regexp-IA32 tests doesn't work with snapshots.

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

15 years agoPreemption code for irregexp-native-ia32. Regexps can not only succeede or
lrn@chromium.org [Fri, 12 Dec 2008 10:49:00 +0000 (10:49 +0000)]
Preemption code for irregexp-native-ia32. Regexps can not only succeede or
fail, but also report a thrown exception.

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

15 years agoQuantified look-aheads are sometimes removed entirely, leaving only a
lrn@chromium.org [Fri, 12 Dec 2008 10:22:56 +0000 (10:22 +0000)]
Quantified look-aheads are sometimes removed entirely, leaving only a
single atom node. A flag was not set in this case, leading the wrapper
code to think the pattern was equal to the atom and use the pattern
in the indexOf operation.

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

15 years agoFix lint issue.
ager@chromium.org [Thu, 11 Dec 2008 13:04:22 +0000 (13:04 +0000)]
Fix lint issue.

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

15 years agoPrepare pushing new v8 version to trunk (now working on version 0.4.7).
ager@chromium.org [Thu, 11 Dec 2008 11:38:02 +0000 (11:38 +0000)]
Prepare pushing new v8 version to trunk (now working on version 0.4.7).
Review URL: http://codereview.chromium.org/13385

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

15 years agoContinue running if failing to make a debug event into a JSON event for sending to...
sgjesse@chromium.org [Thu, 11 Dec 2008 11:25:06 +0000 (11:25 +0000)]
Continue running if failing to make a debug event into a JSON event for sending to the debugger.

This partly fixes Chromium issue 5349 (http://code.google.com/p/chromium/issues/detail?id=5349).
Review URL: http://codereview.chromium.org/13384

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

15 years agoImprove mark-compact object grouping interface.
deanm@chromium.org [Thu, 11 Dec 2008 11:20:04 +0000 (11:20 +0000)]
Improve mark-compact object grouping interface.

The main goal was to improve O(n^2) behavior when there are many object groups.  The old API required the grouping to be done on the v8 side, along with a linear search.  The new interface requires the caller to do the grouping, passing V8 entire groups at a time.  This removes the group id concept on the v8 side.

  - Changed AddObjectToGroup to AddObjectGroup.
  - Removed the group id concept from the V8 side.
  - Remove a static constructor while I'm here, lazily initialize
    the object groups list.
  - Cleaned up return by non-const references to return pointers.

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

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

15 years ago- Added lookbehind propagation for the initial node; now, if the
christian.plesner.hansen@gmail.com [Thu, 11 Dec 2008 11:13:13 +0000 (11:13 +0000)]
- Added lookbehind propagation for the initial node; now, if the
  initial node is interested in what precedes it the automaton is
  given an initial all-consuming character class that determines it.
- Added verification of some node information invariants.  We now
  check that if a node expresses interest in what precedes it that
  information is available to it after assertion expansion.

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

15 years agoMake sure that the API does not change templates pass in from the
ager@chromium.org [Thu, 11 Dec 2008 11:09:51 +0000 (11:09 +0000)]
Make sure that the API does not change templates pass in from the
user.  The API should never change templates behind the back of the
user.
Review URL: http://codereview.chromium.org/13741

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

15 years agoAdd handling of empty stack in the backtrace debug request.
sgjesse@chromium.org [Thu, 11 Dec 2008 09:35:44 +0000 (09:35 +0000)]
Add handling of empty stack in the backtrace debug request.

Add accessor function for the exception in an ExceptionEvent.
Review URL: http://codereview.chromium.org/13382

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

15 years agoAdded test for bug 176 (zero length matches should fail in quantifiers).
erik.corry@gmail.com [Thu, 11 Dec 2008 09:01:55 +0000 (09:01 +0000)]
Added test for bug 176 (zero length matches should fail in quantifiers).
Review URL: http://codereview.chromium.org/13381

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

15 years agoChanged the debugger break handling to support situations where there are no stack...
sgjesse@chromium.org [Thu, 11 Dec 2008 08:03:24 +0000 (08:03 +0000)]
Changed the debugger break handling to support situations where there are no stack frames. This can happen when an exception is thrown when compiling code.

This is related to Chromium issue 5349 (http://code.google.com/p/chromium/issues/detail?id=5349).
Review URL: http://codereview.chromium.org/13720

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

15 years agoA recursive call to the code generator could (conceivably) clobber any
kmillikin@chromium.org [Wed, 10 Dec 2008 13:49:19 +0000 (13:49 +0000)]
A recursive call to the code generator could (conceivably) clobber any
register.  Generate code to evaluate both arguments of FastCharCodeAt
before popping either from the stack.
Review URL: http://codereview.chromium.org/13706

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

15 years agoArm codegen could emit const pool in the middle of jump table.
lrn@chromium.org [Wed, 10 Dec 2008 08:37:58 +0000 (08:37 +0000)]
Arm codegen could emit const pool in the middle of jump table.

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

15 years agoMake sure that the generic stubs for keyed load and store and for
ager@chromium.org [Wed, 10 Dec 2008 08:05:10 +0000 (08:05 +0000)]
Make sure that the generic stubs for keyed load and store and for
dictionary probing respects access check bit.
Review URL: http://codereview.chromium.org/13663

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

15 years agoRemoved a few calls to Top::ReportPendingMessages() that caused the messages to be...
olehougaard [Tue, 9 Dec 2008 13:18:33 +0000 (13:18 +0000)]
Removed a few calls to Top::ReportPendingMessages() that caused the messages to be reported prematurely and not at the C++/JS boundary.
Review URL: http://codereview.chromium.org/13287

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

15 years agoRefactor the convertion of a target address into a code object from the debugger...
sgjesse@chromium.org [Tue, 9 Dec 2008 12:53:59 +0000 (12:53 +0000)]
Refactor the convertion of a target address into a code object from the debugger to the Code class.
Review URL: http://codereview.chromium.org/13285

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

15 years agoFixed lint error.
sgjesse@chromium.org [Tue, 9 Dec 2008 12:30:05 +0000 (12:30 +0000)]
Fixed lint error.
Review URL: http://codereview.chromium.org/13661

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

15 years agoFixed Linux build by removing unused code.
sgjesse@chromium.org [Tue, 9 Dec 2008 11:24:53 +0000 (11:24 +0000)]
Fixed Linux build by removing unused code.
Review URL: http://codereview.chromium.org/13284

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

15 years agoMoved the code generation for debug break stubs from builtins* to debug*. From builti...
sgjesse@chromium.org [Tue, 9 Dec 2008 11:12:14 +0000 (11:12 +0000)]
Moved the code generation for debug break stubs from builtins* to debug*. From builtins* all code generation delegate to debug*. Added files debug-ia32.cc and debug-arm.cc for platfoem specific code generation of debugger stubs.

Removed a dead file reference (frames-ia32-inl.h) from the Visual Studio project.

Updated the ARM Visual Studio project to build again by adding all the RegExp files.
Review URL: http://codereview.chromium.org/13657

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

15 years agoSimplify the logic determining whether to report an exception.
olehougaard [Tue, 9 Dec 2008 10:36:31 +0000 (10:36 +0000)]
Simplify the logic determining whether to report an exception.
Review URL: http://codereview.chromium.org/13283

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

15 years agoFixing a bug where a try-finally block obscured a try-catch block when registering...
olehougaard [Tue, 9 Dec 2008 10:16:38 +0000 (10:16 +0000)]
Fixing a bug where a try-finally block obscured a try-catch block when registering an external try-catch handler.
Review URL: http://codereview.chromium.org/13658

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

15 years agoFixed compiler warning C4244 when compiling with the ARM simulator in Windows.
sgjesse@chromium.org [Tue, 9 Dec 2008 09:43:16 +0000 (09:43 +0000)]
Fixed compiler warning C4244 when compiling with the ARM simulator in Windows.
Review URL: http://codereview.chromium.org/13282

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

15 years agoMake Logger::SuspectReadEvent extract the class name from the object. This makes...
deanm@chromium.org [Tue, 9 Dec 2008 09:19:02 +0000 (09:19 +0000)]
Make Logger::SuspectReadEvent extract the class name from the object.  This makes the lone caller cleaner, and also avoids a tiny bit of work in the default case of not running with --log-suspect.

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

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

15 years agoFix build (someone tell gcc you can't take the address of a static
erik.corry@gmail.com [Tue, 9 Dec 2008 09:17:41 +0000 (09:17 +0000)]
Fix build (someone tell gcc you can't take the address of a static
const int and someone tell MSVC it's OK to define a static const int
in a .cc file).
Review URL: http://codereview.chromium.org/13656

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

15 years ago* Have an ASCII and a UC16 interpreter for Irregexp bytecodes -
erik.corry@gmail.com [Tue, 9 Dec 2008 08:30:49 +0000 (08:30 +0000)]
* Have an ASCII and a UC16 interpreter for Irregexp bytecodes -
  never have to convert an ASCII string to UC16 for Irregexp.
* Generate slightly different code when we know the subject string
  is ASCII.
Review URL: http://codereview.chromium.org/13247

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

15 years agoSkip some debugger related tests on ARM for nowas they have different behaviour based...
sgjesse@chromium.org [Mon, 8 Dec 2008 15:11:02 +0000 (15:11 +0000)]
Skip some debugger related tests on ARM for nowas they have different behaviour based on platform and mode. The debugger infrastructure is currently not working on the ARM platform. This also fix the "syntax" error of the previous change to mjsunit.status.
Review URL: http://codereview.chromium.org/13622

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

15 years agoChanged expectations on some ARM debugger tests after CL 933.
sgjesse@chromium.org [Mon, 8 Dec 2008 13:39:25 +0000 (13:39 +0000)]
Changed expectations on some ARM debugger tests after CL 933.
Review URL: http://codereview.chromium.org/13245

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

15 years agoMinor presentation changes
lrn@chromium.org [Mon, 8 Dec 2008 13:33:24 +0000 (13:33 +0000)]
Minor presentation changes

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

15 years agoIrregexp is specialized on subject character type.
lrn@chromium.org [Mon, 8 Dec 2008 12:43:01 +0000 (12:43 +0000)]
Irregexp is specialized on subject character type.

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

15 years agoFix trailing whitespace.
ager@chromium.org [Mon, 8 Dec 2008 11:23:38 +0000 (11:23 +0000)]
Fix trailing whitespace.

TBR=sgjesse
Review URL: http://codereview.chromium.org/13616

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

15 years agoFixes to IA32 code generator to cope with new
erik.corry@gmail.com [Mon, 8 Dec 2008 10:33:10 +0000 (10:33 +0000)]
Fixes to IA32 code generator to cope with new
code generation machinery.
Review URL: http://codereview.chromium.org/13244

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

15 years agoMake sure to set property attributes in GetProperty in the case of
ager@chromium.org [Mon, 8 Dec 2008 10:29:03 +0000 (10:29 +0000)]
Make sure to set property attributes in GetProperty in the case of
failed access checks.

Added assert to GetPropertyWithReceiver which was hit by our tests in
debug mode.
Review URL: http://codereview.chromium.org/13242

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

15 years agoMoved the builtins used by the debugger to a separate list.
sgjesse@chromium.org [Mon, 8 Dec 2008 10:16:57 +0000 (10:16 +0000)]
Moved the builtins used by the debugger to a separate list.
Review URL: http://codereview.chromium.org/13241

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

15 years agoIrregexp (bytecodes) don't forget to update current position
erik.corry@gmail.com [Mon, 8 Dec 2008 09:43:34 +0000 (09:43 +0000)]
Irregexp (bytecodes) don't forget to update current position
on a no-case successful backref.
Review URL: http://codereview.chromium.org/13615

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

15 years agoImprove speed of String.replace by around 33% by not constructing
erik.corry@gmail.com [Mon, 8 Dec 2008 09:22:24 +0000 (09:22 +0000)]
Improve speed of String.replace by around 33% by not constructing
sliced strings for the interstices of the matches.  This can be
speeded up further.
Review URL: http://codereview.chromium.org/13614

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

15 years agoIrregexp:
erik.corry@gmail.com [Mon, 8 Dec 2008 09:22:12 +0000 (09:22 +0000)]
Irregexp:
* Facility for generating a node several ways.  This allows
  code to be generated for a node knowing where it is trying
  to match relative to the 'current position' and it allows
  code to be generated that knows where to backtrack to.  Both
  allow dramatic reductions in the amount of popping and pushing
  on the stack and the number of indirect jumps.
* Generate special backtracking for greedy quantifiers on
  constant-length atoms.  This allows .* to run in constant
  space relative to input string size.
* When we are checking a long sequence of characters or character
  classes in the input then we do them right to left and only the
  first (rightmost) needs to check for end-of-string.
* Record the pattern in the profile instead of just <CompiledRegExp>
* Nodes no longer contain an on_failure_ node.  This was only used
  for lookaheads and they are now handled with a choice node instead.
Review URL: http://codereview.chromium.org/12900

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

15 years agoFix the Xcode build ARM targets.
iposva@chromium.org [Fri, 5 Dec 2008 22:27:22 +0000 (22:27 +0000)]
Fix the Xcode build ARM targets.

TBR=mark
Review URL: http://codereview.chromium.org/13187

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

15 years ago- Simplify the code slightly by using Max().
iposva@chromium.org [Fri, 5 Dec 2008 21:51:46 +0000 (21:51 +0000)]
- Simplify the code slightly by using Max().

TBR=kasperl

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

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

15 years agoFix lint error.
iposva@chromium.org [Fri, 5 Dec 2008 17:53:03 +0000 (17:53 +0000)]
Fix lint error.

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

15 years agoPartial fix for issue 173:
iposva@chromium.org [Fri, 5 Dec 2008 17:37:12 +0000 (17:37 +0000)]
Partial fix for issue 173:
- Do not keep growing the zone segment size exponentially. By putting
  an upper limit on the segment size we limit the requirements for
  contiguous memory allocation.

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

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

15 years agoFixing exception reporting so that a verbose TryCatch handler works again.
olehougaard [Fri, 5 Dec 2008 13:30:55 +0000 (13:30 +0000)]
Fixing exception reporting so that a verbose TryCatch handler works again.
Review URL: http://codereview.chromium.org/13173

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

15 years agoFixed the caching of counters. This also fixes the --dump-counters which reads the...
sgjesse@chromium.org [Fri, 5 Dec 2008 10:40:13 +0000 (10:40 +0000)]
Fixed the caching of counters. This also fixes the --dump-counters which reads the counters from the cache when dumping.
Review URL: http://codereview.chromium.org/13171

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

15 years agoExcluded test that fails in JSCRE.
lrn@chromium.org [Fri, 5 Dec 2008 10:04:40 +0000 (10:04 +0000)]
Excluded test that fails in JSCRE.

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

15 years agoChecking and reporting for stack overflow in the right places.
olehougaard [Fri, 5 Dec 2008 09:57:36 +0000 (09:57 +0000)]
Checking and reporting for stack overflow in the right places.
Review URL: http://codereview.chromium.org/12986

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

15 years agoMakes irregexp-ia32 feature complete wrt. regexps.
lrn@chromium.org [Fri, 5 Dec 2008 09:18:55 +0000 (09:18 +0000)]
Makes irregexp-ia32 feature complete wrt. regexps.

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

15 years agoAdded reporting compilation errors.
olehougaard [Fri, 5 Dec 2008 08:35:52 +0000 (08:35 +0000)]
Added reporting compilation errors.
Review URL: http://codereview.chromium.org/13125

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

15 years agoPull out revision 915 and 916 to get a green builder. I believe the
ager@chromium.org [Thu, 4 Dec 2008 14:35:31 +0000 (14:35 +0000)]
Pull out revision 915 and 916 to get a green builder.  I believe the
issue has been resolved and these changes can go back in along with
the fix tomorrow.

TBR=olehougaard
Review URL: http://codereview.chromium.org/12945

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

15 years agoAdded type method to the debug events.
sgjesse@chromium.org [Thu, 4 Dec 2008 13:39:07 +0000 (13:39 +0000)]
Added type method to the debug events.

Fixed handling of script break points past the length of the script.
Review URL: http://codereview.chromium.org/13126

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

15 years agoAdding a message test to deal with return in finally.
olehougaard [Thu, 4 Dec 2008 09:27:07 +0000 (09:27 +0000)]
Adding a message test to deal with return in finally.
Review URL: http://codereview.chromium.org/13122

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

15 years agoReporting uncaught errors at the boundary between C++ and JS instead of trying to...
olehougaard [Thu, 4 Dec 2008 08:47:31 +0000 (08:47 +0000)]
Reporting uncaught errors at the boundary between C++ and JS instead of trying to guess whether they get caught at the time of the throw.
Review URL: http://codereview.chromium.org/12901

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

15 years agoByteArrayProvider increments free-pointer correctly.
lrn@chromium.org [Thu, 4 Dec 2008 08:33:32 +0000 (08:33 +0000)]
ByteArrayProvider increments free-pointer correctly.

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

15 years agoEnable printing code generated for builtins in release mode when the
kmillikin@chromium.org [Thu, 4 Dec 2008 08:26:08 +0000 (08:26 +0000)]
Enable printing code generated for builtins in release mode when the
disassembler is enabled.  It's convenient to be able to see them.

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

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

15 years agoFixed lint error.
christian.plesner.hansen@gmail.com [Wed, 3 Dec 2008 16:21:19 +0000 (16:21 +0000)]
Fixed lint error.

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