whesse@chromium.org
18c6337a2c
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
2009-07-23 13:01:17 +00:00
kmillikin@chromium.org
4196711d2e
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
2009-07-23 12:56:45 +00:00
kmillikin@chromium.org
270c0e8b8f
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
2009-07-23 12:51:49 +00:00
kmillikin@chromium.org
1ca19c383d
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
2009-07-23 11:40:14 +00:00
whesse@chromium.org
f751483255
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
2009-07-22 14:40:04 +00:00
kmillikin@chromium.org
e8ae83eec3
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
2009-07-22 12:33:16 +00:00
kmillikin@chromium.org
dc30b11fbc
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
2009-07-22 11:29:38 +00:00
kmillikin@chromium.org
1cbe7a240a
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
2009-07-22 10:23:19 +00:00
ager@chromium.org
2183309385
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
2009-07-22 10:01:25 +00:00
whesse@chromium.org
be562ee794
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
2009-07-22 09:11:33 +00:00
iposva@chromium.org
a109c08c78
- 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
2009-07-21 17:25:07 +00:00
whesse@chromium.org
ff242173c3
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
2009-07-21 13:30:46 +00:00
whesse@chromium.org
8ff3dc5280
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
2009-07-21 11:06:24 +00:00
whesse@chromium.org
46b8d84659
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
2009-07-20 20:17:27 +00:00
whesse@chromium.org
ca6cd9b4b2
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
2009-07-20 14:57:09 +00:00
whesse@chromium.org
7f886c8582
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
2009-07-20 14:33:59 +00:00
kmillikin@chromium.org
7c8a166b91
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
2009-07-20 12:28:02 +00:00
kmillikin@chromium.org
2126c36279
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
2009-07-20 10:54:00 +00:00
mikhail.naganov@gmail.com
ec526df16f
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
2009-07-20 09:38:44 +00:00
ager@chromium.org
ab59ea5a16
I will lint my code before submitting...
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-17 16:34:58 +00:00
ager@chromium.org
6d641a8131
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
2009-07-17 16:00:42 +00:00
whesse@chromium.org
39c9dd5ab1
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
2009-07-17 12:58:12 +00:00
whesse@chromium.org
76833936b7
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
2009-07-17 12:12:24 +00:00
kasperl@chromium.org
21f44e8fd2
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
2009-07-17 11:16:10 +00:00
antonm@chromium.org
3c6c399381
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
2009-07-17 10:35:15 +00:00
kasperl@chromium.org
4f2cc4104e
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
2009-07-17 09:16:23 +00:00
whesse@chromium.org
f8e622a620
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
2009-07-17 08:55:01 +00:00
kasperl@chromium.org
38f5a84701
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
2009-07-17 08:22:07 +00:00
iposva@chromium.org
260cacfde7
- 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
2009-07-17 06:32:29 +00:00
kasperl@chromium.org
124ef540c0
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
2009-07-17 05:37:09 +00:00
kasperl@chromium.org
a6e5a0268b
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
2009-07-17 05:00:38 +00:00
kasperl@chromium.org
94c4760225
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
2009-07-17 04:57:17 +00:00
iposva@chromium.org
5ec5dcbd82
- 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
2009-07-16 22:41:28 +00:00
bak@chromium.org
752a8fbaba
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
2009-07-16 14:59:28 +00:00
bak@chromium.org
78ffa1df4d
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
2009-07-16 13:25:45 +00:00
bak@chromium.org
e0047e4331
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
2009-07-16 12:56:50 +00:00
whesse@chromium.org
263acb4d02
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
2009-07-16 12:49:14 +00:00
whesse@chromium.org
e21d0b510c
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
2009-07-16 12:09:05 +00:00
antonm@chromium.org
6f30c0e7ec
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
2009-07-16 10:57:17 +00:00
whesse@chromium.org
a1cf7d6e3d
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
2009-07-16 08:38:52 +00:00
yurys@chromium.org
20e4b1dbc5
Reapply http://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
2009-07-16 07:07:51 +00:00
kasperl@chromium.org
ca340d1e1b
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
2009-07-16 06:55:39 +00:00
whesse@chromium.org
10605879f6
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
2009-07-15 12:30:28 +00:00
kasperl@chromium.org
ce37937df1
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
2009-07-15 10:37:10 +00:00
yurys@chromium.org
12d5143551
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
2009-07-15 09:45:06 +00:00
sandholm@chromium.org
92acc9f82e
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
2009-07-15 09:35:04 +00:00
kmillikin@chromium.org
6443cb99f7
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
2009-07-15 08:57:25 +00:00
sandholm@chromium.org
5143ce8ff3
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
2009-07-15 08:47:51 +00:00
antonm@chromium.org
f12bdb27aa
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
2009-07-15 08:07:31 +00:00
mikhail.naganov@gmail.com
36b69749a5
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
2009-07-15 07:09:48 +00:00