yangguo@chromium.org
0bc684a794
Introduce per-isolate assert scopes and API to guard JS execution.
...
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/198253004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 11:31:43 +00:00
hpayer@chromium.org
0f1f071751
Access old space marking bits from runtime only when incremental marking is in MARKING state.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/203523009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 10:48:54 +00:00
yangguo@chromium.org
c76a97159f
Handlify callers of Object::GetElement.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/200363002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 12:34:02 +00:00
rossberg@chromium.org
8e3f3cee9e
Eliminate extended mode, and other modes clean-up
...
- Merge LanguageMode and StrictModeFlag enums
- Make harmony-scoping depend only on strict mode
- Free some bits on the way
- Plus additional clean-up and renaming
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/181543002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 14:41:22 +00:00
rossberg@chromium.org
3f702d4bf9
Mode clean-up pt 1: rename classic/non-strict mode to sloppy mode
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/177683002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 14:39:08 +00:00
dcarney@chromium.org
132d4428e5
allowed keyed store callbacks ic generation
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/173853005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19744 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 08:40:03 +00:00
verwaest@chromium.org
209b17ac31
Don't mix handler flags into regular flag computation.
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/163363003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19384 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-14 15:15:08 +00:00
ulan@chromium.org
e95bc7eec8
Merge experimental/a64 to bleeding_edge.
...
BUG=v8:3113
LOG=Y
R=jochen@chromium.org , rmcilroy@chromium.org , rodolph.perfetta@arm.com
Review URL: https://codereview.chromium.org/148293020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 09:19:30 +00:00
dcarney@chromium.org
12039c97c6
swap in global proxy on accessors
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/156623002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 10:50:07 +00:00
verwaest@chromium.org
f2245a9cf9
Make the strict-mode calling convention for contextual calls the default one.
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/131663003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 12:04:10 +00:00
mvstanton@chromium.org
e3e7daf01c
We need to know if a load, store or call IC is assumed
...
to be on the global object. Previously, this information
was stored in RelocInfo. A more logical place for this kind
of structural information is ExtraICState. Storing it there
makes it easier for us to gather type feedback from these
sites too.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/96083005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-07 14:14:34 +00:00
jkummerow@chromium.org
64e9cbc305
Fix compilation with clang
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/106863002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-06 11:45:26 +00:00
mvstanton@chromium.org
de96489df8
Bug in StoreIC::GenerateMegamorphic: strict_mode/extra_ic_state mismatch.
...
When computing the code flags for a megamorphic store IC, we mistakenly
passed a strict_mode variable when an ExtraICState was expected.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/98633005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 15:38:50 +00:00
verwaest@chromium.org
98897182f5
Remove special "store global proxy" IC, use as slow_stub().
...
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/95503003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 09:51:37 +00:00
mvstanton@chromium.org
5ba1304d60
Array builtins need to be prevented from changing frozen objects, and changing structure on sealed objects.
...
BUG=299979
LOG=Y
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/80623002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 15:22:16 +00:00
yurys@chromium.org
5567426483
Do not put allocated block into HeapObjectsMap
...
Heap allocation reported to AllocationTracker may be later divided into several objects so it is incorrect to put the block as a new HeapObject into the map. We will match allocated block with actual HeapObjects later when iterating Heap (will be addressed in another patch). Since the objects are not assigned an id immediately after creation we need to call FindOrAddEntry when finding id for SharedFunctionInfo during stack crawling.
Removed hooks for tracking creation of AllocationMemento. AllocationMemento is not a HeapObject and should be considered as implementation overhead.
Renamed NewObjectEvent to AllocationEvent which is more precise in case of folded allocations and when a part of the new block becomes AllocationMemento.
BUG=None
LOG=N
R=loislo@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/95283003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 09:54:38 +00:00
yurys@chromium.org
c7053c8a37
Move heap profiler state flags to HeapProfiler
...
- moved is_tracking_objects_ flag to HeapProfiler and renamed it to is_tracking_objects_moves_
- Removed redundant call to UpdateHeapObjectsMap
BUG=None
LOG=N
R=loislo@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/94993004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 09:47:32 +00:00
mvstanton@chromium.org
e066a3667d
Move responsibility for definition of ExtraICState bits into the ICs.
...
Currently it's in the Code object for some ICs and in ICs for other ICs.
This should make it easier to alter bits as needed.
2) Recover an extra bit in the code object to give us 6 bits for the extra ic state. We'll need it soon to store contextual state.
3) Cleanup code that treated StrictMode enum and ExtraICState enum as interchangeble.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/91803003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18136 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 15:32:55 +00:00
verwaest@chromium.org
50a4bb5084
Remove the strict-mode flag from store handlers. It's only relevant to the IC stub.
...
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/91413003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18103 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-27 14:00:54 +00:00
verwaest@chromium.org
40d255ec82
Move template instance check from Object to FunctionTemplateInfo::IsTemplateFor
...
BUG=
R=dcarney@chromium.org
Review URL: https://chromiumcodereview.appspot.com/67613005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 13:38:15 +00:00
verwaest@chromium.org
74c7fda915
Remove keyed load "force generic" miss case.
...
BUG=
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/68213024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 13:07:44 +00:00
verwaest@chromium.org
a957c323d4
Remove unused keyed store "force generic".
...
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/73893003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 13:04:48 +00:00
rafaelw@chromium.org
bdf78a7ad3
Reland [Object.observe] Don't force normalization of elements for observed objects
...
Original Issue: https://codereview.chromium.org/29353003/
Note that this version of the patch includes logic for bailing out of compiled ArrayPush/ArrayPop calls if the array is observed (see stub-cache-*)
R=danno@chromium.org
BUG=v8:2946
LOG=N
Review URL: https://codereview.chromium.org/68343016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 21:47:39 +00:00
rafaelw@chromium.org
4bc568b77a
Revert "Reland [Object.observe] Don't force normalization of elements for observed objects"
...
TBR=danno
BUG=
Review URL: https://codereview.chromium.org/67233002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17608 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 19:33:05 +00:00
rafaelw@chromium.org
ca8f947664
Reland [Object.observe] Don't force normalization of elements for observed objects
...
Original Issue: https://codereview.chromium.org/29353003/
TBR=danno
BUG=v8:2946
Review URL: https://codereview.chromium.org/66933003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17607 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 19:12:43 +00:00
rafaelw@chromium.org
c824bfb44a
Revert "[Object.observe] Don't force normalization of elements for observed objects"
...
Broke ARM build
TBR=danno
BUG=
Review URL: https://codereview.chromium.org/66603004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17602 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 15:36:22 +00:00
rafaelw@chromium.org
d462dca64a
[Object.observe] Don't force normalization of elements for observed objects
...
BUG=v8:2946
R=danno@chromium.org
Review URL: https://codereview.chromium.org/29353003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 14:55:13 +00:00
vegorov@chromium.org
adae3f77ec
Allow redirecting disassembly and deoptimization traces into a file.
...
This is controlled by two flags:
--redirect_code_traces
--redirect_code_traces_to=<filename>
When redirection is enabled but --redirect_code_traces_to is not specified traces are written to a file code-<pid>-<isolate>.asm. This mangling scheme matches hydrogen.cfg and allows easy discovery of compilation artifacts in a multi-V8 environment (e.g. when compilation is traced from inside Chromium).
D8 defines --redirect_code_traces_to=code.asm similar to hydrogen.cfg redirection.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/43273004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 16:35:27 +00:00
loislo@chromium.org
b50be9ff12
HeapProfiler: integrate FindUntrackedObjects into js code.
...
In some cases we would like to check untracked objects right from the js code.
Otherwise the objects might be collected rigth before check.
BUG=none
R=hpayer@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/27717003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-18 11:25:43 +00:00
loislo@chromium.org
189d13a3fe
HeapProfiler: for the test purposes we would like to trace object movements.
...
When we have an untracked allocations we need to fix it.
It is a bit tricky process due to lack of logging.
I added FLAG_heap_profiler_trace_objects that enables log for object movements.
Drive by fix: with help of logging I found a bug in LeftTrim method for FixedArray.
BUG=none
R=svenpanne@chromium.org , yurys@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=17258
Committed: https://code.google.com/p/v8/source/detail?r=17263
Review URL: https://codereview.chromium.org/27694004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-18 10:59:55 +00:00
mstarzinger@chromium.org
6f77ab124c
Revert "HeapProfiler: for the test purposes we would like to trace object movements."
...
This reverts r17263 because of compile failures accross all builds.
TBR=loislo@chromium.org
Review URL: https://codereview.chromium.org/28773002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-18 09:50:06 +00:00
loislo@chromium.org
c748e7bbc9
HeapProfiler: for the test purposes we would like to trace object movements.
...
When we have an untracked allocations we need to fix it.
It is a bit tricky process due to lack of logging.
I added FLAG_heap_profiler_trace_objects that enables log for object movements.
Drive by fix: with help of logging I found a bug in LeftTrim method for FixedArray.
BUG=none
R=svenpanne@chromium.org , yurys@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=17258
Review URL: https://codereview.chromium.org/27694004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-18 09:40:00 +00:00
loislo@chromium.org
fd45ddcc15
Revert "HeapProfiler: for the test purposes we would like to trace object movements."
...
Compilation failed on Win64.
This reverts commit 6909faccca68c04b7ec4537538e6e7a0cc1650b8.
BUG=none
TBR=yurys
Review URL: https://codereview.chromium.org/28573002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-18 08:11:36 +00:00
loislo@chromium.org
5ee9a06568
HeapProfiler: for the test purposes we would like to trace object movements.
...
When we have an untracked allocations we need to fix it.
It is a bit tricky process due to lack of logging.
I added FLAG_heap_profiler_trace_objects that enables log for object movements.
Drive by fix: with help of logging I found a bug in LeftTrim method for FixedArray.
BUG=none
R=svenpanne@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/27694004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-18 07:43:50 +00:00
yurys@chromium.org
18482d0da2
Get rid of HEAP_PROFILE macro
...
All usages of the macro were replaced with direct calls to the heap profiler. The macro does null check for HeapProfiler which is always true.
BUG=None
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/26166004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-16 14:33:04 +00:00
yurys@chromium.org
15db1d7c3a
Track JS allocations as they arrive with no affection on performance when tracking is switched off.
...
BUG=277984
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/22852024
Patch from Alexandra Mikhaylova <amikhaylova@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17191 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 12:41:28 +00:00
verwaest@chromium.org
095ce23d58
Remove BaseLoad/StoreStub compilers, and the stub-cache interface duplication.
...
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/26873002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 14:05:23 +00:00
verwaest@chromium.org
83a113482e
Add a slow stub for store ICs.
...
BUG=
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/26807003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17158 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 10:50:26 +00:00
verwaest@chromium.org
f1fe1f95f5
Tag normal as handlers, and make code handler-specific.
...
BUG=
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/25049003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 13:58:44 +00:00
mstarzinger@chromium.org
ad69e19d67
Delete obsolete JSArray allocation functions.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/24202003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-18 14:46:30 +00:00
dcarney@chromium.org
47e86b889e
Get rid of most uses of 'Temporary macro' HEAP
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23708030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-10 14:30:36 +00:00
dcarney@chromium.org
d208d048ac
remove most Isolate::Current asserts
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23493019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-05 11:27:22 +00:00
dcarney@chromium.org
88910423c2
add isolate parameter for Execution::Call
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23661004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-05 08:48:34 +00:00
dcarney@chromium.org
3e76d8b870
remove Isolate::Current from most files starting with 'o' through 'r'
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23757017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-04 07:05:11 +00:00
verwaest@chromium.org
56d554588f
Add premonomorphic store ICs
...
BUG=
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23442016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-03 13:33:54 +00:00
dcarney@chromium.org
675ac2660d
thread isolate for files starting with 'b' and 'c'
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23729006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-03 06:57:16 +00:00
yangguo@chromium.org
ecbfcd7e06
Turn interrupt and stack check into builtins.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23480013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 11:24:58 +00:00
dcarney@chromium.org
166b6d0747
remove old style callbacks
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23513004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 11:47:52 +00:00
bmeurer@chromium.org
709012021a
The compiled_transitions flag was enabled for quite some time now and seems to work out quite well, so time has come to remove the obsolete code paths and remove the unused methods.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/18034024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 09:12:16 +00:00
mvstanton@chromium.org
ec8c6f4692
Rename AllocationSiteInfo to AllocationMemento
...
This is just a rename change with the exception of a bug found along the way in
CodeStubGraphBuilder<FastCloneShallowArrayStub>::BuildCodeStub(). There, the
intent is to get the boilerplate object from an AllocationSite. But the wrong
HObjectAccess was used. It only succeeds because it happened to be the same
offset :).
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/19595004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-19 13:30:49 +00:00