mstarzinger@chromium.org
db73b0af16
Add a test case for object grouping in a scavenger GC
...
BUG=v8:2077
TEST=cctest/test-api/ApiObjectGroupsCycleForScavenger
Review URL: https://codereview.chromium.org/11312123
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-08 09:10:53 +00:00
mstarzinger@chromium.org
c54fc70f13
Store Object.observe state per-isolate rather than per-context
...
This requires adding a new JSObject to the strong root list and populating it from
object-observe.js. The main other change is that we now directly use ObjectHashTable
from JS rather than using WeakMap, since using the latter would end up leaking whichever
Context initialized that observation state.
Added a test via the API showing that different contexts all end up working on the same state.
Review URL: https://codereview.chromium.org/11274014
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-06 16:47:15 +00:00
mstarzinger@chromium.org
03ba764f3e
Put incremental code flushing behind a flag.
...
This is used to disable incremental code flushing by default for now
until we can stabilize it and make it ready for production.
R=verwaest@chromium.org
BUG=chromium:159140
Review URL: https://codereview.chromium.org/11367105
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12862 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-06 11:54:05 +00:00
mstarzinger@chromium.org
b77e629f1a
Implement IsIndependent(Isolate*)
...
BUG=
TEST=cctest/test-api/IndependentWeakHandle
Committed: https://code.google.com/p/v8/source/detail?r=12852
Review URL: https://codereview.chromium.org/11368053
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-05 13:20:45 +00:00
mstarzinger@chromium.org
ea00c51e24
Implement IsIndependent(Isolate*)
...
BUG=
TEST=cctest/test-api/IndependentWeakHandle
Review URL: https://codereview.chromium.org/11368053
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12852 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-05 12:35:51 +00:00
svenpanne@chromium.org
f3807ca17b
Heavy cleanup of the external pointer API.
...
Added highly efficient Object::SetAlignedPointerInInternalField and
Object::GetAlignedPointerFromInternalField functions for 2-byte-aligned
pointers. Their non-aligned counterparts Object::GetPointerFromInternalField and
Object::SetPointerInInternalField are now deprecated utility functions.
External is now a true Value again, with New/Value/Cast using a JSObject with an
internal field containing a Foreign. External::Wrap, and External::Unwrap are now
deprecated utility functions.
Added Context::GetEmbedderData and Context::SetEmbedderData. Deprecated
Context::GetData and Context::SetData, these are now only wrappers to access
internal field 0.
Added highly efficient Context::SetAlignedPointerInEmbedderData and
Context::GetAlignedPointerFromEmbedderData functions for 2-byte-aligned
pointers.
Review URL: https://codereview.chromium.org/11190050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-05 10:25:32 +00:00
yangguo@chromium.org
64793b3f0d
Correctly visit all external strings.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11340010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-02 12:45:00 +00:00
mstarzinger@chromium.org
014f00fa51
Fix code flusher to process weak function links.
...
This fixes a corner case where weak function links of the code flushing
candidates list were destroyed by scavenges that happened during
incremental marking. Now those weak function links are updated while
scavenging happens.
R=ulan@chromium.org
TEST=cctest/test-heap/TestCodeFlushingIncrementalScavenge
Review URL: https://codereview.chromium.org/11271006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-26 09:44:34 +00:00
mstarzinger@chromium.org
cee59bf522
Enable incremental code flushing.
...
This enables code flushing even with incremental marking enabled and
fully shares the function link field in JSFunctions between candidates
for code flushing and the optimized functions list. If a candidate for
code flushing gets optimized, it will be evicted from the candidates
list.
R=ulan@chromium.org
BUG=v8:1609
Review URL: https://codereview.chromium.org/11140025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-23 08:25:04 +00:00
mstarzinger@chromium.org
34d98a804d
Fix deletion of hidden property with inline-stored hash.
...
R=yangguo@chromium.org
BUG=chromium:157124
TEST=cctest/test-api/Regress157124
Review URL: https://codereview.chromium.org/11233033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 12:50:51 +00:00
danno@chromium.org
063609280e
Add a faster API for creating v8::Integer objects
...
In WebKit, we have a small integer cache because calling v8::Integer::New is
slow. This patch adds a faster API for creating integers that requires the
caller to supply the v8::Isolate, saving us the work of looking up the isolate
in thread-local storage.
BUG=
Review URL: https://codereview.chromium.org/11212004
Patch from Adam Barth <abarth@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 11:15:04 +00:00
ulan@chromium.org
c6feb5065c
Fix test runner for Android.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11193055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 09:55:27 +00:00
ulan@chromium.org
06a9f51ccb
Adjust Android test expectations.
...
Disable long running tests:
- test-threads/ThreadJoinSelf in release and debug modes.
- regress/regress-1122 in debug mode.
Disable failing test:
- preparser/strict-octal-regexp (v8 issue 2265).
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11185073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 09:28:23 +00:00
yangguo@chromium.org
5fa8f2f485
Pass pending exception to the message listener.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11014017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 08:45:24 +00:00
svenpanne@chromium.org
b54750c60f
Added a workaroung for a GCC visibility bug.
...
Movef a helper class to the top level to avoid
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40145 .
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/11194050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-18 07:22:24 +00:00
svenpanne@chromium.org
9dc2c5b83d
Add an API for enumerating persistent handles
...
This API lets the embedder enumerate handles that have class ids. WebKit will
use this feature during garbage collection to compute object groups for DOM
nodes. Previously, we kept a list of DOM nodes on the WebKit side, but that
list is redundant with the global handles list in V8.
Review URL: https://codereview.chromium.org/11190011
Patch from Adam Barth <abarth@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12750 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-18 06:52:37 +00:00
verwaest@chromium.org
72424b3987
Move DescriptorArray into the map.
...
Review URL: https://chromiumcodereview.appspot.com/11188031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-17 13:04:49 +00:00
jkummerow@chromium.org
62223bd2c0
Revert recent CPU profiler changes because they broke --prof.
...
This reverts r12649 and r12650.
BUG=v8:2364
Review URL: https://codereview.chromium.org/11193020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-17 12:24:31 +00:00
yurys@chromium.org
eee93ec99b
Allow evals for debugger even if they are prohibited in the debugee context.
...
BUG=154733
Review URL: https://codereview.chromium.org/11111015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-15 10:15:25 +00:00
svenpanne@chromium.org
6cf48ce3d7
Fixed heap verification guards.
...
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/11147016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-15 06:34:22 +00:00
ulan@chromium.org
c969afe137
Reland r12342: Flush monomorphic ICs on context disposal instead of context exit.
...
The crashes that caused r12342 to be reverted are fixed in r12563.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11092081
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-12 13:49:12 +00:00
mvstanton@chromium.org
b3c0ed8245
Enable --verify-heap in release mode
...
R=mstarzinger@chromium.org
BUG=v8:2120
Review URL: https://codereview.chromium.org/11118018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-12 11:41:14 +00:00
jkummerow@chromium.org
ecc7f4baad
Replacing circular queue by single buffer in CPU Profiler.
...
BUG=None
Review URL: https://codereview.chromium.org/10871039
Patch from Sergey Rogulenko <rogulenko@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-02 10:51:00 +00:00
jkummerow@chromium.org
dfb4218a04
Moving cpu profiling into its own thread.
...
BUG=None
Review URL: https://codereview.chromium.org/10857035
Patch from Sergey Rogulenko <rogulenko@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-02 09:58:11 +00:00
jkummerow@chromium.org
22d3864a0a
Fix cctests using Sockets to be able to run in parallel
...
BUG=v8:945
Review URL: https://codereview.chromium.org/11015008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12636 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-01 09:41:18 +00:00
jkummerow@chromium.org
975d6e2170
First commit of new tools/run-tests.py
...
Review URL: https://codereview.chromium.org/10919265
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-24 09:38:46 +00:00
yurys@chromium.org
26721b7dc0
This issue is for landing patch by vsevik: http://codereview.chromium.org/10966011/
...
SourceURL comments for scripts having a name.
sourceURL comment is now preferred script name for all scripts except
for those with non zero start position (e.g. inline scripts in HTML).
BUG=v8:2342
Review URL: https://codereview.chromium.org/10959038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12576 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-21 08:09:34 +00:00
mstarzinger@chromium.org
84935fb23a
Fix missing slot recodring during clearing of CallICs.
...
This fixes a rare corner case that was caused by missing recording of
relocation slots when the uninitialized CallIC stub happenes to land on
an evacuation candidate and the IC is cleared via the shared function.
R=ulan@chromium.org
BUG=chromium:144230
TEST=cctest/test-heap/Regression144230
Review URL: https://codereview.chromium.org/10963005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-20 10:45:38 +00:00
verwaest@chromium.org
5bf15c5d6c
Preallocate space in descriptor arrays.
...
Review URL: https://chromiumcodereview.appspot.com/10916336
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-18 13:25:12 +00:00
mstarzinger@chromium.org
86fd161fdc
Fix casting error for receiver of interceptors.
...
This fixes a casting error that occured when the receiver of a missed
or uninitialized CallIC is a Smi and there is an interceptor installed
on the prototype chain.
R=yangguo@chromium.org
BUG=chromium:149912
TEST=cctest/test-api/Regress149912
Review URL: https://codereview.chromium.org/10914317
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-17 14:39:10 +00:00
ulan@chromium.org
4bd4fb1aa4
Throw a more descriptive exception when blocking 'eval' via CSP.
...
BUG=140191
R=svenpanne@chromium.org ,mkwst@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10837358
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-17 09:58:22 +00:00
yangguo@chromium.org
8d04c8c89f
Replace r12503. Explicitly check toString() for exception in d8's print().
...
R=jkummerow@chromium.org
BUG=v8:2317
Review URL: https://chromiumcodereview.appspot.com/10911305
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-14 11:43:46 +00:00
erik.corry@gmail.com
5a8d1764bc
Refactoring of snapshots. This simplifies and improves
...
the speed of deserializing code. The current startup
time improvement for V8 is around 6%, but code deserialization
is speeded up disproportionately, and we will soon have more
code in the snapshot.
* Removed support for deserializing into large object space.
The regular pages are 1Mbyte now and that is plenty. This
is a big simplification.
* Instead of reserving space for the snapshot we actually
allocate it now. This removes some special casing from
the memory management and simplifies deserialization since
we are just bumping a pointer rather than calling the
normal allocation routines during deserialization.
* Record in the snapshot how much we need to boot up and
allocate it instead of just assuming that allocations in
a new VM will always be linear.
* In the snapshot we always address an object as a negative
offset from the current allocation point. We used to
sometimes address from the start of the deserialized data,
but this is less useful now that we have good support for
roots and repetitions in the deserialization data.
* Code objects were previously deserialized (like other
objects) by alternating raw data (deserialized with memcpy)
and pointers (to external references, other objects, etc.).
Now we deserialize code objects with a single memcpy,
followed by a series of skips and pointers that partially
overwrite the code we memcopied out of the snapshot.
The skips are sometimes merged into the following
instruction in the deserialization data to reduce dispatch
time.
* Integers in the snapshot were stored in a variable length
format that gives a compact representation for small positive
integers. This is still the case, but the new encoding can
be decoded without branches or conditional instructions,
which is faster on a modern CPU.
Review URL: https://chromiumcodereview.appspot.com/10918067
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12505 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-14 11:16:56 +00:00
yangguo@chromium.org
4fe330c055
Not mask exception thrown by toString in String::UtfValue etc.
...
R=jkummerow@chromium.org
BUG=v8:2317
Review URL: https://chromiumcodereview.appspot.com/10917236
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12503 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-14 08:13:57 +00:00
yangguo@chromium.org
4f47e68a08
Fix printf formatting in test-compiler.
...
R=jkummerow@chromium.org
BUG=v8:2319
Review URL: https://chromiumcodereview.appspot.com/10928182
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12499 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-13 15:06:15 +00:00
mstarzinger@chromium.org
8db2000615
Fix API check for length of external arrays.
...
R=jkummerow@chromium.org
BUG=chromium:148896
TEST=cctest/test-api/ExternalArrayLimits
Review URL: https://codereview.chromium.org/10914257
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-13 09:36:56 +00:00
verwaest@chromium.org
ebd3241b05
Sharing of descriptor arrays.
...
This CL adds multiple things:
Transition arrays do not directly point at their descriptor array anymore, but rather do so via an indirect pointer (a JSGlobalPropertyCell).
An ownership bit is added to maps indicating whether it owns its own descriptor array or not.
Maps owning a descriptor array can pass on ownership if a transition from that map is generated; but only if the descriptor array stays exactly the same; or if a descriptor is added.
Maps that don't have ownership get ownership back if their direct child to which ownership was passed is cleared in ClearNonLiveTransitions.
To detect which descriptors in an array are valid, each map knows its own NumberOfOwnDescriptors. Since the descriptors are sorted in order of addition, if we search and find a descriptor with index bigger than this number, it is not valid for the given map.
We currently still build up an enumeration cache (although this may disappear). The enumeration cache is always built for the entire descriptor array, even if not all descriptors are owned by the map. Once a descriptor array has an enumeration cache for a given map; this invariant will always be true, even if the descriptor array was extended. The extended array will inherit the enumeration cache from the smaller descriptor array. If a map with more descriptors needs an enumeration cache, it's EnumLength will still be set to invalid, so it will have to recompute the enumeration cache. This new cache will also be valid for smaller maps since they have their own enumlength; and use this to loop over the cache. If the EnumLength is still invalid, but there is already a cache present that is big enough; we just initialize the EnumLength field for the map.
When we apply ClearNonLiveTransitions and descriptor ownership is passed back to a parent map, the descriptor array is trimmed in-place and resorted. At the same time, the enumeration cache is trimmed in-place.
Only transition arrays contain descriptor arrays. If we transition to a map and pass ownership of the descriptor array along, the child map will not store the descriptor array it owns. Rather its parent will keep the pointer. So for every leaf-map, we find the descriptor array by following the back pointer, reading out the transition array, and fetching the descriptor array from the JSGlobalPropertyCell. If a map has a transition array, we fetch it from there. If a map has undefined as its back-pointer and has no transition array; it is considered to have an empty descriptor array.
When we modify properties, we cannot share the descriptor array. To accommodate this, the child map will get its own transition array; even if there are not necessarily any transitions leaving from the child map. This is necessary since it's the only way to store its own descriptor array.
Review URL: https://chromiumcodereview.appspot.com/10909007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-12 16:43:57 +00:00
yangguo@chromium.org
6a9e4048aa
Introduce new API to expose external string resource regardless of encoding.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/10917211
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-12 11:29:50 +00:00
yangguo@chromium.org
59b9a32b34
Fix edge case of extension with NULL as source string.
...
BUG=144649
Review URL: https://chromiumcodereview.appspot.com/10914201
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-11 14:16:56 +00:00
yangguo@chromium.org
bf229e93eb
Enable/disable LiveEdit using the (C++) debug API.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/10875072
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-10 09:24:17 +00:00
erik.corry@gmail.com
03e4ddcfcf
Loosen up code logging test that was sensitive to GC timing.
...
Review URL: https://chromiumcodereview.appspot.com/10918096
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-06 11:05:40 +00:00
yangguo@chromium.org
5ac2a5d22e
Revert r12430, r12432, r12433 (basic support for Latin1).
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/10905075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-04 12:23:22 +00:00
yangguo@chromium.org
37c1c06108
Fix more windows build warnings.
...
TBR=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/10917065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-03 15:50:24 +00:00
yangguo@chromium.org
74f06b1f99
Add basic support for Latin1 to the API.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/10857030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-03 15:06:36 +00:00
mstarzinger@chromium.org
74aa15bfa0
Fix FindSharedFunctionInfoInScript to not optimize.
...
This prevents a corner case in FindSharedFunctionInfoInScript that would cause
functions to be optimized because an intermittent GC would clear the flag
indicating whether breakpoints are present. Above method was also moved into the
Debug class because it is only used by the debugger.
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10914065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-03 14:23:00 +00:00
yangguo@chromium.org
5419ee7ba0
Release stack trace data after firing Error.stack accessor.
...
BUG=v8:2308
Review URL: https://chromiumcodereview.appspot.com/10886012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-29 07:51:48 +00:00
jkummerow@chromium.org
f9d4856289
Add a new API V8::SetJitCodeEventHandler to push code name and location to users such as profilers.
...
BUG=None
TEST=Included in CL.
Committed: https://code.google.com/p/v8/source/detail?r=12389
Review URL: https://chromiumcodereview.appspot.com/10795074
Patch from Sigurður Ásgeirsson <siggi@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12401 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-28 14:43:28 +00:00
rossberg@chromium.org
ccc827a6f8
Allocate block-scoped global bindings to global context.
...
- The global object has a reference to the current global scope chain.
Running a script adds to the chain if it contains global lexical declarations.
- Scripts are executed relative to a global, not a native context.
- Harmony let and const bindings are allocated to the innermost global context;
var and function still live on the global object.
(Lexical bindings are not reflected on the global object at all,
but that will probably change later using accessors, as for modules.)
- Compilation of scripts now needs a (global) context (previously only eval did).
- The global scope chain represents one logical scope, so collision tests take
the chain into account.
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/10872084
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-28 11:25:08 +00:00
rossberg@chromium.org
1dbf670713
Index script compilation cache over context, too,
...
in preparation for global lexical scope.
R=ulan@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10878007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-28 10:49:23 +00:00
yangguo@chromium.org
7cbca775ee
Reland regexp global optimizations.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/10872010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-28 09:37:41 +00:00
verwaest@chromium.org
a713f82aa6
Revert "Add a new API V8::SetJitCodeEventHandler to push code name and location to users such as profilers."
...
This reverts commit r12389.
TBR=jkummerow@chromium.org , CC=siggi@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10870108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-27 19:47:02 +00:00
jkummerow@chromium.org
0a6493b5a8
Add a new API V8::SetJitCodeEventHandler to push code name and location to users such as profilers.
...
BUG=None
TEST=Included in CL.
Review URL: https://chromiumcodereview.appspot.com/10795074
Patch from Sigurður Ásgeirsson <siggi@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-27 18:03:38 +00:00
ulan@chromium.org
7b1d13affc
Revert r12342 "Flush monomorphic ICs on context disposal instead of context exit." because of canary channel crashes.
...
BUG=144230
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10868068
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-27 16:08:27 +00:00
rossberg@chromium.org
6d579f430e
Test case for conflicting global declarations across multiple scripts.
...
R=ulan@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10872037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-23 16:38:15 +00:00
erikcorry
c6094f5237
Fix semaphore on MacOS. This is a commit of https://chromiumcodereview.appspot.com/10867009/ for Fedor Indutny
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-23 11:15:06 +00:00
yangguo@chromium.org
01d8e3d4f5
Revert r12258, r12300 and r12302 (global regexp).
...
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/10825472
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-21 09:46:23 +00:00
svenpanne@chromium.org
f7ed521fce
Handle native callbacks without getters.
...
TEST=cctest/test-api/SetterOnly,cctest/test-api/NoAccessors
Review URL: https://chromiumcodereview.appspot.com/10831388
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-20 14:32:32 +00:00
ulan@chromium.org
bac8e56f8d
Fix test failures introduced by r12342.
...
Add missing context disposed notifications in test-api.
Move send-idle-notification flag to d8 options so that it is available in d8
when v8 is build as a shared libarary.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10834405
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-20 13:19:52 +00:00
ulan@chromium.org
27fb8c2cf6
Flush monomorphic ICs on context disposal instead of context exit.
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10836189
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-20 12:09:03 +00:00
rossberg@chromium.org
984d0b0925
Rename Context::global to Context::global_object,
...
in preparation for global lexical scope.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10832365
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-17 12:59:00 +00:00
rossberg@chromium.org
42552808ab
Rename "global context" to "native context",
...
in anticipation of the upcoming lexical global scope.
Mostly automatised as:
for FILE in `egrep -ril "global[ _]?context" src test/cctest`
do
echo $FILE
sed "s/Global context/Native context/g" <$FILE >$FILE.0
sed "s/global context/native context/g" <$FILE.0 >$FILE.1
sed "s/global_context/native_context/g" <$FILE.1 >$FILE.2
sed "s/GLOBAL_CONTEXT/NATIVE_CONTEXT/g" <$FILE.2 >$FILE.3
sed "s/GlobalContext/NativeContext/g" <$FILE.3 >$FILE
rm $FILE.[0-9]
done
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10832342
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-17 09:03:08 +00:00
verwaest@chromium.org
61d11f99c4
Show map -> transition array -> descriptor array to the heap profiler.
...
BUG=chromium:142625
Review URL: https://chromiumcodereview.appspot.com/10830309
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-16 14:25:55 +00:00
mstarzinger@chromium.org
15589fe22a
Fix improved LoadICs for dictionaries with callbacks.
...
This fixes the positive lookup performed by these LoadICs, to use the
holder instead of the receiver to perfrom the lookup on. It also extends
this improvement to KeyedLoadICs. And it fixes a bug introduced for the
JavaScript getter case of a LoadIC.
R=erik.corry@gmail.com
BUG=chromium:142088
TEST=cctest/test-api/Regress142088,cctest/test-api/Regress137002b
Review URL: https://chromiumcodereview.appspot.com/10828303
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-14 13:17:47 +00:00
verwaest@chromium.org
d53de0590a
Swapped transition array and descriptor array.
...
Now a map points to a transition array which contains the descriptor array. The descriptor array is now immutable. The next step is to share the descriptor array with all back-pointed maps as long as there is a single line of extension. Maps that require a descriptor array but don't need transitions will still need a pseudo-empty transition array to contain the descriptor array.
Review URL: https://chromiumcodereview.appspot.com/10816005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-13 08:43:16 +00:00
erik.corry@gmail.com
ac4b44297b
Add checks for interceptors to negative lookup code in Crankshaft.
...
BUG=140473
Review URL: https://chromiumcodereview.appspot.com/10837141
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-07 14:48:19 +00:00
mstarzinger@chromium.org
fa2287fa96
Force eager compilation of parenthesized functions.
...
This makes the compiler use eager compilation for function literals that
are parenthesized. We consider this to be a hint that the function will
be called immediatly and hence try to avoid parsing it twice. The parser
already respects this heuristic.
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10836132
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-07 14:47:36 +00:00
erik.corry@gmail.com
92f30d1df5
Improve load IC so it can call a native accessor even if the holder is
...
in dictionary mode. Add a flag to all maps to indicate whether they are
used for dictionary (normalized) objects or fast mode objects.
Review URL: https://chromiumcodereview.appspot.com/10831153
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-06 14:25:19 +00:00
mstarzinger@chromium.org
182b0bfb87
Factor out SimulateIncrementalMarking in test-heap.
...
R=ulan@chromium.org
TEST=cctest/test-heap
Review URL: https://chromiumcodereview.appspot.com/10824178
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-06 11:04:40 +00:00
mstarzinger@chromium.org
81a43b5607
Make incremental marking clear ICs.
...
This extends the existing clearing of ICs during GC to incremental
marking in order to prevent cross-context retention that would last
until the next non-incremental GC.
R=erik.corry@gmail.com
TEST=cctest/test-heap/IncrementalMarkingClears[Mono,Poly]morhpicIC
Review URL: https://chromiumcodereview.appspot.com/10831123
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-06 10:35:48 +00:00
yangguo@chromium.org
e0954ca592
Take advantage of batched results when matching global regexp.
...
BUG=
TEST=regexp-global.js
Review URL: https://chromiumcodereview.appspot.com/10831126
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-06 09:06:27 +00:00
yangguo@chromium.org
4e82c3fb1a
Allow SetHiddenValue to accept empty value.
...
R=mstarzinger@chromium.org
BUG=v8:2274
Review URL: https://chromiumcodereview.appspot.com/10825196
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12257 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-06 07:55:05 +00:00
mstarzinger@chromium.org
680c4a7a13
Make test-heap resilient against --stress-compaction.
...
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10843052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-02 14:20:38 +00:00
erik.corry@gmail.com
5c6db6d081
Fix the 137002 fix (Don't generate ICs for accessors on slow
...
case objects). We should be testing the holder for dictionary
mode, not the receiver.
Review URL: https://chromiumcodereview.appspot.com/10827113
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-01 12:35:33 +00:00
mstarzinger@chromium.org
7dd2e9777c
Make incremental marking clear type feedback cells.
...
This extends the existing clearing of type feedback cells during GC to
incremental marking in order to prevent cross-context retention that
would last until the next non-incremental GC.
R=erik.corry@gmail.com
TEST=cctest/test-heap/IncrementalMarkingClearsTypeFeedbackCells
Review URL: https://chromiumcodereview.appspot.com/10823082
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12245 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-01 11:24:14 +00:00
mstarzinger@chromium.org
3bb994c4e4
Make test-serialize resilient against --gc-interval.
...
R=erik.corry@gmail.com
TEST=cctest/test-serialize (--gc-interval=100)
Review URL: https://chromiumcodereview.appspot.com/10829097
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-01 09:43:05 +00:00
erik.corry@gmail.com
1d0f872ef9
Fix full code generator to not use --debug-code if it is in
...
mksnapshot or a VM that is booted from a snapshot. --debug-code
can still have an effect on stub and optimized code and it still
works on the full code generator when running without snapshots.
The deoptimizer generates full-code-generator code and relies on it having
the same layout as last time. This means that the code the full code
generator makes for the snapshot should be the same as the code it makes
later. This change makes the full code generator create more consistent
code between mksnapshot time and run time.
This is a bug fix and a step towards making the snapshot code more robust.
Review URL: https://chromiumcodereview.appspot.com/10834085
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-31 14:59:32 +00:00
yangguo@chromium.org
1094c8f17c
Fix regression test on x64.
...
R=verwaest@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10827084
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-30 13:48:52 +00:00
yangguo@chromium.org
514fc74a47
Limit initial size of hidden properties and store identity hashes inline.
...
BUG=v8:2211
TEST=test-heap/Regress2211
Review URL: https://chromiumcodereview.appspot.com/10827040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-30 13:09:09 +00:00
mstarzinger@chromium.org
249f29f22b
Make AlwaysAllocateScope imply DisallowAllocationFailure.
...
R=erik.corry@gmail.com
TEST=cctest/test-api,cctest/test-heap (--gc-interval=100)
Review URL: https://chromiumcodereview.appspot.com/10824082
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-30 13:07:29 +00:00
yangguo@chromium.org
cfc5cf0b76
Fix build errors.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10832061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-30 08:54:51 +00:00
yangguo@chromium.org
0acc9e13af
Make sure double to int conversion is correct.
...
R=svenpanne@chromium.org
BUG=v8:2260
TEST=test-utils/Utils1
Review URL: https://chromiumcodereview.appspot.com/10820047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12216 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-30 08:34:26 +00:00
yangguo@chromium.org
b58cfd485e
Avoid GC when printing shared function info.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10828048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-27 09:54:56 +00:00
yangguo@chromium.org
59f212e7eb
Relax requirement from VFP3 to VFP2 where possible.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10818026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-25 15:26:16 +00:00
yangguo@chromium.org
6b489d9753
Improve String::WriteAscii and add PRESERVE_ASCII_NULL option.
...
The PRESERVE_ASCII_NULL option prevents WriteAscii from converting
\0 to white space.
R=verwaest@chromium.org
BUG=v8:2252
TEST=test-api/StringWrite
Review URL: https://chromiumcodereview.appspot.com/10810056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-23 14:22:46 +00:00
jkummerow@chromium.org
c56050a08a
Android test runner: Update cctest status
...
Review URL: https://chromiumcodereview.appspot.com/10802030
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-20 10:00:31 +00:00
yangguo@chromium.org
53f329ab5f
Add test case for custom error's toString.
...
R=arv@chromium.org
BUG=
TEST=error-tostring.js
Review URL: https://chromiumcodereview.appspot.com/10388208
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-20 08:03:46 +00:00
sanjoy@chromium.org
693c7643d2
Optimize functions on a second thread.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10807024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-19 18:58:23 +00:00
verwaest@chromium.org
52bfb2a18e
Moved lastadded from DescriptorArray to Map. Renamed kLastAdded to kEnumCache.
...
Review URL: https://chromiumcodereview.appspot.com/10802034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-19 14:45:19 +00:00
verwaest@chromium.org
cd98b0c839
Removed CopyAppendForeignDescriptor.
...
Use descriptor array preallocation + appending instead.
Review URL: https://chromiumcodereview.appspot.com/10782033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-18 14:00:58 +00:00
yangguo@chromium.org
d340db9135
Insert missing write barrier in sliced string allocation.
...
BUG=v8:2237
TEST=test-heap/Regress2237
Review URL: https://chromiumcodereview.appspot.com/10781033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12127 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-18 13:39:53 +00:00
jkummerow@chromium.org
6a60899022
Build V8 for Android IA
...
Review URL: https://chromiumcodereview.appspot.com/10778033
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-18 11:43:44 +00:00
verwaest@chromium.org
33147848dc
Fix presubmit failure in r12107.
...
Review URL: https://chromiumcodereview.appspot.com/10780035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12108 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-17 16:00:00 +00:00
danno@chromium.org
43d0ed048d
Implements a new API to set a function entry hook for profiling.
...
Exposes a new API; V8::SetFunctionEntryHook.
If a non-NULL function entry hook is set, the code generator(s) will invoke on the entry hook at the very start of each generated function.
Committed: https://code.google.com/p/v8/source/detail?r=12069
Committed: https://code.google.com/p/v8/source/detail?r=12083
Review URL: https://chromiumcodereview.appspot.com/10706002
Patch from Sigurður Ásgeirsson <siggi@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-17 15:18:15 +00:00
mstarzinger@chromium.org
6744e6e9a6
Remove obsolete ParserApi::PartialPreParse method.
...
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10787036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12103 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-17 11:31:05 +00:00
mstarzinger@chromium.org
bb9f4470c6
Fix missing tagging of stack value in finally block.
...
R=yangguo@chromium.org
BUG=chromium:137496
TEST=cctest/test-api/Regress137496
Review URL: https://chromiumcodereview.appspot.com/10787017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12096 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-16 13:38:17 +00:00
mstarzinger@chromium.org
f71de19a4b
Fix ICs for slow objects with native accessor.
...
This prevents creation of LoadICs or StoreICs for native callbacks on
objects in dictionary mode. Those ICs fail if the accessor is installed
on the receiver itself and also lead to bogus type feedback.
R=danno@chromium.org
BUG=chromium:137002
TEST=test/test-api/Regress137002[a,b]
Review URL: https://chromiumcodereview.appspot.com/10781011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12088 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-16 09:53:32 +00:00
danno@chromium.org
b1530257ab
Revert 12083: Implements a new API to set a function entry hook for profiling.
...
TBR=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10695206
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-13 16:33:27 +00:00
danno@chromium.org
5c8c4bec46
Implements a new API to set a function entry hook for profiling.
...
Exposes a new API; V8::SetFunctionEntryHook.
If a non-NULL function entry hook is set, the code generator(s) will invoke on the entry hook at the very start of each generated function.
Committed: https://code.google.com/p/v8/source/detail?r=12069
Review URL: https://chromiumcodereview.appspot.com/10706002
Patch from Sigurður Ásgeirsson <siggi@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-13 16:18:37 +00:00
danno@chromium.org
30569cba9b
Revert 12069: Implements a new API to set a function entry hook for profiling
...
Reverted due to waterfall failures
TBR=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10704189
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-12 15:59:50 +00:00
danno@chromium.org
d6edbdd436
Implements a new API to set a function entry hook for profiling.
...
Exposes a new API; V8::SetFunctionEntryHook.
If a non-NULL function entry hook is set, the code generator(s) will invoke on the entry hook at the very start of each generated function.
Review URL: https://chromiumcodereview.appspot.com/10706002
Patch from Sigurður Ásgeirsson <siggi@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-12 15:42:39 +00:00
yangguo@chromium.org
8ce1ebb5cf
Do not enter the debugger when debugger is not active.
...
R=mstarzinger@chromium.org
BUG=
TEST=test-debug/DebuggerCreatesContextIffActive
Review URL: https://chromiumcodereview.appspot.com/10702166
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-12 11:31:52 +00:00
jkummerow@chromium.org
2f43f5e9d7
MIPS: Rename "mips" arch to "mipsel" in the GYP build.
...
In the traditional MIPS naming scheme, "mips" is used for
big-endian mips and "mipsel" is used for little-endian mips.
In V8 the "mips" build is little-endian, so the "mips" target is
renamed to "mipsel" to be compliant with the traditional MIPS
naming scheme.
This change is also required for supporting the Chromium project on MIPS.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10695114
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-11 15:15:04 +00:00
yangguo@chromium.org
b2f1c41218
Sync preparser and parser wrt syntax error in switch..case.
...
R=jkummerow@chromium.org
BUG=v8:2210
TEST=test-parsing/ParserSync
Review URL: https://chromiumcodereview.appspot.com/10701116
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-11 07:47:29 +00:00
mstarzinger@chromium.org
97cbaec08a
Add OS::GetCurrentProcessId and prepend output from trace-gc with the current pid
...
BUG=none
TEST=manual
Review URL: https://chromiumcodereview.appspot.com/9817002
Patch from Jochen Eisinger <jochen@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-10 12:52:36 +00:00
yangguo@chromium.org
5aacb93168
Correctly report octal literals in strict mode when preparsing.
...
SingletonLogger::LogMessage did not work as advertised and
overwrote existing message.
R=mstarzinger@chromium.org
BUG=v8:2220
TEST=test-parsing/PreparserStrictOctal
Review URL: https://chromiumcodereview.appspot.com/10689134
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-10 12:24:17 +00:00
verwaest@chromium.org
75407ae2b7
Moving prototype transitions into the header of the transition array.
...
Review URL: https://chromiumcodereview.appspot.com/10692026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-10 07:53:00 +00:00
yangguo@chromium.org
b4cb3e28ca
Fix Debug::Break crash.
...
BUG=131642
TEST=test-debug/Regress131642
Review URL: https://chromiumcodereview.appspot.com/10698123
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-09 15:18:08 +00:00
yangguo@chromium.org
791632cf06
Fix compilation when disabling debugger support.
...
Based on a patch by Remi Duraffort <remi.duraffort@st.com>: http://codereview.chromium.org/10702093/
R=mstarzinger@chromium.org
BUG=
TEST=build with debuggersupport=off
Review URL: https://chromiumcodereview.appspot.com/10697085
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-05 16:23:14 +00:00
verwaest@chromium.org
d7a5b7d5e2
Separating transitions from descriptors.
...
In this design maps contain descriptor arrays, which in turn can contain transition arrays. If transitions are needed when no descriptor array is present, a descriptor array without real descriptors is inserted just so it can point at the transition array.
The transition array does not contain details about the field it transitions to. In order to weed out transitions to FIELDs from CONSTANT_FUNCTION (what used to be MAP_TRANSITION vs CONSTANT_TRANSITION), the transition needs to be followed and the details need to be looked up in the target map. CALLBACKS transitions are still easy to recognize since the transition targets are stored as an AccessorPair containing the maps, rather than the maps directly.
Currently AccessorPairs containing a transition and an accessor are shared between the descriptor array and the transition array. This simplifies lookup since we only have to look in one of both arrays. This will change in subsequent revisions, when descriptor arrays will become shared between multiple maps, since transitions cannot be shared.
Review URL: https://chromiumcodereview.appspot.com/10697015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-05 13:54:20 +00:00
ulan@chromium.org
c22c7054f2
Add Makefile targets for running tests on Android.
...
This allows to run tests on the attached Android device using
> make android.check
> make android.debug.check
> make android.release.check
> ANDROID_V8=/data/local/v8 TESTJOBS=-j4 make android.release.check -j10
Tests and binaries are copied to device location specified by the ANDROID_V8
variable and then tests are executed using the 'adb shell' program.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10696048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-03 07:45:58 +00:00
yurys@chromium.org
771ba7ae99
Report "hidden properties" in heap profiler for properties case
...
BUG=v8:2212
TEST=cctest/test-heap-profiler/HiddenPropertiesFastCase
Review URL: https://chromiumcodereview.appspot.com/10692058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-02 12:46:31 +00:00
yangguo@chromium.org
20ebd21b09
Port r7868 (constant masking) to x64.
...
BUG=v8:1374
TEST=test-compiler/SplitConstantsInFullCompiler
Review URL: https://chromiumcodereview.appspot.com/10662045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11932 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-26 13:56:48 +00:00
mstarzinger@chromium.org
51afb2ad8b
Fix failing test after r11924.
...
R=verwaest@chromium.org
BUG=chromium:132744
TEST=cctest/test-dictionary/ObjectHashTableCausesGC
Review URL: https://chromiumcodereview.appspot.com/10658016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-25 13:57:52 +00:00
verwaest@chromium.org
a7565d696a
Update heap test so it calls gc 6 times. This is necessary to avoid flakiness.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10668022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11925 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-25 13:55:36 +00:00
mstarzinger@chromium.org
362381c68d
Fix Harmony Maps and WeakMaps for undefined values.
...
R=rossberg@chromium.org
BUG=chromium:132744
TEST=mjsunit/harmony/collections
Review URL: https://chromiumcodereview.appspot.com/10658014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11924 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-25 13:33:48 +00:00
yangguo@chromium.org
9a0069b639
Skip test for optimized code sharing if flag is disabled by default.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10642019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11906 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-22 12:47:11 +00:00
mstarzinger@chromium.org
6cf640ab6c
Adapt fragmentation heuristics for over reserved pages.
...
This adapts the heuristics that detect fragmented pages to reduce memory
footprint for spaces with over reserved memory. This minimizes external
fragmentation caused by pages that cannot be released to the OS because
of just a few live objects on them.
R=erik.corry@gmail.com
TEST=cctest/test-heap/ReleaseOverReservedPages
Review URL: https://chromiumcodereview.appspot.com/10629004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-22 09:29:49 +00:00
mstarzinger@chromium.org
3e0e042e4a
Add unit test for r11818.
...
R=rossberg@chromium.org
TEST=cctest/test-decls/ExistsInHiddenPrototype
Review URL: https://chromiumcodereview.appspot.com/10628002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-21 11:31:30 +00:00
mstarzinger@chromium.org
d3d59e71e9
Revert r11834 because of broken Chromium unit test.
...
R=yangguo@chromium.org
BUG=v8:2166
Review URL: https://chromiumcodereview.appspot.com/10630003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-21 11:10:53 +00:00
ulan@chromium.org
9006c1b223
In test-api.cc a few calls to Heap::CollectAllGarbage use obsolete argument.
...
The assertion failure I ran into is in Regress1516, where collector falls back to SCAVENGER, during x64.debug.check run.
Zheng Liu
zheng.z.liu@intel.com
Review URL: https://chromiumcodereview.appspot.com/10536199
Patch from Zheng Liu <zheng.z.liu@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-20 16:07:30 +00:00
sanjoy@chromium.org
6fef6e451c
Unbreak bleeding_edge by getting the Parser to work with a CompilationInfo instead of a Handle<Script> and a Zone. This should have been fixed in the initial patch itself but escaped my attention.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10583031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11878 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-20 10:56:53 +00:00
sanjoy@chromium.org
9e4fbb45c1
One Zone per CompilationInfo.
...
The CompilationInfo record now saves a Zone, and the compiler pipeline
allocates memory from the Zone in the CompilationInfo. Before
compiling a function, we create a Zone on the stack and save a pointer
to that Zone to the CompilationInfo; which then gets picked up and
allocated from.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10534139
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-20 08:58:41 +00:00
erikcorry
458e87fd05
Snapshots: Add --extra-code flag to mksnapshot which lets you specify a file
...
with more JS code that is loaded into the VM before writing the snapshot. Get
rid of the hard coded limit on the partial snapshot cache size. This change
disables most of the serializer tests for the snapshot build of the VM: It's
getting too complicated to support both booting from a snapshot and then
creating a new snapshot from the same VM or loading more code with another
snapshot in the same VM.
Review URL: http://codereview.chromium.org/10574013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 18:38:03 +00:00
mstarzinger@chromium.org
a760b82cab
Enable lazy compilation for non-trivial outer contexts.
...
This changes the compiler to be more aggressive about lazy compilation
of closures with non-trivial outer context. Compilation can only be
triggered with a valid outer context now. One exception is the debugger,
which can request compilation of arbitrary shared code, but it ensures
to trigger compilation only at points where no context is needed.
This relands r11782, r11783, r11790 and a minor fix.
R=ulan@chromium.org
TEST=mjsunit/debug-script-breakpoints-nested
Review URL: https://chromiumcodereview.appspot.com/10543141
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 14:29:48 +00:00
mstarzinger@chromium.org
4f6e72ce29
Fix check in r11850 for nosse2 and novfp3 machines.
...
R=ulan@chromium.org
TEST=cctest/test-compiler/OptimizedCodeSharing
Review URL: https://chromiumcodereview.appspot.com/10573007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11859 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 12:54:24 +00:00
mstarzinger@chromium.org
b1fe586e6b
Fix optimized code caching in FastNewClosureStub.
...
This fixes a corner-case on ARM and MIPS where optimized code was not
shared immediately across closures when a function was used in several
global contexts at once.
R=ulan@chromium.org
TEST=cctest/test-compiler/OptimizedCodeSharing
Review URL: https://chromiumcodereview.appspot.com/10544205
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-18 13:26:43 +00:00
mstarzinger@chromium.org
dd21ee801b
Fix external exceptions in external try-catch handlers.
...
This tries to propagate exceptions which are externally thrown into
external try-catch handlers before scheduling them. This also allows
embedders to nest external try-catch handlers.
R=rossberg@chromium.org
BUG=v8:2166
TEST=cctest/test-api/TryCatchNested
Review URL: https://chromiumcodereview.appspot.com/10555004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-15 13:34:39 +00:00
erik.corry@gmail.com
045b2fbf20
Revert part of 11727 as it sometimes tanked V8 benchmark (raytrace) performance
...
for reasons that are not obvious. Now we make objects into fast-case objects
when they are made prototypes for other objects, but we do not mark objects
that are already fast case with a bit that helps keep them in fast case.
Review URL: https://chromiumcodereview.appspot.com/10556004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-15 11:53:09 +00:00
yangguo@chromium.org
a075583479
Unbreak interpreted regexp.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10535164
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-14 17:06:16 +00:00
danno@chromium.org
3515559a38
Increase old space in cctest/test-api/HugeConsStringOutOfMemory test.
...
This test is failing on MIPS since r11715 (a7d6f92c),
it seems that after the modifications in bootstrapper.cc,
this test runs out of old generation space on MIPS.
TEST=cctest/test-api/HugeConsStringOutOfMemory
BUG=
Review URL: https://chromiumcodereview.appspot.com/10533148
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-14 13:52:58 +00:00
yangguo@chromium.org
9978fae61d
Ensure removing processed command line arguments.
...
BUG="d8 --crankshaft --expose-debug-as" crashes
TEST=test-flags/FlagsRemoveIncomplete
Review URL: https://chromiumcodereview.appspot.com/10534137
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11803 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-13 15:02:05 +00:00
mstarzinger@chromium.org
9edaa1536b
Revert r11782, r11783 and r11790 due to Webkit failures.
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10536142
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-13 11:26:34 +00:00
yangguo@chromium.org
9a80637be7
Fix GCC 4.6 build.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10541137
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-13 07:17:37 +00:00
svenpanne@chromium.org
1ea5db0ed3
Martyn Capewell <m.m.capewell@googlemail.com>
...
Review URL: https://chromiumcodereview.appspot.com/10451037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 17:26:28 +00:00
mstarzinger@chromium.org
19ece2bec8
Enable lazy compilation for non-trivial outer contexts.
...
This changes the compiler to be more aggressive about lazy compilation
of closures with non-trivial outer context. Compilation can only be
triggered with a valid outer context now. One exception is the debugger,
which can request compilation of arbitrary shared code, but it ensures
to trigger compilation only at points where no context is needed.
R=ulan@chromium.org
TEST=mjsunit/debug-script-breakpoints-nested
Review URL: https://chromiumcodereview.appspot.com/10538102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 15:57:50 +00:00
yangguo@chromium.org
09179b314a
Reland r11753: Fix try..finally.
...
R=ulan@chromium.org
BUG=129171
TEST=test-api/TryFinallyMessage, mjsunit/try-finally-continue.js
Review URL: https://chromiumcodereview.appspot.com/10540095
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 13:18:05 +00:00
sanjoy@chromium.org
6125718f37
Remove TLS access for current Zone.
...
By passing around a Zone object explicitly we no longer need to do a
TLS access at the sites that allocate memory from the current Zone.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10534006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11761 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 12:42:31 +00:00
yangguo@chromium.org
e98fb1028b
Revert r11753.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10546092
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 11:21:21 +00:00
yangguo@chromium.org
1b25fb8fa9
Preserve error message during finally block in try..finally.
...
R=ulan@chromium.org
BUG=129171
TEST=test-api/TryFinallyMessage
Review URL: https://chromiumcodereview.appspot.com/10537078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 10:51:09 +00:00
jkummerow@chromium.org
a1c4fe13ee
Remove --crankshaft flag from the test infrastructure.
...
It has outlived its usefulness as Crankshaft is on by default anyway.
Review URL: https://chromiumcodereview.appspot.com/10539062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11749 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-08 14:47:12 +00:00
mstarzinger@chromium.org
81e8aa0016
Implement implicit instance checks for API accessors.
...
This allows to specify a constructor against which an implicit instance
check is performed for API accessors. If the receiver is incompatible,
an implicit TypeError is thrown and no callback is invoked.
R=svenpanne@chromium.org
BUG=v8:2075
TEST=cctest/test-api/InstanceCheckOn[*]
Review URL: https://chromiumcodereview.appspot.com/10442129
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-08 07:45:11 +00:00
alexeif@chromium.org
31a0d0257c
Serialize edge counts instead of indexes in heap snapshot.
...
The serialized node structure currently holds an index
of its first containment edge in the edges array.
The index can be quite big (up to 7 digits for large snapshots).
The patch changes the serialization format to pass
node containment edge count instead. For most nodes the count
is just a single digit number.
This reduces serialized snapshot size and therefore its transfer time.
Review URL: https://chromiumcodereview.appspot.com/10534008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-06 10:57:20 +00:00
erik.corry@gmail.com
911d447b96
Keep track of which maps are associated with prototype objects so we can tune the fast-case vs. hash map heuristics accordingly.
...
This is a reland of r11681 https://chromiumcodereview.appspot.com/10448011 , which was reverted because of layout test failures that were actually caused by the long-standing issue fixed in https://chromiumcodereview.appspot.com/10515006 (r11706).
Review URL: https://chromiumcodereview.appspot.com/10532021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-06 10:17:26 +00:00
yangguo@chromium.org
76f4f9efa8
Correctly check length when allocating string.
...
R=jkummerow@chromium.org
BUG=
TEST=regress-regexp-overflow.js
Review URL: https://chromiumcodereview.appspot.com/10538012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-05 17:41:59 +00:00
rossberg@chromium.org
4ea1fc0d27
Remove one more case behind --es5_readonly flag.
...
Plus add a couple of assertions.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10535011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-05 16:56:53 +00:00
rossberg@chromium.org
c13dd2ece6
Put inherited readonliness behind a flag,
...
since it currently breaks WebKit bindings massively.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10535007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11714 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-05 12:39:07 +00:00
sanjoy@chromium.org
98db16d94f
Progress towards making Zones independent of Isolates and Threads.
...
This CL changes some parts of the code to explicitly pass around a
Zone. Not passing in a zone is okay too (in fact most of v8 still
doesn't), but that may incur a TLS lookup.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10443114
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-04 14:42:58 +00:00
loislo@chromium.org
463a6ffdd4
Expose last seen heap object id via v8 public api.
...
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10444137
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-01 16:10:52 +00:00
rossberg@chromium.org
e4c472a7af
Implement correct checking for inherited readonliness on assignment.
...
Removes 6 out of 8 of our remaining unintentional failures on test262.
Also fixes treatment of inherited setters added after the fact.
Specifically:
- In the runtime, when looking for setter callbacks in the prototype chain,
also look for read-only properties. If one is found, reject (exception in
strict mode). If a proxy is found, invoke proper trap.
Note: this folds in the CanPut function from the spec and avoids an extra
lookup over the prototype chain.
- In generated code for stores, insert a test for the maps from the prototype
chain, but only up to the object where the property already exists (which
may be the object itself).
In Hydrogen, if the found property is read-only or not cacheable (e.g. a
proxy), bail out; in a stub, generate an unconditional miss (to get an
exception in strict mode).
- Add test cases and adapt existing test expectations.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10388047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11694 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-01 10:51:36 +00:00
erik.corry@gmail.com
b7b43e9af9
Revert r11681 https://chromiumcodereview.appspot.com/10448011
...
(Keep track of which maps are associated with prototype objects so we can tune the fast-case vs. hash map heuristics accordingly.).
Reverting because the dict-mode to fast case transformation loses the iteration order information.
Review URL: https://chromiumcodereview.appspot.com/10448097
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-31 09:27:39 +00:00
erik.corry@gmail.com
8cf2af4392
Keep track of which maps are associated with prototype objects
...
so we can tune the fast-case vs. hash map heuristics accordingly.
Review URL: https://chromiumcodereview.appspot.com/10448011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-30 14:40:57 +00:00
mstarzinger@chromium.org
ebe9a0e0b2
Fix missing write barrier in store field stub.
...
R=vegorov@chromium.org
BUG=v8:2143,v8:1465,chromium:129355
TEST=cctest/test-heap/Regress2143
Review URL: https://chromiumcodereview.appspot.com/10443052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-29 16:39:26 +00:00
mstarzinger@chromium.org
569c0d5e13
Add comment to cctest status file.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10452028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11659 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-25 09:25:15 +00:00
yurys@chromium.org
60da267ab6
Clear pending functions list in FuncNameInferrer when it closes
...
BUG=v8:2146
Review URL: https://chromiumcodereview.appspot.com/10414075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 12:41:55 +00:00
svenpanne@chromium.org
ff216c9cea
Re-land: Use map transitions when defining accessor properties.
...
This is basically r11496, with the following changes:
* Set back pointers in maps (cherry-picked from r11528)
* Fixed size calculation in CopyInsert, as proposed by mstarzinger/rossberg
* DefineFastAccessor uses GetCallbackObject instead of GetValue (for __proto__)
* Put the code under a new flag, which is disabled by default
* Cut down the corresponding regression test
* Adapted bootup memory test, we actually only need a bit more memory on 64bit without snapshots, which can easily explained by more live maps lying around. Note that the snapshot variants are back to their previous limits.
Next steps: Investigate any performance degradationswith the flag enabled, and finally remove the flag when things are OK. Furthermore, GetCallbackObject should be merged into GetValue, the distinction is confusing and error-prone.
Review URL: https://chromiumcodereview.appspot.com/10445009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 10:40:24 +00:00
danno@chromium.org
9910edbb9a
Implement tracking and optimizations of packed arrays
...
R=jkummerow@chromium.org
TEST=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10170030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11636 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-23 14:24:29 +00:00
loislo@chromium.org
610ef68f06
Eliminate dominator and retained_size fields. They are calculating on front-end side. See meta-bug https://bugs.webkit.org/show_bug.cgi?id=87089
...
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10416035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-23 05:27:08 +00:00
yangguo@chromium.org
578fc3cc2d
Implement loop for global regexps in regexp assembler.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10386090
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11623 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-22 14:05:44 +00:00
mstarzinger@chromium.org
f9b93e6cc7
Implement map collection for incremental marking.
...
This causes map transitions to be treated weakly during incremental
marking and hence allows clearing of non-live transitions. The marking
code is now shared between incremental and non-incremental mode.
R=vegorov@chromium.org
BUG=v8:1465
TEST=cctest/test-heap/Regress1465
Review URL: https://chromiumcodereview.appspot.com/10310168
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 10:07:50 +00:00
mstarzinger@chromium.org
88a9350f14
Revert r11556 and r11558 to allow roll.
...
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10383182
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 12:01:23 +00:00
mstarzinger@chromium.org
731e4ed33b
Fix regression test from r11556 for no-snapshot.
...
R=yangguo@chromium.org
BUG=v8:1465
TEST=cctest/test-heap/Regress1465
Review URL: https://chromiumcodereview.appspot.com/10391136
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 09:08:31 +00:00
mstarzinger@chromium.org
0c54a2371c
Implement map collection for incremental marking.
...
This causes map transitions to be treated weakly during incremental
marking and hence allows clearing of non-live transitions. The marking
code is now shared between incremental and non-incremental mode.
R=vegorov@chromium.org
BUG=v8:1465
TEST=cctest/test-heap/Regress1465
Review URL: https://chromiumcodereview.appspot.com/10386046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11556 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 08:39:25 +00:00
jkummerow@chromium.org
1819105559
Prepare for using GYP build on buildbots
...
Review URL: https://chromiumcodereview.appspot.com/10383128
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-11 12:18:09 +00:00
alexeif@chromium.org
132af25697
Split nodes and edges into separate arrays in heap profiler.
...
This allowed the following changes:
- heap profiler now makes one pass less over the heap.
- HeapEntriesMap does not allocate EntryInfo per each entry.
- there's no need for an extra pass to set indexes before serialization.
As a result snapshot taking time has reduced up to 2x times.
Review URL: https://chromiumcodereview.appspot.com/10353010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-09 14:34:13 +00:00
svenpanne@chromium.org
b8c63a576e
Bumped bootup memory limit on 32bit platforms using snapshot.
...
Somehow the mmaps we do look the same, but the info in the proc FS tells us that
we use a bit more memory. I am not sure if this is a real issue or not, but this
CL should at least get the build bots green again...
TBR=erik.corry@gmail.com
TEST=cctest/test-mark-compact/BootUpMemoryUse
Review URL: https://chromiumcodereview.appspot.com/10342016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 14:31:20 +00:00
mstarzinger@chromium.org
d965561862
Fix register clobbering in LoadIC for interceptors.
...
This fixes a corner-case where the receiver register was clobbered by
LoadICs for interceptors and inlined followup code still relied on the
receiver to be intact in case of prototype changes.
R=vegorov@chromium.org
BUG=chromium:125988
TEST=cctest/test-api/Regress125988
Review URL: https://chromiumcodereview.appspot.com/10358010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 11:28:24 +00:00
erik.corry@gmail.com
bd3c2c028f
Enable code flushing even when objects were marked incrementally,
...
since the incremental visitor is setting the gc_age fields correctly.
This means the ResetSharedFunctionInfoCountersDuringIncrementalMarking
test passes even if it hits a marking stack overflow.
Review URL: https://chromiumcodereview.appspot.com/10258001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-02 12:58:40 +00:00
ulan@chromium.org
bc46d6c4a4
Make sure idle notifications perform a round of incremental GCs after context disposal.
...
BUG=v8:2107
Review URL: https://chromiumcodereview.appspot.com/10209026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-30 14:41:12 +00:00
erik.corry@gmail.com
f7b4a96b84
Fix spurious bugs in GrowAndShrinkNewSpace when the
...
min and max new space sizes are equal.
Review URL: https://chromiumcodereview.appspot.com/10241002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-26 14:45:58 +00:00
erik.corry@gmail.com
7783ba5d81
Reenable some heap verification and fix test to keep
...
heap in a consistent state.
Review URL: https://chromiumcodereview.appspot.com/10227002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11446 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-26 09:11:45 +00:00
mstarzinger@chromium.org
6aeed46180
Make String::Empty inlineable.
...
R=svenpanne@chromium.org
TEST=cctest/test-api/StringEmpty
Review URL: https://chromiumcodereview.appspot.com/10199019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-25 08:45:45 +00:00
mstarzinger@chromium.org
c25a92d76b
Make Isolate::GetData and Isolate::SetData inlineable.
...
R=svenpanne@chromium.org
TEST=cctest/test-api/IsolateEmbedderData
Review URL: https://chromiumcodereview.appspot.com/10196013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-24 14:37:53 +00:00
mstarzinger@chromium.org
5113cc1bbc
Make static API getters inlineable again.
...
This relands r11376 with minor fixes for Windows where offsets are
slightly different from Linux for unaligned fields.
R=svenpanne@chromium.org
TEST=cctest/test-api/StaticGetters
Review URL: https://chromiumcodereview.appspot.com/10176004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-23 15:09:59 +00:00
erikcorry
7d4b983f55
Remove unused IsNan function
...
Review URL: http://codereview.chromium.org/10167008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-23 13:44:06 +00:00
alexeif@chromium.org
d9f797b404
Eliminate internal and hidden links to oddballs and other non-essential objects in heap snapshot.
...
Review URL: https://chromiumcodereview.appspot.com/10162005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-20 14:03:06 +00:00
rossberg@chromium.org
c8aea7a184
Put new global var semantics behind a flag until WebKit tests are cleaned up.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10163003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-20 13:35:09 +00:00
jkummerow@chromium.org
913568ce01
Relax test-debug/ThreadedDebugging to stop flakiness.
...
Actual bug tracked as issue 2047.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10167002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-20 10:43:02 +00:00
fschneider@chromium.org
3760893edd
Fix bug in forced-deletion of globals.
...
When inling functions across contexts in optimized code and using
ForceDelete from the API to delete a DontDelete global property we
can end up returning the hole value instead of throwing a ReferenceError
as expected after accessing a deleted global variable.
BUG=v8:2092
TEST=test/cctest/test-api/InlinedFunctionAcrossContexts
Review URL: https://chromiumcodereview.appspot.com/10035060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-20 10:21:08 +00:00
alexeif@chromium.org
d27ba7dfa4
Fix includes order.
...
TBR=mnaganov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10078015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-19 16:31:01 +00:00
alexeif@chromium.org
72a9e445e5
Show names for the strong roots in heap snapshot.
...
Review URL: https://chromiumcodereview.appspot.com/10128006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-19 15:58:42 +00:00
mstarzinger@chromium.org
7d22d73ebf
Fix issues when stressing compaction with WeakMaps.
...
1) While marking the backing hash table of a WeakMap we also need to
record the slot because it might be on an evacuation candidate.
2) With incremental marking one backing hash table might be marked more
than once because the WeakMap might have gone through a white to gray
transition.
3) The corner case when the allocation of the backing hash table itself
causes a GC, leads to a WeakMap with an undefined table field, so we
still need to handle this case correctly.
R=vegorov@chromium.org
TEST=mjsunit/harmony/proxies-example-membrane --stress-compaction
Review URL: https://chromiumcodereview.appspot.com/9985010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-19 10:32:38 +00:00
mstarzinger@chromium.org
0f590eb45f
Revert r11376 and r11379 due to compile failures on Windows.
...
TBR=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10116030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-18 17:49:53 +00:00
mstarzinger@chromium.org
3b3e701a27
Make static API getters inlineable.
...
R=danno@chromium.org
TEST=cctest/test-api/StaticGetters[AfterDeath]
Review URL: https://chromiumcodereview.appspot.com/10116024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-18 16:07:08 +00:00
alexeif@chromium.org
2ec3e5943b
Remove Debug object from the user roots in heap profiler.
...
Review URL: https://chromiumcodereview.appspot.com/10096016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-17 15:57:35 +00:00
yangguo@chromium.org
bf630e2371
Fix MinGW-w64 GCC 4.7 compilation
...
Contributed by net147@gmail.com
BUGS=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10019012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-17 14:53:06 +00:00
loislo@chromium.org
b2024c531c
Push heap stats as HeapStatsUpdate struct instead of raw array of uint32_t values.
...
We are pushing stats data as a raw array of uint32_t values at the moment.
It makes tricky the process of updating the API between v8 and WebKit.
BUG=none
TEST=HeapSnapshotObjectsStats
Review URL: https://chromiumcodereview.appspot.com/10110001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-17 13:10:17 +00:00
yangguo@chromium.org
47c4a5b4ef
Make SubStringStub more robust wrt unsafe arguments.
...
BUG=
TEST=test-strings/RobustSubStringStub
Review URL: https://chromiumcodereview.appspot.com/9969196
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-17 10:49:15 +00:00
erik.corry@gmail.com
6a1b70ccbc
Regexp: Unify the lookahead code for the BoyerMoore-like skipping
...
and the lookahead code for simplifying \b. Also cache lookahead
results on the nodes, fix a memory leak and remove some character
class code we are no longer using.
Review URL: https://chromiumcodereview.appspot.com/9961009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-17 08:06:53 +00:00
yurys@chromium.org
1ce7d5d0d4
Add method for resolving SnapshotObjectId by given object
...
Review URL: https://chromiumcodereview.appspot.com/10094011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-16 15:36:19 +00:00
alexeif@chromium.org
f4c15c4ec2
External references should not affect dominance relation.
...
Separate objects into two groups: reachable from a window (user),
and unreachable (system). Then do not take into account links
that come from system group to the user group when calculating
dominance relation.
Review URL: https://chromiumcodereview.appspot.com/10086006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-16 14:31:13 +00:00
jkummerow@chromium.org
9641607fee
fix unused variables in test-heap-profiler.cc to fix compilation with GCC-4.6
...
TEST=GCC-4.6's face gleaming with happiness
Review URL: https://chromiumcodereview.appspot.com/10001009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-16 13:27:38 +00:00
rossberg@chromium.org
62945585fd
Implement ES5 erratum: global declarations shadow inherited properties.
...
I also discovered that our treatment of const declarations is inconsistent
when inside a global eval under 'with' (i.e., when created by
DeclareContextSlots). That is,
var x;
eval("const x = 9")
and
var x;
eval("with({}) const x = 9")
differ (the former assigns 9, the latter throws). This appears to be an
oversight from earlier changes to our const semantics (the latter shouldn't
throw either). Fixing this is a separate issue, though (and one that doesn't
seem quite worthwhile).
R=mstarzinger@chromium.org
BUG=v8:1991,80591
TEST=
Review URL: https://chromiumcodereview.appspot.com/10067010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-16 13:20:50 +00:00
loislo@chromium.org
17632e447c
Add size metric into Heap Stats.
...
The stats data have only count field at the moment.
A constantly growing array of integers also can be a reason of a leak.
Ans we have to have a way to detect such kind of leaks.
Drive by fix:
FindObject and AddEntry were replaced with FindEntry/FindOrAddEntry pair.
BUG=none
TEST=HeapSnapshotObjectsStats
Review URL: https://chromiumcodereview.appspot.com/10086004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-16 09:44:42 +00:00
alexeif@chromium.org
48777a7f5b
Split nodes and edges into separate arrays in heap snapshot serialization.
...
Review URL: https://chromiumcodereview.appspot.com/10037004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-13 12:50:48 +00:00
mstarzinger@chromium.org
2f732c2728
Add isolate accessor to AccessorInfo and Arguments.
...
This passes the isolate through to API callback functions so that it is
available through AccessorInfo and Arguments. This allows bindings to
avoid unnecessary TLS lookups to retrieve the current isolate.
R=danno@chromium.org
TEST=cctest/test-api,cctest/test-accessors
Review URL: https://chromiumcodereview.appspot.com/10069050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-13 09:38:00 +00:00
loislo@chromium.org
07301d7d89
Build fix for Mac.
...
warning: base class 'class v8::OutputStream' should be explicitly initialized in the copy constructor
BUG=none
TEST=none
TBR=mnaganov
Review URL: https://chromiumcodereview.appspot.com/10038044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11304 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-13 09:19:01 +00:00
loislo@chromium.org
d1f83dd95a
This patch is introducing a way to grab heap stats.
...
The idea is to monitor the heap regulary and track each object in the heap.
With this data we will be able do draw heap usage diagram.
Where X is time and Y is the number of objects.
BUG=none
TEST=HeapSnapshotObjectsStats
Review URL: https://chromiumcodereview.appspot.com/10049002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-13 08:52:25 +00:00
mstarzinger@chromium.org
40895f0250
Cleanup test-alloc unit test case.
...
This makes the test-alloc test case more robust against changes to the
initial heap size. It correctly simulates a full space now instead of
trying to fill the space up by allocating filler objects.
R=svenpanne@chromium.org
TEST=cctest/test-alloc
Review URL: https://chromiumcodereview.appspot.com/10071003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-12 10:06:32 +00:00
mstarzinger@chromium.org
bd58fddbc3
Fix compile error in r11279.
...
TBR=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9969156
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-11 15:47:46 +00:00
mstarzinger@chromium.org
6276295e28
Fix WeakMap processing for evacuation candidates (2).
...
This fixes processing of WeakMaps so that keys on evacuation candidates
which are also reachable by other strong paths are correctly recorded in
the slots buffer.
Also backing stores that reside in the large-object-space now use the
correct anchor slot.
R=vegorov@chromium.org
BUG=v8:2060
TEST=cctest/test-weakmaps/Regress2060b
Review URL: https://chromiumcodereview.appspot.com/10034018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-11 15:32:31 +00:00
erikcorry
b6911b555f
A version of test-api.cc that compiles both on Mac and on Linux.
...
Review URL: http://codereview.chromium.org/10050013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11275 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-11 13:41:48 +00:00
erik.corry@gmail.com
dd0be92a1c
Fix Windows 64 bit compile.
...
Review URL: https://chromiumcodereview.appspot.com/10034014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-11 10:18:42 +00:00
erik.corry@gmail.com
0cdf6b50e7
Fix compile errors on 64 bit platforms.
...
Review URL: https://chromiumcodereview.appspot.com/10053009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-11 09:55:20 +00:00
mstarzinger@chromium.org
00d9c14729
Fix WeakMap processing for evacuation candidates.
...
This fixes processing of WeakMaps so that value entries on an evacuation
candidate are correctly recorded in the slots buffer. We didn't pass the
correct slot into the backing hashtable while visiting values.
Also the live bytes counter for large object space pages was not reset
correctly when incremental marking is aborted.
R=vegorov@chromium.org
BUG=v8:2060
TEST=cctest/test-weakmaps/Regress2060
Review URL: https://chromiumcodereview.appspot.com/10034010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-11 09:14:29 +00:00
alexeif@chromium.org
d18eaffdae
Revert "External references should not affect dominance relation."
...
This reverts commit 6e46549d13df2b211ea9b4fac9c09fe5013ec465.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10025014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11248 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-08 19:18:06 +00:00
alexeif@chromium.org
5ed3662407
External references should not affect dominance relation.
...
Review URL: https://chromiumcodereview.appspot.com/10007009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-08 18:28:32 +00:00
mstarzinger@chromium.org
2df9c8828f
Fix presubmit error in r11243.
...
R=ulan@chromium.org
TEST=cctest/test-heap/OptimizedAllocationAlwaysInNewSpace
Review URL: https://chromiumcodereview.appspot.com/10010010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-05 16:40:13 +00:00
mstarzinger@chromium.org
78226352b7
Ensure HAllocateObject always allocates in new-space.
...
This is needed so that we can start removing write-barriers in optimized
code if we can prove that the receiver object is always in new-space.
TEST=cctest/test-heap/OptimizedAllocationAlwaysInNewSpace
Review URL: https://chromiumcodereview.appspot.com/10008007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-05 15:36:31 +00:00
mstarzinger@chromium.org
7422c9a3fa
Regression test for large string joins.
...
BUG=none
TEST=cctest/test-strings/AsciiArrayJoin
Review URL: https://chromiumcodereview.appspot.com/9963104
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-04 14:37:07 +00:00
ulan@chromium.org
232d990545
Reset function info counters after context disposal in incremental marking step.
...
R=mstarzinger@chromium.org
BUG=117767,V8:1902
TEST=test/cctest/test-heap/ResetSharedFunctionInfoCountersDuringIncrementalMarking
Review URL: https://chromiumcodereview.appspot.com/9903019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-03 17:22:05 +00:00
mstarzinger@chromium.org
d37104f6bc
Fix race condition in test-thread-termination.
...
The test case failed to stop the preemption thread before destroying the
isolate which led to a race condition where the isolate was accessed
after it had been destroyed.
R=ulan@chromium.org
BUG=v8:2049
TEST=cctest/test-thread-termination/TerminateMultipleV8ThreadsDefaultIsolate
Review URL: https://chromiumcodereview.appspot.com/9969092
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-03 10:15:12 +00:00
ulan@chromium.org
2b554f2448
Make progress in incremental marking if scavenge is delaying mark-sweep.
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9965054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11213 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-03 07:32:19 +00:00
erik.corry@gmail.com
1d9cebd002
Loosen up the test for boot time memory use on 64 bit.
...
Review URL: https://chromiumcodereview.appspot.com/9969051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11209 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-02 13:29:04 +00:00
erikcorry
f14b93a508
Regexp: Improve the speed that we scan for an initial point where a non-anchored
...
regexp can match by using a Boyer-Moore-like table. This is done by identifying
non-greedy non-capturing loops in the nodes that eat any character one at a time.
For example in the middle of the regexp /foo[\s\S]*?bar/ we find such a loop.
There is also such a loop implicitly inserted at the start of any non-anchored
regexp.
When we have found such a loop we look ahead in the nodes to find the set of
characters that can come at given distances. For example for the regexp
/.?foo/ we know that there are at least 3 characters ahead of us, and the sets
of characters that can occur are [any, [f, o], [o]]. We find a range in the
lookahead info where the set of characters is reasonably constrained. In our
example this is from index 1 to 2 (0 is not constrained). We can now look 3
characters ahead and if we don't find one of [f, o] (the union of [f, o] and
[o]) then we can skip forwards by the range size (in this case 2).
For Unicode input strings we do the same, but modulo 128.
We also look at the first string fed to the regexp and use that to get a hint
of the character frequencies in the inputs. This affects the assessment of
whether the set of characters is 'reasonably constrained'.
We still have the old lookahead mechanism, which uses a wide load of multiple
characters followed by a mask and compare to determine whether a match is
possible at this point.
Review URL: http://codereview.chromium.org/9965010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-02 09:38:07 +00:00
erik.corry@gmail.com
f00631b710
Reduce initial boot-up memory use. This is an other attempt at what
...
http://codereview.chromium.org/9179012 was trying to achieve. This
time I am going for 80% of the benefit with around 5% of the complexity.
It works by reducing the size of the first page in each space. Unlike the
previous change there is no attempt to grow pages, we just allocate more
full-sized pages when we need more memory. For this reason the first pages are
not quite as small (compare
http://codereview.chromium.org/9179012/diff/1/src/snapshot.h with the changes
in spaces.cc in this cl): We want to be able to do a little bit of allocation
before we have to add a full-sized page to the space.
Review URL: https://chromiumcodereview.appspot.com/9950048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-02 08:32:31 +00:00
loislo@chromium.org
0572806287
Fix presubmit check.
...
BUG=none
TEST=none
TBR=mnaganov
Review URL: https://chromiumcodereview.appspot.com/9921014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11188 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-29 14:50:26 +00:00
loislo@chromium.org
d857c994b6
Current schema of calculation max_snapshot_js_object_id is not always correct.
...
As the result the test is flaky.
BUG=v8/2042
TEST=HeapEntryIdsAndGC
R=mnaganov
Review URL: https://chromiumcodereview.appspot.com/9918005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-29 14:18:11 +00:00
loislo@chromium.org
6306283df9
fix for TestHeapEntryIdsAndGC
...
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9864035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-27 12:25:05 +00:00
loislo@chromium.org
b84b44d86c
This value is required for showing the heap snapshot delta in Summary view of DevTools.Profiler.
...
At the moment it is evaluating on the front-end side and this is cost us 2 * (load time + parse time + traverse via snapshot) because I need this value for two previous snapshots.
BUG=none
TEST=test-heap-profiler
Review URL: https://chromiumcodereview.appspot.com/9858016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-27 11:54:47 +00:00
loislo@chromium.org
9b9e458a43
Revert "This value is required for showing the heap snapshot delta in Summary view of DevTools.Profiler."
...
This reverts commit 634864d65ebe820a967f6162d8e226cf4a73e51a.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9861018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11158 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-27 11:12:31 +00:00
loislo@chromium.org
410f3a3375
This value is required for showing the heap snapshot delta in Summary view of DevTools.Profiler.
...
At the moment it is evaluating on the front-end side and this is cost us 2 * (load time + parse time + traverse via snapshot) because I need this value for two previous snapshots.
BUG=none
TEST=test-heap-profiler
Review URL: https://chromiumcodereview.appspot.com/9858016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-27 08:52:00 +00:00
loislo@chromium.org
b414adb1f3
Complete switch to SnapshotObjectId.
...
BUG=none
TEST=test-heap-profiler
Review URL: https://chromiumcodereview.appspot.com/9858010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-26 13:47:37 +00:00
erik.corry@gmail.com
bc1eb293cd
Enable snapshots on MIPS. This is based on
...
http://codereview.chromium.org/9372063 by Daniel Kalmar.
Review URL: https://chromiumcodereview.appspot.com/9722020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-21 14:29:14 +00:00
erik.corry@gmail.com
25f84a48ce
Speed up WriteUtf8 in the case where the output buffer is large enough.
...
Review URL: https://chromiumcodereview.appspot.com/9696032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-21 13:48:29 +00:00
fschneider@chromium.org
30a2f2c4ef
When running with --always-opt, don't deoptimize named loads with uninitialized type feedback.
...
This avoids tests taking too long because of repeated deoptimizations.
Review URL: https://chromiumcodereview.appspot.com/9812004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-21 09:23:09 +00:00
loislo@chromium.org
64c96ad9c0
There is a trick for speed up array shift operation.
...
This trick is confusing a bit the heap snapshoting code.
Such a shiffted array will be interpreted as a new array in the second snapshot.
BUG=none
TEST=HeapEntryIdsAndArrayShift
Review URL: https://chromiumcodereview.appspot.com/9748007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11096 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-20 14:35:05 +00:00
fschneider@chromium.org
e081a3bfba
Insert explicit deoptimization for named loads that have "uninitialized" type feedback.
...
We already do this for binary-ops, unary-ops and comparisons. Typefeedback for named loads can now also
be in "uninitialized" state which means that the corresponding load IC was never executed.
Review URL: https://chromiumcodereview.appspot.com/9722041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11087 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-19 15:54:37 +00:00
erik.corry@gmail.com
bcd0fd00e3
Add API call that identifies strings that are guaranteed
...
only to contain ASCII characters.
Review URL: https://chromiumcodereview.appspot.com/9724022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-19 09:51:36 +00:00
yangguo@chromium.org
754dc79066
MIPS: Added support for Loongson architectures.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9692048
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-13 16:18:30 +00:00
erik.corry@gmail.com
758638a53f
Fix compile warning on 64 bit Windows.
...
Review URL: https://chromiumcodereview.appspot.com/9690019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-12 15:26:05 +00:00
erik.corry@gmail.com
03cfc4363b
Fix input and output to handle UTF16 surrogate pairs.
...
Review URL: https://chromiumcodereview.appspot.com/9600009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-12 12:35:28 +00:00
ulan@chromium.org
1767fef60b
Implement date library functions in C++.
...
Developed together with Andreas Rossberg based on:
https://chromiumcodereview.appspot.com/9117034/
https://chromiumcodereview.appspot.com/9307083/
R=rossberg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9572008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-09 12:07:29 +00:00
yangguo@chromium.org
13689a4f13
Set debug break slot at init of loop variable in a for loop.
...
BUG=102153
TEST=regress-102153.js
Review URL: https://chromiumcodereview.appspot.com/9625011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-08 10:21:43 +00:00
jkummerow@chromium.org
16f8a9545e
Un-braindead-ify test-debug/DebugBreakLoop
...
Review URL: https://chromiumcodereview.appspot.com/9623007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-08 08:09:27 +00:00
mstarzinger@chromium.org
4b4b3a4da7
Add kAbortIncrementalMarkingMask flag for GC.
...
This adds an additional flag to control whether incremental marking
should be aborted when requesting a GC, providing a finer granularity
between kNoGCFlags and kMakeHeapIterableMask.
R=ulan@chromium.org
BUG=v8:1608
Review URL: https://chromiumcodereview.appspot.com/9608006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-07 17:52:16 +00:00
vegorov@chromium.org
47b6027c37
Add HeapProfiler::GetPersistentHandleCount to be able to track the number of persistent handles
...
It turns out that an increasing number of persistent handles is a good signal for bugs in the bindings layer
BUG=none
TEST=cctest/test-heap-profiler/PersistentHandleCount
Review URL: https://chromiumcodereview.appspot.com/9620007
Patch from Jochen Eisinger <jochen@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-07 17:38:50 +00:00
yangguo@chromium.org
5440d43d42
Fix nosse2 tests.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9617004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-06 13:37:25 +00:00
yangguo@chromium.org
8f0ee36df3
Fix test-random test.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9616006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-06 12:21:42 +00:00
yangguo@chromium.org
20a6c9ba31
Inline Math.random in crankshaft (ia32).
...
BUG=
TEST=cctest/test-random.cc
Review URL: https://chromiumcodereview.appspot.com/9615008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-06 11:31:51 +00:00
yangguo@chromium.org
4279f87395
Revert r10913.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9602006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-05 07:55:27 +00:00
yangguo@chromium.org
df78fcc384
Set x86 FPU precision to 64-bit for MinGW. Original patch by Jonathan Liu <net147@gmail.com>.
...
BUG=v8:1062
TEST=test-strtod.cc
Review URL: https://chromiumcodereview.appspot.com/9599006
Patch from Jonathan Liu <net147@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-04 10:49:25 +00:00
danno@chromium.org
a6963cdf7e
Rewrite test CHECK to work on all platforms, including MIPS
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9536005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10867 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-29 12:49:44 +00:00
erik.corry@gmail.com
9f375ea880
Fix secondary stub cache and add a test for the stub cache lookups.
...
Review URL: https://chromiumcodereview.appspot.com/9496010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10864 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-29 10:45:59 +00:00
mikhail.naganov@gmail.com
2350d11dac
Remove now unused CalculateExactRetainedSize function & co.
...
This patch changes the signature of the v8::HeapGraphNode::GetRetainedSize method, but it's not used in Chromium, and it should be easy for other clients (if any) to adjust to this change.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9466014
Patch from Alexei Filippov <alexeif@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-27 15:42:36 +00:00
mikhail.naganov@gmail.com
2fe4af7135
Tune snapshot taking progress indicator.
...
As of dominators and retained sizes calculation take quite small time now
comparing to the main passes, it is worth to exclude these from progress
indicator. Now the indicator smoothly runs to 100%, while previously
it ran to 50% and then instantly jumped to 100%.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9465010
Patch from Alexei Filippov <alexeif@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-24 15:46:45 +00:00
fschneider@chromium.org
19d61a6981
Adjust limit for booted memory test.
...
a previous change decreased the size of a zone object and it seems
that sometimes the OS report more memory used even though there
is less zone allocation.
Review URL: https://chromiumcodereview.appspot.com/9443019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-23 14:36:11 +00:00
vegorov@chromium.org
fbc230e42b
Ensure that executable pages are properly guarded.
...
Split executable memory chunks into two pieces: header with all metadata (protection: RW) and body (protection: RWX). Separate header from metadata with a guard page and add a guard page after the page body.
R=erik.corry@gmail.com
BUG=http://crbug.com/115151
Review URL: https://chromiumcodereview.appspot.com/9452002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10809 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-23 12:11:24 +00:00
mstarzinger@chromium.org
1a356cff3e
Fix redefinition of aliased elements in arguments.
...
This refactors the way we (re)define elements to perform normalization
and attribute updating at a much deeper level, thereby removing some
bogus special cases in upper runtime layers.
Most element setters take an indicator flag that distinguishes between
setting and defining. Setting of an element causes attributes to remain
unchanged, writability to be checked and callbacks to be called.
Defining of an element causes attributes to be updated and callbacks to
be overridden. The same approach could be taken for properties.
R=svenpanne@chromium.org
BUG=v8:1772
TEST=test262,test262/15.2.3.6-4-333-11
Review URL: https://chromiumcodereview.appspot.com/9443014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10808 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-23 11:43:07 +00:00
fschneider@chromium.org
7de6be06cf
Eliminate use of ZONE macro in BitVector class and pass a zone explicitly.
...
Review URL: https://chromiumcodereview.appspot.com/9416092
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-22 11:40:28 +00:00
mstarzinger@chromium.org
4f28e9a03e
Fix regression test after r10770.
...
R=yangguo@chromium.org
TEST=cctest/test-regexp/CharacterClassEscapes
Review URL: https://chromiumcodereview.appspot.com/9425050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 18:01:21 +00:00