ager@chromium.org [Thu, 22 Jan 2009 14:00:23 +0000 (14:00 +0000)]
Apply Jeff Bailey's patch to use %p instead of %i to print pointer
values.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1128
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 22 Jan 2009 13:53:06 +0000 (13:53 +0000)]
Fix handling of const initialization. We did not handle the fact that
a const variable can be deleted between its declaration and its
initialization.
This fixes issue 189:
http://code.google.com/p/v8/issues/detail?id=189
Review URL: http://codereview.chromium.org/18660
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1127
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 22 Jan 2009 13:20:31 +0000 (13:20 +0000)]
Added handling of hidden prototype objects when collecting local properties for an object mirror. The property names provided by an object mirror now includes all properties from the object and any hidden prototypes merged together.
Changed the name of Runtime_GetPrototype to Runtime_DebugGetPrototype to indicate that it is a debugger related function and changed its implementation to do the correct __proto__ lookup.
Added some more information to the Map debug print.
Review URL: http://codereview.chromium.org/18658
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1126
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 22 Jan 2009 12:52:39 +0000 (12:52 +0000)]
Fix incorrect issue number.
Review URL: http://codereview.chromium.org/18493
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1124
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Thu, 22 Jan 2009 12:12:15 +0000 (12:12 +0000)]
Avoid memmove when emitting operands in the assembler
and get rid of the mutability of the Operand byte buffer.
Review URL: http://codereview.chromium.org/18656
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1123
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 22 Jan 2009 10:37:09 +0000 (10:37 +0000)]
RegExp parser forgot to advance after reading \c in character class. I.e., \cM was interpreted as \ccM.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1122
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 22 Jan 2009 09:05:00 +0000 (09:05 +0000)]
Irregexp-32 frame-align code uses a register. This is no longer hard-coded to ebx.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1120
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 22 Jan 2009 08:31:40 +0000 (08:31 +0000)]
Check for valid frame number when processing the debugger frame request.
BUG=
1250705
Review URL: http://codereview.chromium.org/18492
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1119
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Wed, 21 Jan 2009 14:43:10 +0000 (14:43 +0000)]
Marked ascii-regexp-subject as flaky on arm for now. The cause of
this failure is that this test depends on a particular optimization in
jscre that we don't yet have, but that we will get very soon.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1118
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Wed, 21 Jan 2009 13:16:03 +0000 (13:16 +0000)]
Enabled irregexp by default. I have deliberately made this change
minimal so it's easier to revert partially or fully.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1117
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 21 Jan 2009 09:32:07 +0000 (09:32 +0000)]
Changes to the mirror handling
When getting properties for the global object proxy the properties from the global object are returned.
Script objects now have handles and are serialized by reference.
Added special handling for NaN.
Review URL: http://codereview.chromium.org/18445
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1116
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 21 Jan 2009 08:20:40 +0000 (08:20 +0000)]
Fix endianism issues in regexp interpreter.
Review URL: http://codereview.chromium.org/18613
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1115
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 21 Jan 2009 08:08:15 +0000 (08:08 +0000)]
Fix an unsound use of a string shape in the parser.
Review URL: http://codereview.chromium.org/18612
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1114
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 20 Jan 2009 18:58:30 +0000 (18:58 +0000)]
Lint fixes.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1112
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 20 Jan 2009 18:50:01 +0000 (18:50 +0000)]
* Irregexp: Move from a byte-oriented bytecode format to a 32-bit oriented
bytecode format. This provides a nice speedup on Intel and probably an
even better one on ARM. Also removes the 256-register limitation on the
interpreter.
Review URL: http://codereview.chromium.org/18363
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1111
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Tue, 20 Jan 2009 14:14:22 +0000 (14:14 +0000)]
Added -p option to d8 that runs a list of source files in a separate
thread with preemption enabled.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1110
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 20 Jan 2009 13:27:11 +0000 (13:27 +0000)]
Added missing property types to debug print.
Review URL: http://codereview.chromium.org/18405
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1109
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 20 Jan 2009 11:36:28 +0000 (11:36 +0000)]
Optimization: The quick check should ignore the negative lookahead instead of
insisting that it should match.
Review URL: http://codereview.chromium.org/18360
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1106
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 19 Jan 2009 18:56:47 +0000 (18:56 +0000)]
Add support for \b and ^ and $ in multiline mode, completing Irregexp
features. Switch on Irregexp by default.
Review URL: http://codereview.chromium.org/18193
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1104
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 19 Jan 2009 15:55:56 +0000 (15:55 +0000)]
Prepare to push minor change to trunk as version 0.4.8.1. Stillworking on 0.4.9.
Review URL: http://codereview.chromium.org/18353
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1102
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 19 Jan 2009 15:21:41 +0000 (15:21 +0000)]
Changes to the V8 debugger support which otherwise caused problems with Chrome.
Added quoting of the name of the ref property using {"ref":1} instead of {ref:1}. The Chrome C++ JSON parser implementation requires quoted property names.
Changed the JSON format for non finite numbers. The previous formatting using NaN, Infinite and -Infinite caused the Chrome C++ JSON parser implementation to fail. Values "NaN", "Infinite" and "-Infinite" (incuding quotes) are now used.
Reverted changes to DebugLookupResultValue (runtime.cc) from http://codereview.chromium.org/17377. The change caused callback into Chrome with the current V8 context expected to have a DOM Window global object. This is not the case when the debugger context is the active context. This causes properties from interceptors and accessors to be reported as undefined in the debugger.
Review URL: http://codereview.chromium.org/18194
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1101
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Sat, 17 Jan 2009 01:08:54 +0000 (01:08 +0000)]
Fix Xcode project:
- Add regexp-stack.[cpp|h]
Review URL: http://codereview.chromium.org/18344
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1100
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olehougaard [Fri, 16 Jan 2009 14:53:36 +0000 (14:53 +0000)]
Reverting change that made flexo sad.
TBR=ager
Review URL: http://codereview.chromium.org/18150
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1099
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olehougaard [Fri, 16 Jan 2009 14:12:56 +0000 (14:12 +0000)]
Writing snapshot.cc in a form that can be compiled by the crosstool compiler.
Changed a cast that caused alignment problems on ARM.
Review URL: http://codereview.chromium.org/18312
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1098
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 16 Jan 2009 10:09:55 +0000 (10:09 +0000)]
Prepare push to trunk. Now working on version 0.4.9.
Review URL: http://codereview.chromium.org/18310
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1094
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 16 Jan 2009 09:54:46 +0000 (09:54 +0000)]
Added handles to the mirror objects. When a mirror for an object is created
it is assigned a numeric handle. Handles are used to make a 1:1
correspondence between objects and mirrors. Currently the mirrors are
cached in a JavaScript array and when creating a mirror this cache is
checked to see if a mirror already exists for the object. This cache is
cleared when leaving the debugger.
Changed the serialization format to take advantage of these handles. When
an object is serialized referenced objects are represented just by their
handle id serialized as '{ref:<handle>}'. During serialization the
referenced handles are collected and the serializer can provide a
serialization of all the referenced objects.
Removed the special handling of array properties. Indexed properties and
the length property are now rendered as named properties in the
serialization.
Removed the special serialization handling of RegExp properties. The
properties 'source', 'global', 'ignoreCase' and 'multiline' are serialized
with the rest of the properties.
Changed a lot of tests to handle the changed format.
Review URL: http://codereview.chromium.org/18092
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1093
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 16 Jan 2009 09:43:42 +0000 (09:43 +0000)]
Change the file names of a couple of tests for consistency.
Review URL: http://codereview.chromium.org/18142
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1092
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 16 Jan 2009 09:42:08 +0000 (09:42 +0000)]
Change the handling of catch blocks to use context extension objects
instead of normal JSObjects.
This ensures that __proto__ and accessors on the Object prototype do
not interfere with catch scopes. Also, it fixes the bug that catch
variables were not DontDelete (issue 74).
Next step is to create special lookup routines for context extension
objects and remove the special handling of context extension objects
from the general javascript object lookup routines.
Review URL: http://codereview.chromium.org/18143
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1091
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
feng@chromium.org [Thu, 15 Jan 2009 19:42:51 +0000 (19:42 +0000)]
Avoid using sprintf_s, which is windows-only.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1089
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
deanm@chromium.org [Thu, 15 Jan 2009 19:08:34 +0000 (19:08 +0000)]
Fix a bunch of spelling mistakes :\
Review URL: http://codereview.chromium.org/18094
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1088
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
feng@chromium.org [Thu, 15 Jan 2009 17:39:23 +0000 (17:39 +0000)]
Fix issue 6264 with a test case.
The problem is that Disable/EnableAccessCheck on an object may chnage its constructor's behavior
if object's map is the same as constructor's initial map. By copying maps, the constructor's
initial map is not changed.
Review URL: http://codereview.chromium.org/18067
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1087
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 15 Jan 2009 13:09:23 +0000 (13:09 +0000)]
Lint error.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1081
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 15 Jan 2009 12:45:48 +0000 (12:45 +0000)]
Noone really liked the name "GenerationVariant" so here it gets renamed
to "Trace".
Review URL: http://codereview.chromium.org/18091
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1080
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 15 Jan 2009 12:29:05 +0000 (12:29 +0000)]
Reverted r1078 as it was committed by accident without review.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1079
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 15 Jan 2009 12:10:34 +0000 (12:10 +0000)]
Added handles to the mirror objects. When a mirror for an object is created it is assigned a numeric handle. Handles are used to make a 1:1 correspondence between objects and mirrors. Currently the mirrors are cached in a JavaScript array and when creating a mirror this cache is checked to see if a mirror already exists for the object. This cache is cleared when leaving the debugger.
Changed the serialization format to take advantage of these handles. When an object is serialized referenced objects are represented just by their handle id serialized as '{ref:<handle>}'. During serialization the referenced handles are collected and the serializer can provide a serialization of all the referenced objects.
Removed the special handling of array properties. Indexed properties and the length property are now rendered as named properties in the serialization.
Removed the special serialization handling of RegExp properties. The properties 'source', 'global', 'ignoreCase' and 'multiline' are serialized with the rest of the properties.
Changed a lot of tests to handle the changed format.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1078
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 15 Jan 2009 11:31:08 +0000 (11:31 +0000)]
Fix issue 191:
http://code.google.com/p/v8/issues/detail?id=191
Accessor setters should not be called for eval-introduced context
extension objects.
This change fixes the issue, but I think it is time to separate out
the lookup routines for eval-introduced context extension objects.
There is no reason to use the general lookup routines for this. I'll
do that in a separate changelist.
Review URL: http://codereview.chromium.org/18090
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1076
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olehougaard [Thu, 15 Jan 2009 08:32:50 +0000 (08:32 +0000)]
Fixed some external references in the ARM code generator to use an ExternalReference wrapper.
Review URL: http://codereview.chromium.org/18266
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1074
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 14 Jan 2009 12:13:26 +0000 (12:13 +0000)]
Fix issue 186:
http://code.google.com/p/v8/issues/detail?id=186
Create a new instance type for context extension objects. Use it to
not use the __proto__ accessor for context extension objects.
Review URL: http://codereview.chromium.org/18044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1072
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Wed, 14 Jan 2009 11:48:52 +0000 (11:48 +0000)]
Fixed test failure caused by being more conservative in estimating the
length of expressions containing backreferences. Bad plesner for
forgetting to run the tests before submitting!
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1071
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Wed, 14 Jan 2009 11:32:23 +0000 (11:32 +0000)]
Added clearing of captures before entering the body of a loop. This
also revealed a bug or two that had to be fixed.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1070
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 14 Jan 2009 09:20:13 +0000 (09:20 +0000)]
Add failing test for issue 186:
http://code.google.com/p/v8/issues/detail?id=186
The issue is that the extension object is a normal javascript object
on which assignments to __proto__ changes the prototype chain.
Review URL: http://codereview.chromium.org/18221
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1069
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 13 Jan 2009 14:38:44 +0000 (14:38 +0000)]
Refactored the mirror representation of properties. Removed the AssessorMirror and InterceptorPropertyMirror and moved all reflection for properties to PropertyMirror. From a PropertyMirror it can be checked whether a property has getter/setter defined in JavaScript and information on the getter/setter functions are now available. If calling the getter resulted in an exception this is reflected as well.
Properties from interceptors are also reflected through PropertyMirror as the distinction did not make sense seen from a JavaScript debugging perspective. The isNative function on a PropertyMirror can be used to check whether a property is defined natively by the host (or V8).
Simplified the local property lookup in the debug runtime call to just call GetProperty as the property is known to be a local property.
Review URL: http://codereview.chromium.org/17377
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1068
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olehougaard [Tue, 13 Jan 2009 14:38:12 +0000 (14:38 +0000)]
Avoiding the assumption that the pc pointer of RelocInfo points to the word containing the target address. It wasn't true for ARM. (One step closer to serialization on ARM).
Review URL: http://codereview.chromium.org/17376
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1067
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 13 Jan 2009 10:16:02 +0000 (10:16 +0000)]
The "enter" opcode was slow and crashes for large arguments on Windows.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1066
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 13 Jan 2009 09:27:47 +0000 (09:27 +0000)]
Fix benchmarks to not format scores that are really errors.
Uploading for Kasper.
Review URL: http://codereview.chromium.org/17641
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1061
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 13 Jan 2009 09:23:26 +0000 (09:23 +0000)]
Unsigned number can't be negated in the VisualStudio compiler.
Fixed a few earlier review comments that had slipped through.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1060
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olehougaard [Tue, 13 Jan 2009 07:37:53 +0000 (07:37 +0000)]
Introducing a kUninitialized constant used for clearing the function cache.
Review URL: http://codereview.chromium.org/17639
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1057
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olehougaard [Tue, 13 Jan 2009 07:13:33 +0000 (07:13 +0000)]
Do not cache functions until we know they are fully constructed. This is needed in case of a stack overflow during construction.
Review URL: http://codereview.chromium.org/17354
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1056
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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