Commit Graph

2707 Commits

Author SHA1 Message Date
erik.corry@gmail.com
9fd33e74f5 Speed up no-capture case for RegExp.exec().
Review URL: http://codereview.chromium.org/669161

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-08 08:49:14 +00:00
peter.rybin@gmail.com
a934eb1523 Quick fix for r4045
Review URL: http://codereview.chromium.org/668203

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-06 01:21:34 +00:00
erik.corry@gmail.com
00a44ae51a Make more use of the NumberInfo data.
Makes NumberInfo into a real class.
Fix bug where NumberInfo was lost in ToRegister.
Allow 17 bits in safe Smis instead of 16.
Review URL: http://codereview.chromium.org/668151

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4046 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 23:54:13 +00:00
peter.rybin@gmail.com
77d63cc29e Basic implementation of liveedit feature
Review URL: http://codereview.chromium.org/652027

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 22:08:58 +00:00
antonm@chromium.org
85632fca35 Explicitly release allocated memory as Vector doesn't do that in dtor.
Review URL: http://codereview.chromium.org/669164

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 16:46:39 +00:00
antonm@chromium.org
1bc04768a9 An attempt to fix the tests.
TBR=sgjesse@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 15:07:53 +00:00
sgjesse@chromium.org
df4471c8f3 Fix stack tweaking in array allocation
When Array(0) or new Array(0) is handled by the generated code it is handled
by the same code as Array() and new Array(). For this to work the stack is
tweaked to remove the argument of value 0. However the argc was still passed
as 1 if a call to the runtime system was made.

When the stack is tweaked argc is also changed to 0.

BUG=634
TEST=test/mjsunittest/mjsunit/regress/regress-634.js
Review URL: http://codereview.chromium.org/668155

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 13:43:53 +00:00
kasperl@chromium.org
b83ca84d8f Revert r4029.
Review URL: http://codereview.chromium.org/668153

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 13:35:59 +00:00
vitalyr@chromium.org
48cc7ed3b0 Fixed filling of char array in StringToArray.
Review URL: http://codereview.chromium.org/669159

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 13:33:33 +00:00
vitalyr@chromium.org
9ce2f728d5 Removed dangerous Factory::NewUninitializedFixedArray.
This was used in runtime StringToArray function which I simplified
keeping its performance for ascii strings.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 12:30:59 +00:00
antonm@chromium.org
8c2c7fde17 Fixing style of variable names.
Review URL: http://codereview.chromium.org/668149

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4034 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 11:19:37 +00:00
kasperl@chromium.org
503c7ee70e Try to let the context disposal GC at idle time have less
impact on the normal idle notification scheme by making sure
we do not restart the idle GC sequence just because of a
forced GC due to context disposal.
Review URL: http://codereview.chromium.org/669150

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 08:58:59 +00:00
kasperl@chromium.org
95795db1f5 Try to allow the new context disposal GC heuristic to kick
in even when running with --expose-gc.
Review URL: http://codereview.chromium.org/668143

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 07:35:06 +00:00
antonm@chromium.org
61d2ebde63 Fix invalid fast return in splice when returned array is empty.
TBR=vitalyr@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 22:16:58 +00:00
antonm@chromium.org
56eb46e096 Fix a special case (zero length result array).
Review URL: http://codereview.chromium.org/669075

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 21:29:33 +00:00
vitalyr@chromium.org
05a74e8131 Add runtime function for string to array conversion.
Review URL: http://codereview.chromium.org/669060

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 14:03:08 +00:00
kasperl@chromium.org
8c086c50dd Try to fix issue 632 by being more careful in the locking/unlocking
in the test-log/ProfMultipleThreads.
Review URL: http://codereview.chromium.org/669058

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 13:25:23 +00:00
ricow@chromium.org
d3cf6cbf75 Added new ia32 assembler instructions to the diassembler from Math.pow inline implementation.
Review URL: http://codereview.chromium.org/668056

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 12:51:49 +00:00
mikhail.naganov@gmail.com
6df83af604 [Linux] Patch LogSharedLibraryAddresses to work correctly on Android.
On 'usual' Linux systems in '/proc/self/maps' we encounter two entries
per library: one has 'rw-p' attrs and the other has 'r-xp'. While on
Android, I see 'rwxp' and 'r-xp' (both entries are marked executable.)
So I've added an explicit check for non-writability to leave only a
single record in the log file.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 12:32:47 +00:00
mikhail.naganov@gmail.com
af3fc27613 Assign to "sample.state" before reading it.
I noticed a funny thing: in StackTracer::Trace "sample.state" is
checked, but it is only assigned after the check. I've put assignment
before the check.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 12:32:03 +00:00
ager@chromium.org
fe3b875577 Add IsExecutionTerminating api method.
IsExecutionTerminating returns true if a termination exception is
currently being propagated.  C++ code should not reenter V8 when
IsExecutionTerminating returns true.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 12:13:04 +00:00
bak@chromium.org
9f85caeb2d - Fixed the compilation cache so Put works.
- Cleaned up the calls to HashTable::Allocate.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 11:27:28 +00:00
iposva@chromium.org
7e163d2552 - Rearrange fields in SharedFunctionInfo.
Review URL: http://codereview.chromium.org/669051

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 09:55:04 +00:00
whesse@chromium.org
f4190f9876 Change heap sort of descriptor array to bottom-up.
Review URL: http://codereview.chromium.org/661470

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 09:27:45 +00:00
kasperl@chromium.org
5cee8eeb3d Nasty workaround for bug 632.
Review URL: http://codereview.chromium.org/669045

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 07:43:05 +00:00
vitalyr@chromium.org
6e32048eda Fast case conversion for ascii strings.
Review URL: http://codereview.chromium.org/660455

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4011 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-03 16:40:29 +00:00
bak@chromium.org
1334adbd40 - Changed the initial size for HashTable.
- Pretenured large expanding hash tables.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-03 16:22:17 +00:00
oleg@chromium.org
d49a5db0a4 Fix broken test in WebKit test suite and add the test in question to V8 tests.
Review URL: http://codereview.chromium.org/661466

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-03 14:19:04 +00:00
lrn@chromium.org
d51f2c96cb Added implementation if Uint32::Value.
Review URL: http://codereview.chromium.org/661275

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-03 13:44:20 +00:00
sgjesse@chromium.org
fca7b2cefa Refactor the scanner interface
No need to create sub strings for lazy compiles. The scanner will start from the start position provided.

Moved the creating of character streams into the scanner where possible. This uses a input buffer in the scanner class instead of a stack allocated one.

Added a UTF16 buffer for reading external ascii strings (by templating the external two byte string one) as all the source for the builtins are exposed as external ascii strings.
Review URL: http://codereview.chromium.org/661367

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-03 13:16:10 +00:00
fschneider@chromium.org
b0e9a9203f Remove a duplicated move instruction for store IC calls on ia32.
Review URL: http://codereview.chromium.org/661461

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4004 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-03 11:43:45 +00:00
kasperl@chromium.org
c309a63369 Remove the deprecated context disposal GC heuristic.
Review URL: http://codereview.chromium.org/661458

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-03 11:41:22 +00:00
vitalyr@chromium.org
9f681fa9d6 Small API improvements:
* Added Get and Set taking uint32_t for faster and more convenient
   access to elements.

 * Added less verbose casting for handles. Now instead of
       v8::Local<v8::String>::Cast(args[0])
   one can write
       args[0].As<v8::String>().

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 18:47:03 +00:00
oleg@chromium.org
99e67e0e77 Prevent "control reaches end of non-void function" warning from gcc on Mac.
Review URL: http://codereview.chromium.org/660379

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 14:44:01 +00:00
oleg@chromium.org
96ff21c703 Fix minor syntax error which broke the compilation.
TBR=whesse@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 14:32:31 +00:00
oleg@chromium.org
5e0763efd5 Revert change to EquivalentTime in date.js. The checks that I've removed in the last changed were essential after all.
Review URL: http://codereview.chromium.org/660375

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 14:19:34 +00:00
whesse@chromium.org
7657955f3f Add syntax checker for side-effect-free expressions to AstOptimizer in rewriter.cc. Add bit fields for syntax checker results to Expression in ast.h.
Review URL: http://codereview.chromium.org/660372

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3998 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 14:00:59 +00:00
oleg@chromium.org
b021997f81 Rewrite MakeDay function from JS to C++.
Review URL: http://codereview.chromium.org/661366

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 13:29:26 +00:00
antonm@chromium.org
bfe1f02c3f Add cld before doing rep movs.
Review URL: http://codereview.chromium.org/661368

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 13:22:04 +00:00
antonm@chromium.org
38acad676a Faster filling newly allocated arrays with the holes from the Array construction stub.
Review URL: http://codereview.chromium.org/661245

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 12:42:15 +00:00
bak@chromium.org
6bee49ddda - Changed the growth policy for hash tables to reduce the wasted memory.
Now we fill hashtables 75% before expanding.
  
Review URL: http://codereview.chromium.org/660373

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 12:27:11 +00:00
sgjesse@chromium.org
d960bd2c4b Re-introduce this as a trivial expression
The reverts r3939 as it turned out not be the root cause for the regression http://crbug.com/36604.
Review URL: http://codereview.chromium.org/661365

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 11:58:10 +00:00
erik.corry@gmail.com
c2106c13fc Allow snapshots built without -DANDROID to work on Android.
Fix bug in fast code generator on ARM (can't use ip as scratch
in RecordWrite).
Activate normal-sized compilation cache on Android.
This is a port of 3938 from the partial snapshots branch.
Review URL: http://codereview.chromium.org/652227

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 11:54:11 +00:00
fschneider@chromium.org
5183607d81 Implementation of a fixed-size bit vector.
This is a basic implementation bit vector containing an fixed 
arbitrary number of bits.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 10:43:46 +00:00
mikhail.naganov@gmail.com
16b34b8c6e Parametrize C++ splay tree with allocator.
Thus, now there is a "generic" SplayTree and its Zone-bound
specialization ZoneSplayTree.

This is needed for my reimplementation of profiler tree generation in
C++. As generation is performed in a separate thread, Zone can't be
used, because it intentionally not thread-safe.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 10:03:38 +00:00
peter.rybin@gmail.com
aec90d099e Enable GC update for pointers in GenerateKeyedLoadICDebugBreak
Review URL: http://codereview.chromium.org/660257

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-01 17:26:46 +00:00
kaznacheev@chromium.org
7d58852374 Implementing inline caches for binary operations (ia32).
This is a subset of a CL reviewed earlier(http://codereview.chromium.org/551093).
The register usage optimisation part has been reviewed and submitted separately.
Two fast cases supported: HeapNumber operands and String operands for ADD.


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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-01 16:24:05 +00:00
antonm@chromium.org
d4cb1ba3c5 Faster moving FixedArray elements around.
Review URL: http://codereview.chromium.org/660245

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-01 15:33:30 +00:00
mikhail.naganov@gmail.com
b7f0608c9a Logging-related changes.
- when logging 'open-tag' / 'close-tag' events, don't depend on
   FLAG_log (as it may be not enabled, e.g. in Chromium);

 - PauseProfiler / ResumeProfiler were supposing that they
   use 'is_logging_' var exclusively, thus preventing any
   other logging that may be turned on for diagnostic purposes.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-01 10:41:34 +00:00
kasperl@chromium.org
a60beefd1b Tweak the new context disposal GC heuristic to cleanly separate
it from the old heuristic (disabled if the new notications are 
used) and make sure to not force a GC if one has already happened
after V8 received the last context disposal notification.
Review URL: http://codereview.chromium.org/660267

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-01 08:49:33 +00:00
whesse@chromium.org
09e3bac689 Move definitions of named registers as constant structures to assembler-arm.h file.
Review URL: http://codereview.chromium.org/660256

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-01 08:34:09 +00:00
sgjesse@chromium.org
dee0b9d636 Update MIPS port to support recent changes
This lands http://codereview.chromium.org/660244.

Patch by Alexandre Rames from Sigma Designs Inc.
Review URL: http://codereview.chromium.org/661268

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3982 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-01 08:32:54 +00:00
kasperl@chromium.org
9f2f6f4022 Count GlobalHandles::PostGarbageCollectionProcessing() as being
in external code so it's visible when running with --trace-gc.

Landed on behalf of James Robinson (jamesr@chromium.org).

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-01 07:04:42 +00:00
vitalyr@chromium.org
dd7b55eb9f Implemented one-char cache lookup in generated code.
This speeds up string,charAt(n) and string[n].

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 20:14:20 +00:00
antonm@chromium.org
0c77912aaf Return length passed instead of receiver to allow chained assignments like
foo = a.length = 7

BUG=crbug.com/36854

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 16:12:39 +00:00
ager@chromium.org
b299c61976 Add missing error message for calling functions on incompatible receivers.
Review URL: http://codereview.chromium.org/660178

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 15:46:57 +00:00
antonm@chromium.org
3051ba1a5b Faster filling of arrays of holes.
Review URL: http://codereview.chromium.org/661105

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 15:19:13 +00:00
bak@chromium.org
4766a592ce - Pushed source code for functions into old space.
- Renamed TryFlattenIfNotFlat to TryFlatten.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 14:37:33 +00:00
fschneider@chromium.org
1d330492af Make another small virtual frame function inlined.
Move a constructor to the platform-independent -inl.h file.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 14:02:29 +00:00
ricow@chromium.org
46440e6f77 Moved initialization of xmm3 making sure it is initialized on all paths in GeneratePow - solves the sputnik failure on mac.
Review URL: http://codereview.chromium.org/661177

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 12:28:25 +00:00
bak@chromium.org
0e0594dcbc Removed space to please lint.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 12:00:10 +00:00
kasperl@chromium.org
4abae7a728 Add an explicit API entry to notify V8 that one or more
contexts have been disposed. 
Review URL: http://codereview.chromium.org/661173

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3971 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 11:51:33 +00:00
bak@chromium.org
0adf83b10d - Moved the computation of old space limits to after the mandatory scavenge.
This reduces the number of mark sweep operations.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 11:48:18 +00:00
ricow@chromium.org
def4980625 Changed GeneratePow ensure xmm1 is loaded with y before making the test for NaN
Review URL: http://codereview.chromium.org/660172

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 11:09:06 +00:00
ricow@chromium.org
496868722f Added fast support for Math.pow. This simply calculates the result using the
same method as the old powi version in runtime.cc and also checks if
the exponent is 0.5 or -0.5 in which case we calculate the square root or 
reciprocal value of the square root.


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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 10:24:58 +00:00
fschneider@chromium.org
893637a057 Inlining a few virtual frame functions.
Introducing a virtual-frame-inl.h file containing some platform-independent
virtual frame function which are small enough to be inlined.

Removed unnecessary #include of virtual-frame.h from register-allocator-inl.h
and added the necessary explicit includes in a number of files.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 09:32:48 +00:00
kasperl@chromium.org
57f47e704f Add information about time spent in external callback to
traces produces with --trace-gc.
Review URL: http://codereview.chromium.org/661170

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 08:27:20 +00:00
ager@chromium.org
d2061c07c8 Fix presubmit error.
TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/661090

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3957 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-25 18:26:36 +00:00
ager@chromium.org
4a9d4b7bd5 Fix the mac debug build. Apparently g++ on Mac cannot figure out that there
is a return in each branch of an if-else.

TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/661088

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3956 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-25 18:19:12 +00:00
whesse@chromium.org
a3a3a1f0be Change KeyedStoreIC interface to take value, key, and receiver in registers.
Review URL: http://codereview.chromium.org/608031

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-25 18:04:25 +00:00
oleg@chromium.org
a6940ef0a8 Optimize three Number2Integer functions in runtime.cc: remove the check that was already done in JavaScript, add simpler code in case we are getting a SMI
result.

Code review: http://codereview.chromium.org/660084


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3954 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-25 16:46:37 +00:00
sgjesse@chromium.org
05ae9effa3 Revert r3952
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/660086

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-25 15:43:27 +00:00
sgjesse@chromium.org
8398287070 Refactor the code cache to handle large number of properties on the global object.
A separate object type for the code cache have been added. This object has two different code caches. The first one (default_cache) is a fixed array organized in the same way as the as the code cache was before. The second cache (global_access_cache) is for code stubs to access the global object. This cache is organized as a hash table taking the property name and code flags as the key.

The reason for separating the global access stubs into a hash table representation is that the number of these is not bounded in the same was as the other types.

BUG=613
Review URL: http://codereview.chromium.org/652119

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-25 14:24:44 +00:00
serya@chromium.org
164daeda7a Adding 'static const' for arg numbers used with CallCFunction.
Review URL: http://codereview.chromium.org/660078

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-25 13:06:05 +00:00
vitalyr@chromium.org
945673574e Improve string runtime compare performance for flat strings.
Review URL: http://codereview.chromium.org/650058

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-25 12:49:23 +00:00
lrn@chromium.org
024faf1105 Fix test for overflow in memory allocation Failure payload.
It bailed out too early, and could give a DEBUG assertion failure due
to right shift being artihmetic. Changed values to unsigned to be safe.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3948 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-25 12:28:35 +00:00
serya@chromium.org
2c872c26fd AllignFrame/CallCFuntion moved from regexp-macro-assembler-ia32 to macro-assembler-ia32 (like in x64 version).
Review URL: http://codereview.chromium.org/657080

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3947 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-25 12:18:55 +00:00
ager@chromium.org
fc382f0ffa Revert pax change as it does not work with older versions of scons.
Review URL: http://codereview.chromium.org/661071

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-25 08:27:07 +00:00
peter.rybin@gmail.com
4b6b2dc9c6 Implement BlindReference object and provide couple of liveedit-specific structures
Review URL: http://codereview.chromium.org/650127

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-24 19:59:09 +00:00
vitalyr@chromium.org
e76f06a1e2 Fix miss in smi check when doing fast api call.
BUG=http://crbug.com/36604

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-24 19:26:10 +00:00
vitalyr@chromium.org
3d76502914 Fix uninitialized memory read in CallOptimization.
BUG=http://crbug.com/36602

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-24 19:14:21 +00:00
ager@chromium.org
be1ea81cbf Land change to allow building on Gentoo Hardened Linux.
Codereview URL: http://codereview.chromium.org/659002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-24 18:50:56 +00:00
sgjesse@chromium.org
6ceb6d95fc Don't treat this as a trivial expression.
This caused some regressions in Chromium.

BUG=http://crbug.com/36604
Review URL: http://codereview.chromium.org/652228

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-24 14:02:20 +00:00
serya@chromium.org
43d074985a Review URL: http://codereview.chromium.org/652118
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3937 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-24 08:33:51 +00:00
whesse@chromium.org
ce1f6b2a3c Add comment to generated code that says which code generator compiled it.
Review URL: http://codereview.chromium.org/652110

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3932 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-23 12:40:36 +00:00
lrn@chromium.org
3135110af8 IA32: Native access to TranscendentalCache for sin/cos.
Review URL: http://codereview.chromium.org/652041

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3929 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-23 10:29:02 +00:00
fschneider@chromium.org
2883c03037 Prepare push to trunk. Now working on 2.1.3.
Review URL: http://codereview.chromium.org/654003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3928 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-23 10:22:07 +00:00
fschneider@chromium.org
d955c20beb Fix reliability crash caused by wrong assert.
These two asserts in ComputeEntryFrame are wrong since the
virtual frame already knows how to deal with the number type
information of copy elements: We do not store type 
information with copy elements. Instead the backing element
contains the type information.


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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3927 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-22 15:42:23 +00:00
whesse@chromium.org
2074e4847d Add integer casts to make v8 compile without warnings on 64-bit Visual Studio
Review URL: http://codereview.chromium.org/650140

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3925 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-22 11:42:46 +00:00
whesse@chromium.org
df9544d598 Declare register names as constants in assembler-x64.h. Fix for issue 615.
Review URL: http://codereview.chromium.org/650136

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3924 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-22 11:41:52 +00:00
sgjesse@chromium.org
38f2363df6 Consistently return failure if the stub cache cannot deliver a code object
Some functions of the stub cache returned undefined if a code stub could not be generated. However the clients of these functions only cehcks for failure. Now all these functions return a failire object if no code stub can be made available
Review URL: http://codereview.chromium.org/652039

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-22 10:04:22 +00:00
vitalyr@chromium.org
91a2fb7ace Land patch by Oleg Eterevsky (oleg@chromium.org).
Original review: http://codereview.chromium.org/646010/show

Change the implementation of lastIndexOf method of String. Convert the
strings in question to Vector<char> or Vector<uc16> and execute simple
search algorithm on them.

The difference in speed on 500k character string is about 10x.

TBR=ager@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-19 17:11:47 +00:00
whesse@chromium.org
d931c9b70a Improve stores to global variables.
Review URL: http://codereview.chromium.org/650028

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-19 15:04:16 +00:00
kmillikin@chromium.org
a9202fc45d Begin using a list of bailouts instead of a singleton in the fast code generator.
A list of bailout descriptions is kept in the CompilationInfo
structure that is shared between the primary and secondary code
generators.  The primary adds a description to the list for each
bailout position.

Responsibility for binding labels is moved from the primary to the
secondary code generator. All the labels still target the start of the
secondary code and the compilation state of the primary is still
ignored.

Move the compilation mode flag to the CompilationInfo.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-19 14:52:39 +00:00
yurys@chromium.org
a47746d209 Add maxStrinLength argument to debugger requests
Review URL: http://codereview.chromium.org/647022

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-19 14:33:08 +00:00
vitalyr@chromium.org
c03db75853 Some string optimizations:
* Inlined checks for strings and regexps.
 * Rewrote split for the non-regexp case.
 * Implemented one-char case for lastIndexOf.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-19 13:07:37 +00:00
ricow@chromium.org
24011207c6 Removed asserts on attributes when setting elements. Will file a bug on not handling elements correctly when using Object.defineProperty
Review URL: http://codereview.chromium.org/651025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-19 12:16:00 +00:00
ager@chromium.org
469d694d5b Add missing break in GetPropertyWithFailedAccessCheck. This break has
been missing for a long time but the fallthrough to the default case
used to break.  Now the default case should be unreachable and the
fallthrough therefore causes assertion failures.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-19 12:10:46 +00:00
kmillikin@chromium.org
49a336e5be Reorder code in fast-codegen-ia32.cc.
Reorder code so that helper functions and simple accessors come before
all the visit function.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3912 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-19 11:39:12 +00:00
whesse@chromium.org
d2dd02152c Improve load of global variables.
Review URL: http://codereview.chromium.org/651019

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-19 10:05:33 +00:00