platform/upstream/v8.git
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

15 years agoMade d8 console=readline work on leopard.
christian.plesner.hansen@gmail.com [Wed, 3 Dec 2008 15:51:16 +0000 (15:51 +0000)]
Made d8 console=readline work on leopard.

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

15 years agoPreparing to push to trunk.
ager@chromium.org [Wed, 3 Dec 2008 13:58:36 +0000 (13:58 +0000)]
Preparing to push to trunk.
Review URL: http://codereview.chromium.org/13091

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

15 years agoMatching a back-reference must handle unbound start-register (but can assume that...
lrn@chromium.org [Wed, 3 Dec 2008 13:24:34 +0000 (13:24 +0000)]
Matching a back-reference must handle unbound start-register (but can assume that if start register is bound, then end register is bound too).

After matching a back reference, the character position is advanced past
the match

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

15 years agoFollow jsc in throwing an exception when using test or exec on a
ager@chromium.org [Wed, 3 Dec 2008 12:47:21 +0000 (12:47 +0000)]
Follow jsc in throwing an exception when using test or exec on a
regexp with no input.

Fixed problem with assertThrows.

Deleted test that tests arbitrary limits on the sizes of regular
expressions.
Review URL: http://codereview.chromium.org/13088

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

15 years agoTwo tests in the Mozilla test suite pass due to a bug in the framework (compares...
lrn@chromium.org [Wed, 3 Dec 2008 12:44:13 +0000 (12:44 +0000)]
Two tests in the Mozilla test suite pass due to a bug in the framework (compares numbers to NaN with !=).
The tests should fail on V8. The tests are disabled until the framework is fixed.

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

15 years agoRemoved lots of new mozilla tests depending on "options" function.
lrn@chromium.org [Wed, 3 Dec 2008 10:21:50 +0000 (10:21 +0000)]
Removed lots of new mozilla tests depending on "options" function.
Options is used to exclude tests when running jit.

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

15 years agoAdded support in d8 for memory-mapped counters and added the python
christian.plesner.hansen@gmail.com [Wed, 3 Dec 2008 09:35:21 +0000 (09:35 +0000)]
Added support in d8 for memory-mapped counters and added the python
stats-viewer tool.

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

15 years agoAdded regexp-macro-assembler-tracer .cc and .h files to Visual Studio project to...
sgjesse@chromium.org [Tue, 2 Dec 2008 14:28:04 +0000 (14:28 +0000)]
Added regexp-macro-assembler-tracer .cc and .h files to Visual Studio project to make it build.
Review URL: http://codereview.chromium.org/13047

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

15 years agoFixed issue where regexps were parsed without having set up a zone
christian.plesner.hansen@gmail.com [Tue, 2 Dec 2008 14:00:24 +0000 (14:00 +0000)]
Fixed issue where regexps were parsed without having set up a zone
scope, leading to zone exhaustion.  Added assertion that a zone scope
exists on zone allocation.

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

15 years agoChange Windows daylight saving time calculations to
whessev8 [Tue, 2 Dec 2008 13:20:00 +0000 (13:20 +0000)]
Change Windows daylight saving time calculations to
use C stdlib local time functions, not Win32 functions.
Win32 time functions slowed down with Windows XP SP3.
Change all platforms to use equivalent years between 2008 and
2035 for years outside the range 1970..2037.
Review URL: http://codereview.chromium.org/12824

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

15 years agoChanged benchmark runners to always display at least three significant
christian.plesner.hansen@gmail.com [Tue, 2 Dec 2008 13:02:11 +0000 (13:02 +0000)]
Changed benchmark runners to always display at least three significant
digits in the results.

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

15 years agoBuilds on Windows too.
lrn@chromium.org [Tue, 2 Dec 2008 10:19:10 +0000 (10:19 +0000)]
Builds on Windows too.

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

15 years agoSet mime type on revisions.html.
christian.plesner.hansen@gmail.com [Tue, 2 Dec 2008 10:14:03 +0000 (10:14 +0000)]
Set mime type on revisions.html.

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

15 years agoAdded revisions page and moved change log there.
christian.plesner.hansen@gmail.com [Tue, 2 Dec 2008 10:08:39 +0000 (10:08 +0000)]
Added revisions page and moved change log there.

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

15 years agoOptimization of single character indexOf. Gives small improvement on GCC4.2, but...
lrn@chromium.org [Tue, 2 Dec 2008 09:50:39 +0000 (09:50 +0000)]
Optimization of single character indexOf. Gives small improvement on GCC4.2, but large improvement on GCC 4.3 (which was much worse on that particular code).

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

15 years ago- Fixed regexp logging issue.
christian.plesner.hansen@gmail.com [Tue, 2 Dec 2008 08:16:12 +0000 (08:16 +0000)]
- Fixed regexp logging issue.
- Removed use of std::set.

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

15 years agoUpdate Xcode project to contain the files for Irregexp.
iposva@chromium.org [Mon, 1 Dec 2008 23:06:09 +0000 (23:06 +0000)]
Update Xcode project to contain the files for Irregexp.

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

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

15 years ago- Added some expansion of assertions.
christian.plesner.hansen@gmail.com [Mon, 1 Dec 2008 15:42:35 +0000 (15:42 +0000)]
- Added some expansion of assertions.
- Splitting of character classes into word and non-word parts.
- A bunch of refactorings.
- Made dispatch table construction lazy.

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

15 years agoAdded checking in the regular expression parser that we're below the
christian.plesner.hansen@gmail.com [Mon, 1 Dec 2008 15:32:20 +0000 (15:32 +0000)]
Added checking in the regular expression parser that we're below the
stack limit and that the zone allocation limit hasn't been met.

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

15 years agoAllow the non-spec [a-\d] (i.e., ending a range with a character class) in RegExps.
lrn@chromium.org [Mon, 1 Dec 2008 14:29:28 +0000 (14:29 +0000)]
Allow the non-spec [a-\d] (i.e., ending a range with a character class) in RegExps.

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

15 years agoAdded assignment to variable after UNIMPLEMENTED macro, to keep compiler happy.
lrn@chromium.org [Mon, 1 Dec 2008 11:46:08 +0000 (11:46 +0000)]
Added assignment to variable after UNIMPLEMENTED macro, to keep compiler happy.

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

15 years agoFixes stray IA32-reference in ARM builds
lrn@chromium.org [Mon, 1 Dec 2008 10:17:24 +0000 (10:17 +0000)]
Fixes stray IA32-reference in ARM builds

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

15 years agoFixes (last?) bugs in regexp-ia32 core functionality. All tests run!
lrn@chromium.org [Mon, 1 Dec 2008 09:57:14 +0000 (09:57 +0000)]
Fixes (last?) bugs in regexp-ia32 core functionality. All tests run!

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

15 years agoRemove a couple of instances of wchar_t after counters change.
ager@chromium.org [Mon, 1 Dec 2008 07:56:57 +0000 (07:56 +0000)]
Remove a couple of instances of wchar_t after counters change.

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

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

15 years agoCommiting Evan's change to use char instead of wchar_t for counter names.
ager@chromium.org [Mon, 1 Dec 2008 07:40:43 +0000 (07:40 +0000)]
Commiting Evan's change to use char instead of wchar_t for counter names.

Code review URL:

  http://codereview.chromium.org/13011/show

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

15 years agoFix issue http://code.google.com/p/v8/issues/detail?id=166 which I have run
iposva@chromium.org [Sun, 30 Nov 2008 00:19:08 +0000 (00:19 +0000)]
Fix issue code.google.com/p/v8/issues/detail?id=166 which I have run
across as well.

TBR=plesner

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

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

15 years agoFix build error in debug mode by making sure the tracer has the
erik.corry@gmail.com [Fri, 28 Nov 2008 12:11:36 +0000 (12:11 +0000)]
Fix build error in debug mode by making sure the tracer has the
new method too.
Fix spacing in tracer.
Review URL: http://codereview.chromium.org/12806

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

15 years agoAdd an operation that checks whether we are at the start of the string.
erik.corry@gmail.com [Fri, 28 Nov 2008 11:48:22 +0000 (11:48 +0000)]
Add an operation that checks whether we are at the start of the string.
Review URL: http://codereview.chromium.org/10998

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

15 years ago* Remove an unused layer of abstraction by not having both a macro assembler and
erik.corry@gmail.com [Fri, 28 Nov 2008 10:37:06 +0000 (10:37 +0000)]
* Remove an unused layer of abstraction by not having both a macro assembler and
  an assembler when compiling to bytecode.  This fixes
  http://code.google.com/p/v8/issues/detail?id=165
* Preload the 'current character' register when starting a match (byte code only
  at the moment).
Review URL: http://codereview.chromium.org/10995

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

15 years agoCalling native irregexp now returns captures correctly.
lrn@chromium.org [Fri, 28 Nov 2008 09:51:26 +0000 (09:51 +0000)]
Calling native irregexp now returns captures correctly.
Reduces failing tests in native mode to 2(!)

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