platform/upstream/v8.git
15 years agoAdd inline caching for keyed loads and stores. Remove extra parentheses from some...
whesse@chromium.org [Fri, 24 Jul 2009 11:22:35 +0000 (11:22 +0000)]
Add inline caching for keyed loads and stores.  Remove extra parentheses from some files.
Review URL: http://codereview.chromium.org/159266

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

15 years agoRemove trailing whitespace in test-debug.cc
yurys@chromium.org [Fri, 24 Jul 2009 07:39:53 +0000 (07:39 +0000)]
Remove trailing whitespace in test-debug.cc
Review URL: http://codereview.chromium.org/160095

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

15 years agoDebugger should not stop in its own code and in code of built-in functions since...
yurys@chromium.org [Fri, 24 Jul 2009 06:14:23 +0000 (06:14 +0000)]
Debugger should not stop in its own code and in code of built-in functions since it may confuse user.Debug break handler checks whether current function is a built-in or a debugger one and just resumes execution if it is.

CallCheckStackGuardState is no longer called in loop in the RegExp code as it hangs if debug break flag is not reset after calling Execution::HandleStackGuardInterrupt.
Review URL: http://codereview.chromium.org/160001

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

15 years agoForce inlining of some handle methods.
antonm@chromium.org [Thu, 23 Jul 2009 13:36:28 +0000 (13:36 +0000)]
Force inlining of some handle methods.

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

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

15 years agoFix typo in last change
whesse@chromium.org [Thu, 23 Jul 2009 13:05:36 +0000 (13:05 +0000)]
Fix typo in last change
Review URL: http://codereview.chromium.org/160009

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

15 years agoFix an error in a keyed lookup stub - HeapNumbers treated as strings.
whesse@chromium.org [Thu, 23 Jul 2009 13:01:17 +0000 (13:01 +0000)]
Fix an error in a keyed lookup stub - HeapNumbers treated as strings.
Review URL: http://codereview.chromium.org/155924

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

15 years agoCall the (fatal) V8 out of memory handler if we cannot allocate enough
kmillikin@chromium.org [Thu, 23 Jul 2009 12:56:45 +0000 (12:56 +0000)]
Call the (fatal) V8 out of memory handler if we cannot allocate enough
memory from the OS to deserialize the initial heap snapshot at
startup.

This catches the failure to startup earlier, and avoids dereferencing
the encoding of an allocation failure.

BUG=16359

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

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

15 years agoChange a few style issues (dead code, unitialized members) flagged by
kmillikin@chromium.org [Thu, 23 Jul 2009 12:51:49 +0000 (12:51 +0000)]
Change a few style issues (dead code, unitialized members) flagged by
Coverity Prevent.  All are benign.

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

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

15 years agoFix ARM compiler crash in short-circuited boolean expressions.
kmillikin@chromium.org [Thu, 23 Jul 2009 11:40:14 +0000 (11:40 +0000)]
Fix ARM compiler crash in short-circuited boolean expressions.

We did not handle the case where the left-hand-side expression was
fully compiled to control flow.  There were also some assertions for
unary and binary expressions that crashed debug builds when the
expression was fully compiled to control flow.

Regression test added.

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

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

15 years agoCorrect sense of test for generic keyed load with a symbol as key.
whesse@chromium.org [Wed, 22 Jul 2009 14:40:04 +0000 (14:40 +0000)]
Correct sense of test for generic keyed load with a symbol as key.
Review URL: http://codereview.chromium.org/155922

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

15 years agoRemove a few occurrences of the CHECK_FAILED macro in the parser.
kmillikin@chromium.org [Wed, 22 Jul 2009 12:33:16 +0000 (12:33 +0000)]
Remove a few occurrences of the CHECK_FAILED macro in the parser.
There's no reason to check if we've failed when (a) we know we have
and (b) we've got a perfectly good NULL just lying around anyway.

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

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

15 years agoFix some defects identifies by Coverity Prevent. All are false
kmillikin@chromium.org [Wed, 22 Jul 2009 11:29:38 +0000 (11:29 +0000)]
Fix some defects identifies by Coverity Prevent.  All are false
positives, but I've restructured the code to be more explicit.

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

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

15 years agoFix two deallocation bugs identified by Coverity Prevent.
kmillikin@chromium.org [Wed, 22 Jul 2009 10:23:19 +0000 (10:23 +0000)]
Fix two deallocation bugs identified by Coverity Prevent.

1. The tables array allocated in the CompilationSubCache constructor
   was never deallocated.  Fixed by adding destructor.

2. The buffer allocated in one of the constructors of the
   NoAllocationStringAllocator was never deallocated.  It seems that
   this class sometimes owns the buffer (if it allocated one itself)
   and sometimes doesn't (if it was passed one).  Simple fix is to
   remove the offending constructor which was never used anyway.

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

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

15 years agoIntroduce a external allocation limit.
ager@chromium.org [Wed, 22 Jul 2009 10:01:25 +0000 (10:01 +0000)]
Introduce a external allocation limit.

If V8 is holding on to a lot of external memory, we attempt to clean
it up even if we do not get an allocation failure.  Since tiny V8
objects can hold on to a lot of external memory, we might run out of
external memory while waiting for a normal allocation failure.
Review URL: http://codereview.chromium.org/155916

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

15 years agoX64: Add StoreField inline cache stub.
whesse@chromium.org [Wed, 22 Jul 2009 09:11:33 +0000 (09:11 +0000)]
X64: Add StoreField inline cache stub.
Review URL: http://codereview.chromium.org/155915

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

15 years ago- Remove unneeded include of ucontext.h as it is deprecated on Snow Leopard.
iposva@chromium.org [Tue, 21 Jul 2009 17:25:07 +0000 (17:25 +0000)]
- Remove unneeded include of ucontext.h as it is deprecated on Snow Leopard.
- Avoid calculating shared library addresses if profiling is not enabled.

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

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

15 years agoMake stub cache hash work on X64 platform. Stub cache now works.
whesse@chromium.org [Tue, 21 Jul 2009 13:30:46 +0000 (13:30 +0000)]
Make stub cache hash work on X64 platform.  Stub cache now works.
Switch arguments of 32-bit arithmetic instructions so they are consistent
with 64-bit arithmetic instructions (all on X64 platforms).
Review URL: http://codereview.chromium.org/155849

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

15 years agoX64: Implement inline caches for loads
whesse@chromium.org [Tue, 21 Jul 2009 11:06:24 +0000 (11:06 +0000)]
X64: Implement inline caches for loads
Review URL: http://codereview.chromium.org/159131

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

15 years agoX64: Fix compiler complaint
whesse@chromium.org [Mon, 20 Jul 2009 20:17:27 +0000 (20:17 +0000)]
X64: Fix compiler complaint
Review URL: http://codereview.chromium.org/159079

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

15 years agoX64: Add instructions to disassembler. Skip hanging test-api test.
whesse@chromium.org [Mon, 20 Jul 2009 14:57:09 +0000 (14:57 +0000)]
X64: Add instructions to disassembler.  Skip hanging test-api test.
Review URL: http://codereview.chromium.org/155771

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

15 years agoX64: Enable more of LoadIC, disable individual stub types.
whesse@chromium.org [Mon, 20 Jul 2009 14:33:59 +0000 (14:33 +0000)]
X64: Enable more of LoadIC, disable individual stub types.
Review URL: http://codereview.chromium.org/155763

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

15 years agoFix another site where a stack-allocated character was treated as a
kmillikin@chromium.org [Mon, 20 Jul 2009 12:28:02 +0000 (12:28 +0000)]
Fix another site where a stack-allocated character was treated as a
one-element character array.  This was safe at this site but
potentially confusing.

BUG=17103

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

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

15 years agoChange RegExpMacroAssemblerIA32::CaseInsensitiveCompareUC16 so that it
kmillikin@chromium.org [Mon, 20 Jul 2009 10:54:00 +0000 (10:54 +0000)]
Change RegExpMacroAssemblerIA32::CaseInsensitiveCompareUC16 so that it
does not use stack-allocated character as a one-element character
array.

The use at this site was actually safe (Ecma262Canonicalize will only
write to the first character of the array), but not obviously so.

BUG=17103

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

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

15 years agoHeap profiling: add logging of heap memory stats (capacity, used) under 'log-gc'...
mikhail.naganov@gmail.com [Mon, 20 Jul 2009 09:38:44 +0000 (09:38 +0000)]
Heap profiling: add logging of heap memory stats (capacity, used) under 'log-gc' flag.

Also changed time reporting to system time to be able to get synchronized with other memory (e.g. DOM) size status.

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

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

15 years agoI will lint my code before submitting...
ager@chromium.org [Fri, 17 Jul 2009 16:34:58 +0000 (16:34 +0000)]
I will lint my code before submitting...

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

15 years agoAdd missing handle scope in internal field code.
ager@chromium.org [Fri, 17 Jul 2009 16:00:42 +0000 (16:00 +0000)]
Add missing handle scope in internal field code.

TBR=kasperl@chromium.org
Review URL: http://codereview.chromium.org/155691

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

15 years agoX64: Add inline caching to calls of global functions
whesse@chromium.org [Fri, 17 Jul 2009 12:58:12 +0000 (12:58 +0000)]
X64: Add inline caching to calls of global functions
Review URL: http://codereview.chromium.org/155688

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

15 years agoMake Array::kHeaderSize protected, and only use kHeaderSize of its subclasses.
whesse@chromium.org [Fri, 17 Jul 2009 12:12:24 +0000 (12:12 +0000)]
Make Array::kHeaderSize protected, and only use kHeaderSize of its subclasses.
Many X64 bugs have been due to the difference between (unaligned) Array::kHeaderSize and (aligned) FixedArray::kHeaderSize.
Review URL: http://codereview.chromium.org/155687

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

15 years agoMake sure we don't crash if NewProxy returns an empty handle (only
kasperl@chromium.org [Fri, 17 Jul 2009 11:16:10 +0000 (11:16 +0000)]
Make sure we don't crash if NewProxy returns an empty handle (only
happens when out of memory).
Review URL: http://codereview.chromium.org/155685

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

15 years agoIntroduce faster utilty methods for storing and retrieving native pointers
antonm@chromium.org [Fri, 17 Jul 2009 10:35:15 +0000 (10:35 +0000)]
Introduce faster utilty methods for storing and retrieving native pointers
in internal fields.

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

15 years agoPatch by Vitaly Repeshko. Improve performance of internal fields
kasperl@chromium.org [Fri, 17 Jul 2009 09:16:23 +0000 (09:16 +0000)]
Patch by Vitaly Repeshko. Improve performance of internal fields
operations by adding a fast-case check for JS_OBJECT_TYPE in
JSObject::GetHeaderSize().
Review URL: http://codereview.chromium.org/155684

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

15 years agoAdded inline caching for calls to a field to X64. Changed a use of Array::kHeaderSiz...
whesse@chromium.org [Fri, 17 Jul 2009 08:55:01 +0000 (08:55 +0000)]
Added inline caching for calls to a field to X64.  Changed a use of Array::kHeaderSize to FixedArray::kHeaderSize on all platforms.
Review URL: http://codereview.chromium.org/149798

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

15 years agoAvoid more static variables in inline functions.
kasperl@chromium.org [Fri, 17 Jul 2009 08:22:07 +0000 (08:22 +0000)]
Avoid more static variables in inline functions.
Review URL: http://codereview.chromium.org/149799

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

15 years ago- Add frame-element.cc to the Xcode project.
iposva@chromium.org [Fri, 17 Jul 2009 06:32:29 +0000 (06:32 +0000)]
- Add frame-element.cc to the Xcode project.

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

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

15 years agoPatch by Mark Mentovai. Don't put static variables inline.
kasperl@chromium.org [Fri, 17 Jul 2009 05:37:09 +0000 (05:37 +0000)]
Patch by Mark Mentovai. Don't put static variables inline.
Original review: http://codereview.chromium.org/149768

TBR=kmillikin@chromium.org
Review URL: http://codereview.chromium.org/155679

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

15 years agoRevert r2478. Avoiding dead code stripping for mksnapshot
kasperl@chromium.org [Fri, 17 Jul 2009 05:00:38 +0000 (05:00 +0000)]
Revert r2478. Avoiding dead code stripping for mksnapshot
wasn't enough.

TBR=iposva@chromium.org
Review URL: http://codereview.chromium.org/155678

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

15 years agoRevert r2486, r2487, and r2488 until I get the chance to fix
kasperl@chromium.org [Fri, 17 Jul 2009 04:57:17 +0000 (04:57 +0000)]
Revert r2486, r2487, and r2488 until I get the chance to fix
the performance issue with number dictionaries.

TBR=kmillikin@chromium.org

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

15 years ago- Simplify the architecture setup. In particular the 'wordsize' parameter
iposva@chromium.org [Thu, 16 Jul 2009 22:41:28 +0000 (22:41 +0000)]
- Simplify the architecture setup. In particular the 'wordsize' parameter
  cannot be trusted. The reported host architecture has no relation to the
  default architecture being used for gcc.

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

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

15 years agoChanged the dictionary code to use original hash value when starting linear scan.
bak@chromium.org [Thu, 16 Jul 2009 14:59:28 +0000 (14:59 +0000)]
Changed the dictionary code to use original hash value when starting linear scan.
This is necessary for hash codes for string where the array index is encoded.

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

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

15 years agoAdded two spaces to make presubmit.py happy.
bak@chromium.org [Thu, 16 Jul 2009 13:25:45 +0000 (13:25 +0000)]
Added two spaces to make presubmit.py happy.

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

15 years agoChanged hash table to use more of the hash value when probing.
bak@chromium.org [Thu, 16 Jul 2009 12:56:50 +0000 (12:56 +0000)]
Changed hash table to use more of the hash value when probing.

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

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

15 years agoX64: Implement inline cache of monomorphic constant function call. Mark a debugger...
whesse@chromium.org [Thu, 16 Jul 2009 12:49:14 +0000 (12:49 +0000)]
X64: Implement inline cache of monomorphic constant function call.  Mark a debugger test on X64 as failing.
Review URL: http://codereview.chromium.org/155631

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

15 years agoAllow a slow test, array-splice, to timeout on ARM.
whesse@chromium.org [Thu, 16 Jul 2009 12:09:05 +0000 (12:09 +0000)]
Allow a slow test, array-splice, to timeout on ARM.
Review URL: http://codereview.chromium.org/155500

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

15 years agoSome more test for load and call stubs.
antonm@chromium.org [Thu, 16 Jul 2009 10:57:17 +0000 (10:57 +0000)]
Some more test for load and call stubs.

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

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

15 years agoX64: Enable inline caching for calls, with some stubs stubbed out.
whesse@chromium.org [Thu, 16 Jul 2009 08:38:52 +0000 (08:38 +0000)]
X64: Enable inline caching for calls, with some stubs stubbed out.
Review URL: http://codereview.chromium.org/149674

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

15 years agoReapply http://codereview.chromium.org/149542 now that issue with Mac builder is...
yurys@chromium.org [Thu, 16 Jul 2009 07:07:51 +0000 (07:07 +0000)]
Reapply codereview.chromium.org/149542 now that issue with Mac builder is fixed(http://codereview.chromium.org/155591)

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

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

15 years agoPatch by Mark Mentovai: Disable dead code stripping for mksnapshot on
kasperl@chromium.org [Thu, 16 Jul 2009 06:55:39 +0000 (06:55 +0000)]
Patch by Mark Mentovai: Disable dead code stripping for mksnapshot on
Mac OS to work around code generation issue; see the issue details on
http://code.google.com/p/v8/issues/detail?id=404.

Original review: http://codereview.chromium.org/155591

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

15 years agoDisable inline caching on X64 separately for loads, stores, and calls, while they...
whesse@chromium.org [Wed, 15 Jul 2009 12:30:28 +0000 (12:30 +0000)]
Disable inline caching on X64 separately for loads, stores, and calls, while they are being implemented and tested one-by-one.
Review URL: http://codereview.chromium.org/149673

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

15 years agoRemove svn:executable flag from run.html and style.css and change the mime-type of...
kasperl@chromium.org [Wed, 15 Jul 2009 10:37:10 +0000 (10:37 +0000)]
Remove svn:executable flag from run.html and style.css and change the mime-type of style.css to text/css.

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

15 years agoReverting 2458 to see if it makes Builder Webkit Mac (V8-Latest) happy.
yurys@chromium.org [Wed, 15 Jul 2009 09:45:06 +0000 (09:45 +0000)]
Reverting 2458 to see if it makes Builder Webkit Mac (V8-Latest) happy.
Review URL: http://codereview.chromium.org/149672

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

15 years agoAdding a missing 'the' in the warning message on bleeding edge.
sandholm@chromium.org [Wed, 15 Jul 2009 09:35:04 +0000 (09:35 +0000)]
Adding a missing 'the' in the warning message on bleeding edge.
Review URL: http://codereview.chromium.org/155561

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

15 years agoFix issue 345 by avoiding duplicates in the list of escaping labels
kmillikin@chromium.org [Wed, 15 Jul 2009 08:57:25 +0000 (08:57 +0000)]
Fix issue 345 by avoiding duplicates in the list of escaping labels
from a try...catch...finally statement.

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

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

15 years agoThird and hopefully last of thrre CLs to issue a warning when an older
sandholm@chromium.org [Wed, 15 Jul 2009 08:47:51 +0000 (08:47 +0000)]
Third and hopefully last of thrre CLs to issue a warning when an older
version of the benchmark suite is run. This last change updates
bleeding_edge.
Review URL: http://codereview.chromium.org/155496

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

15 years agoImproved version of LookupForRead (tnx to Kasper) + some faster paths.
antonm@chromium.org [Wed, 15 Jul 2009 08:07:31 +0000 (08:07 +0000)]
Improved version of LookupForRead (tnx to Kasper) + some faster paths.

1) add no GC check;
2) do not use recursion;

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

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

15 years agoAdd heap log processing script originally written by Kevin.
mikhail.naganov@gmail.com [Wed, 15 Jul 2009 07:09:48 +0000 (07:09 +0000)]
Add heap log processing script originally written by Kevin.

Also, add user time into heap sample begin events to make '--log-gc' flag alone sufficient for producing heap logs (previously, samples times were extracted from scavenge events which are only logged with '--log' flag).

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

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

15 years agoAdjust kPagesPerChunk to 16 instead of 64 on Android.
feng@chromium.org [Tue, 14 Jul 2009 22:38:06 +0000 (22:38 +0000)]
Adjust kPagesPerChunk to 16 instead of 64 on Android.

Renamed some macros to ANDROID.

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

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

15 years agoSupport stepping into getters and setters.
yurys@chromium.org [Tue, 14 Jul 2009 16:55:32 +0000 (16:55 +0000)]
Support stepping into getters and setters.

Related Chromium bug:
http://code.google.com/p/chromium/issues/detail?id=16427

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

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

15 years agoChange tests status for x64, make test runner pass --arch flag to Scons, add to x64...
whesse@chromium.org [Tue, 14 Jul 2009 11:39:45 +0000 (11:39 +0000)]
Change tests status for x64, make test runner pass --arch flag to Scons, add to x64 disassembler.  Copied from codereview.chromium.org/155346 so it can be committed.
Review URL: http://codereview.chromium.org/149608

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

15 years agoTickProcessor: more accurate mapping of statically compiled code on Linux.
mikhail.naganov@gmail.com [Tue, 14 Jul 2009 09:47:44 +0000 (09:47 +0000)]
TickProcessor: more accurate mapping of statically compiled code on Linux.

'nm' is now called with an option to report function code sizes. Static code entries are restricted to the sizes reported, and the remaining unnamed code is attributed to a library as a whole. This makes reports more accurate, as some functions are tiny, but has chunks of unnamed code behind them.

This change doesn't affect reporting on Windows, as in .map files function code sizes aren't specified.

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

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

15 years agoAdd regression test case for http://crbug.com/16276. Crashes
kasperl@chromium.org [Tue, 14 Jul 2009 09:31:48 +0000 (09:31 +0000)]
Add regression test case for crbug.com/16276. Crashes
in both debug and release mode before r2435, but not after.
Review URL: http://codereview.chromium.org/155491

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

15 years agoUpdate test expectations because we've decided to allow RegExps
kasperl@chromium.org [Tue, 14 Jul 2009 06:40:40 +0000 (06:40 +0000)]
Update test expectations because we've decided to allow RegExps
to be called as functions. See http://codereview.chromium.org/155453.

TBR=kmillikin@chromium.org
Review URL: http://codereview.chromium.org/155488

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

15 years agoImplement shared libraries logging on Mac OS X, added required support in Tick Processor.
mikhail.naganov@gmail.com [Tue, 14 Jul 2009 05:01:06 +0000 (05:01 +0000)]
Implement shared libraries logging on Mac OS X, added required support in Tick Processor.

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

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

15 years agoFirefox and Safari both allow calling regular expression objects as
ager@chromium.org [Mon, 13 Jul 2009 23:41:17 +0000 (23:41 +0000)]
Firefox and Safari both allow calling regular expression objects as
functions (as an alias for calling the exec method).  For
compatibility make call_regexp the default and remove the flag.

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

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

15 years agoPut the work-around for http://crbug.com/16276 into the ARM port as
ager@chromium.org [Mon, 13 Jul 2009 23:15:04 +0000 (23:15 +0000)]
Put the work-around for crbug.com/16276 into the ARM port as
well.

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

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

15 years agoAdd a trace_gc_verbose flag.
feng@chromium.org [Mon, 13 Jul 2009 21:24:54 +0000 (21:24 +0000)]
Add a trace_gc_verbose flag.

The flag is only turned on when --trace_gc is one. It prints out used and available bytes in each space. To enable it, ENABLE_LOGGING_AND_PROFILING must be defined.

This is a mini version of --heap_stats, but don't need DEBUG macro to be turned on.

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

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

15 years agoAdd ENABLE_DEBUGGER_SUPPPORT around 4 functions, set complation cache generation
feng@chromium.org [Mon, 13 Jul 2009 21:23:21 +0000 (21:23 +0000)]
Add ENABLE_DEBUGGER_SUPPPORT around 4 functions, set complation cache generation
to 1 for ARM.

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

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

15 years agoHook up the log facility of Android platform.
feng@chromium.org [Mon, 13 Jul 2009 21:22:50 +0000 (21:22 +0000)]
Hook up the log facility of Android platform.

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

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

15 years agoYet another svn:ignore update.
kasperl@chromium.org [Mon, 13 Jul 2009 15:34:04 +0000 (15:34 +0000)]
Yet another svn:ignore update.

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

15 years ago- Added missing braces in an if statement as a drive-by-edit.
iposva@chromium.org [Mon, 13 Jul 2009 15:00:35 +0000 (15:00 +0000)]
- Added missing braces in an if statement as a drive-by-edit.
- Removed executable bits from Xcode project file.

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

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

15 years agoUpdate svn:ignore for tools/ and tools/gyp/ directories.
kasperl@chromium.org [Mon, 13 Jul 2009 14:37:21 +0000 (14:37 +0000)]
Update svn:ignore for tools/ and tools/gyp/ directories.

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

15 years agoPrepare to push version 1.2.14 to trunk.
kasperl@chromium.org [Mon, 13 Jul 2009 13:49:57 +0000 (13:49 +0000)]
Prepare to push version 1.2.14 to trunk.
Review URL: http://codereview.chromium.org/149533

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

15 years agoRevert r2431. I don't think this is it.
kasperl@chromium.org [Mon, 13 Jul 2009 13:36:38 +0000 (13:36 +0000)]
Revert r2431. I don't think this is it.
Review URL: http://codereview.chromium.org/155419

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

15 years agoAttempt at work-around for http://crbug.com/16276 by explicitly checking
kasperl@chromium.org [Mon, 13 Jul 2009 13:24:32 +0000 (13:24 +0000)]
Attempt at work-around for crbug.com/16276 by explicitly checking
for global objects in the assembly code for dictionary loads.
Review URL: http://codereview.chromium.org/155418

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

15 years agoSmall cleanup to Utf8::CalculateValue:
deanm@chromium.org [Mon, 13 Jul 2009 11:17:51 +0000 (11:17 +0000)]
Small cleanup to Utf8::CalculateValue:
  - Don't duplicate kMaxXByteChar constants.
  - Don't compare signed and unsigned integers.

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

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

15 years agoConvert object to fast mode after creation. That enables more optimizations.
antonm@chromium.org [Mon, 13 Jul 2009 10:10:28 +0000 (10:10 +0000)]
Convert object to fast mode after creation.  That enables more optimizations.

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

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

15 years agoAdd support for tracking down leak of the hole value.
kasperl@chromium.org [Mon, 13 Jul 2009 09:17:04 +0000 (09:17 +0000)]
Add support for tracking down leak of the hole value.
Review URL: http://codereview.chromium.org/149522

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

15 years agoTry to work around http://crbug.com/16276 until we can
kasperl@chromium.org [Mon, 13 Jul 2009 08:31:30 +0000 (08:31 +0000)]
Try to work around crbug.com/16276 until we can
find the cause of the problem.
Review URL: http://codereview.chromium.org/149521

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

15 years agoPort the function prototype load stub to ARM.
ager@chromium.org [Fri, 10 Jul 2009 23:26:33 +0000 (23:26 +0000)]
Port the function prototype load stub to ARM.
Review URL: http://codereview.chromium.org/155373

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

15 years agoRemove the descriptor stream abstractions.
ager@chromium.org [Fri, 10 Jul 2009 19:25:18 +0000 (19:25 +0000)]
Remove the descriptor stream abstractions.

The abstractions have led to bugs because it looks like descriptor
streams are GC safe but they are not.

I have moved the descriptor stream helper functions to descriptor
arrays and I find most of the code just as readable now as it was
before.
Review URL: http://codereview.chromium.org/149458

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

15 years agoDisable debug-stepin-function-call.js test on ARM.
yurys@chromium.org [Fri, 10 Jul 2009 12:12:23 +0000 (12:12 +0000)]
Disable debug-stepin-function-call.js test on ARM.

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

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

15 years agoFix an issue with debugger 'step in' when calling function has local variables.Corres...
yurys@chromium.org [Fri, 10 Jul 2009 09:57:53 +0000 (09:57 +0000)]
Fix an issue with debugger 'step in' when calling function has local variables.Corresponding Chromium bug:code.google.com/p/chromium/issues/detail?id=15824
Review URL: http://codereview.chromium.org/149326

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

15 years agoRe-enable ICs for loads and calls that skips a global object during
kasperl@chromium.org [Fri, 10 Jul 2009 09:40:47 +0000 (09:40 +0000)]
Re-enable ICs for loads and calls that skips a global object during
lookup through the prototype chain.
Review URL: http://codereview.chromium.org/155344

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

15 years agoFixed issue 401: os.system() hangs on Mac OS X.
mikhail.naganov@gmail.com [Fri, 10 Jul 2009 08:36:37 +0000 (08:36 +0000)]
Fixed issue 401: os.system() hangs on Mac OS X.

Fixed by falling back to using 'waitpid' instead of 'waitid'.

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

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

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

15 years agoSkip the write barrier for global property cell writes. The heap
kmillikin@chromium.org [Thu, 9 Jul 2009 14:34:08 +0000 (14:34 +0000)]
Skip the write barrier for global property cell writes.  The heap
verification code was refactored to avoid verifying that property
cells have correct remembered sets.

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

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

15 years agoX64: Added failure entries in test expectations.
lrn@chromium.org [Thu, 9 Jul 2009 14:04:37 +0000 (14:04 +0000)]
X64: Added failure entries in test expectations.

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

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

15 years agoX64: Let debugger patch JSReturn with a debug break.
whesse@chromium.org [Thu, 9 Jul 2009 13:30:27 +0000 (13:30 +0000)]
X64: Let debugger patch JSReturn with a debug break.
Review URL: http://codereview.chromium.org/155286

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

15 years agoDuring a scavenge, instead of sweeping remembered-set bits for global
kmillikin@chromium.org [Thu, 9 Jul 2009 13:28:22 +0000 (13:28 +0000)]
During a scavenge, instead of sweeping remembered-set bits for global
property cells, sweep the cell values themselves.

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

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

15 years agoDon't have too many holders. Reviewed offline by Kevin Millikin.
kasperl@chromium.org [Thu, 9 Jul 2009 12:23:08 +0000 (12:23 +0000)]
Don't have too many holders. Reviewed offline by Kevin Millikin.

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

15 years agoFix free list construction for global property cells on x64.
kmillikin@chromium.org [Thu, 9 Jul 2009 12:20:04 +0000 (12:20 +0000)]
Fix free list construction for global property cells on x64.

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

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

15 years agoFix too-long line.
kmillikin@chromium.org [Thu, 9 Jul 2009 12:13:51 +0000 (12:13 +0000)]
Fix too-long line.

TBR=kasperl@chromium.org

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

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

15 years agoGet peep-hole optimizer working on ARM by not emitting
erik.corry@gmail.com [Thu, 9 Jul 2009 11:59:58 +0000 (11:59 +0000)]
Get peep-hole optimizer working on ARM by not emitting
debug info at places where the debugger can't stop.
This fixes the ARM version after
http://codereview.chromium.org/14170
Reformat debug-backtrace.js test.
Review URL: http://codereview.chromium.org/155285

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

15 years agoX64: Fixed more bad smi operations.
lrn@chromium.org [Thu, 9 Jul 2009 11:46:30 +0000 (11:46 +0000)]
X64: Fixed more bad smi operations.

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

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

15 years agoFix x64 build.
kmillikin@chromium.org [Thu, 9 Jul 2009 11:46:12 +0000 (11:46 +0000)]
Fix x64 build.
Review URL: http://codereview.chromium.org/149385

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

15 years agoAllow access through the global proxy to use ICs.
kasperl@chromium.org [Thu, 9 Jul 2009 11:17:57 +0000 (11:17 +0000)]
Allow access through the global proxy to use ICs.
Review URL: http://codereview.chromium.org/155283

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

15 years agoCreate a new paged heap space for global property cells. The new
kmillikin@chromium.org [Thu, 9 Jul 2009 11:13:08 +0000 (11:13 +0000)]
Create a new paged heap space for global property cells.  The new
space is similar to map space in that it has fixed-size objects.  A
common superclass for a space with fixed size objects is used for the
map space and cell space.

Allocate all cells in cell space.  Handle it during all GCs.  Modify
the free-list node representation (so that the size is not at a fixed
offset in all cells) to allow two-pointer free-list nodes.  Clean up
some stuff in the MC collector.

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

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

15 years agoFix problems with including parser.h from the Windows platform SDK instead of v8...
deanm@chromium.org [Thu, 9 Jul 2009 10:52:54 +0000 (10:52 +0000)]
Fix problems with including parser.h from the Windows platform SDK instead of v8 by making sure that the v8 include path comes first.

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

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

15 years agoX64: Fix bug in left-shift.
lrn@chromium.org [Thu, 9 Jul 2009 08:00:12 +0000 (08:00 +0000)]
X64: Fix bug in left-shift.
Also changed a few other places that looked suspicious in the same way.
Added more info to failing test case and rewrote incorrect uses of mjsunit "fail" function.

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

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

15 years agoAdd automatic tests for Tick Processor, take two.
mikhail.naganov@gmail.com [Thu, 9 Jul 2009 06:39:38 +0000 (06:39 +0000)]
Add automatic tests for Tick Processor, take two.

Now tests can be run from any directory. Location of test data is now determined using test file location provided by 'testcfg.py' script.

Tested under Linux, Mac, and Windows.

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

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

15 years agoPrepare to push version 1.2.13 to trunk.
kasperl@chromium.org [Thu, 9 Jul 2009 05:44:19 +0000 (05:44 +0000)]
Prepare to push version 1.2.13 to trunk.

TBR=kmillikin@chromium.org
Review URL: http://codereview.chromium.org/149381

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

15 years agoX64: Fix recently introduced bug in movq with 64-bit literal.
lrn@chromium.org [Thu, 9 Jul 2009 05:43:34 +0000 (05:43 +0000)]
X64: Fix recently introduced bug in movq with 64-bit literal.

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

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