platform/upstream/v8.git
15 years agoEliminate the code that handles fallback to JSCRE. The only way to get
erik.corry@gmail.com [Mon, 26 Jan 2009 20:09:35 +0000 (20:09 +0000)]
Eliminate the code that handles fallback to JSCRE.  The only way to get
JSCRE now is to use the --noirregexp flag.  Also add code to check that
we react sensibly to some very large regexps.
Review URL: http://codereview.chromium.org/18587

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

15 years agoReduce work done in EatsAtLeast to a sane level.
erik.corry@gmail.com [Mon, 26 Jan 2009 19:38:26 +0000 (19:38 +0000)]
Reduce work done in EatsAtLeast to a sane level.
Review URL: http://codereview.chromium.org/18753

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

15 years agoPut code and data pieces in their own sections.
deanm@chromium.org [Mon, 26 Jan 2009 19:32:01 +0000 (19:32 +0000)]
Put code and data pieces in their own sections.

This makes --gc-sections perform better, as the GC operates on whole sections.  This makes a worthwhile binary size decrease in the Chromium Linux build.

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

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

15 years agoFix white space issues.
iposva@chromium.org [Mon, 26 Jan 2009 18:23:01 +0000 (18:23 +0000)]
Fix white space issues.

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

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

15 years ago- Preserve bootstrapper state across thread switches (fixes issue 143).
iposva@chromium.org [Mon, 26 Jan 2009 18:09:46 +0000 (18:09 +0000)]
- Preserve bootstrapper state across thread switches (fixes issue 143).
- Make sure stack guards are properly setup even when preemption is active.
- Fix missing v8::Locker and v8::Unlocker use in d8.cc.
- Threads forked in d8 do get their own context setup.

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

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

15 years agoA field might be incorrectly set, causing registers to be pushed and popped
lrn@chromium.org [Mon, 26 Jan 2009 15:26:44 +0000 (15:26 +0000)]
A field might be incorrectly set, causing registers to be pushed and popped
instead of just cleared on backtrack - or, worse, the other way around!

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

15 years agoMake sure that the prototype of the initial map is created in the
ager@chromium.org [Mon, 26 Jan 2009 15:09:44 +0000 (15:09 +0000)]
Make sure that the prototype of the initial map is created in the
right context.

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

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

15 years agoIrregexp: Backtrack past look-aheads works correctly.
lrn@chromium.org [Mon, 26 Jan 2009 14:38:17 +0000 (14:38 +0000)]
Irregexp: Backtrack past look-aheads works correctly.
Allows backtracking to clear registers instead of pushing and popping
them to restore state.
Redo of 1135 with bug fixed.

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

15 years agoSet ARM expectations for new debugger test.
sgjesse@chromium.org [Mon, 26 Jan 2009 14:26:14 +0000 (14:26 +0000)]
Set ARM expectations for new debugger test.
Review URL: http://codereview.chromium.org/18755

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

15 years agoAdded a simple wrapping of the debugger JSON responses.
sgjesse@chromium.org [Mon, 26 Jan 2009 14:03:03 +0000 (14:03 +0000)]
Added a simple wrapping of the debugger JSON responses.

Added a 'dir' command to the command line debugger to display the details of an object including the handle number for the object and the objects that it references.

Added the ability to use #XXX# to a 'print' or 'dir' request. XXX is the handle number for the object.
Review URL: http://codereview.chromium.org/18589

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

15 years agoAdded a lookup request to the debugger protocol to retreive an object from it's handle.
sgjesse@chromium.org [Mon, 26 Jan 2009 13:44:37 +0000 (13:44 +0000)]
Added a lookup request to the debugger protocol to retreive an object from it's handle.

Added a test for testing handles when using both the 'evaluate' and the 'lookup' request.
Review URL: http://codereview.chromium.org/18752

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

15 years agoReintroduced a fix for an alignment issue on ARM. I had reverted it by mistake. This...
olehougaard [Mon, 26 Jan 2009 13:21:49 +0000 (13:21 +0000)]
Reintroduced a fix for an alignment issue on ARM. I had reverted it by mistake. This fixes the serialization test suite on ARM.
Review URL: http://codereview.chromium.org/18751

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

15 years agoFix issue 192 by propagating out exceptions from object literal
ager@chromium.org [Mon, 26 Jan 2009 13:10:26 +0000 (13:10 +0000)]
Fix issue 192 by propagating out exceptions from object literal
boilerplate creation.

Removed declaration of unused and unimplemented function.
Review URL: http://codereview.chromium.org/18749

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

15 years ago* Remember to check for end of string even where we
erik.corry@gmail.com [Mon, 26 Jan 2009 13:04:49 +0000 (13:04 +0000)]
* Remember to check for end of string even where we
  know the character class must match.
Thanks to Mads and Christian for finding this bug
Review URL: http://codereview.chromium.org/18750

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

15 years agoFixing alignment issue allowing serialization to run on ARM.
olehougaard [Mon, 26 Jan 2009 11:33:12 +0000 (11:33 +0000)]
Fixing alignment issue allowing serialization to run on ARM.
Review URL: http://codereview.chromium.org/18746

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

15 years agoHandle strndup in freebsd in the same way it is handled on other
ager@chromium.org [Mon, 26 Jan 2009 11:28:51 +0000 (11:28 +0000)]
Handle strndup in freebsd in the same way it is handled on other
platforms that do not support it directly.
Review URL: http://codereview.chromium.org/18585

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

15 years agoFixes two lint errors in codegen-ia32.cc.
whessev8 [Mon, 26 Jan 2009 10:32:39 +0000 (10:32 +0000)]
Fixes two lint errors in codegen-ia32.cc.
Review URL: http://codereview.chromium.org/18743

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

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

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

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

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

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

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

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

TBR=fqian

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

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

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

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

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

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

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

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

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

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

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

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

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

This fixes issue 201:

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

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

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

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

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

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

This fixes V8 issue 193:

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

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

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

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

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

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

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

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

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

This fixes issue 189:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Script objects now have handles and are serialized by reference.

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

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

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

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

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

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

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

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

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

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

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

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

15 years agoAdded missing property types to debug print.
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

15 years agoOptimization: The quick check should ignore the negative lookahead instead of
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

15 years agoAdd support for \b and ^ and $ in multiline mode, completing Irregexp
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

15 years agoPrepare to push minor change to trunk as version 0.4.8.1. Stillworking on 0.4.9.
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

15 years agoChanges to the V8 debugger support which otherwise caused problems with Chrome.
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

15 years agoFix Xcode project:
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

15 years agoReverting change that made flexo sad.
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

15 years agoWriting snapshot.cc in a form that can be compiled by the crosstool compiler.
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

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

15 years agoAdded handles to the mirror objects. When a mirror for an object is created
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

15 years agoChange the file names of a couple of tests for consistency.
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

15 years agoChange the handling of catch blocks to use context extension objects
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

15 years agoAvoid using sprintf_s, which is windows-only.
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

15 years agoFix a bunch of spelling mistakes :\
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

15 years agoFix issue 6264 with a test case.
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

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

15 years agoNoone really liked the name "GenerationVariant" so here it gets renamed
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

15 years agoReverted r1078 as it was committed by accident without review.
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

15 years agoAdded handles to the mirror objects. When a mirror for an object is created it is...
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

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

15 years agoFixed some external references in the ARM code generator to use an ExternalReference...
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

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

15 years agoFixed test failure caused by being more conservative in estimating the
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

15 years agoAdded clearing of captures before entering the body of a loop. This
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

15 years agoAdd failing test for issue 186:
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

15 years agoRefactored the mirror representation of properties. Removed the AssessorMirror and...
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

15 years agoAvoiding the assumption that the pc pointer of RelocInfo points to the word containin...
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

15 years agoThe "enter" opcode was slow and crashes for large arguments on Windows.
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

15 years agoFix benchmarks to not format scores that are really errors.
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

15 years agoUnsigned number can't be negated in the VisualStudio compiler.
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

15 years agoIntroducing a kUninitialized constant used for clearing the function cache.
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

15 years agoDo not cache functions until we know they are fully constructed. This is needed in...
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

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

16 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

16 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

16 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

16 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