dcarney@chromium.org
386de8010b
deprecate Context::New which returns Persistent
...
BUG=
TBR=marja@chromium.org
Review URL: https://codereview.chromium.org/14793004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14573 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 13:29:24 +00:00
dcarney@chromium.org
44ec65b1e1
Add Persistent<T>::Reset which disposes the handle and redirects it to point to another object.
...
BUG=
R=dcarney@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/14788013
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 12:37:22 +00:00
dcarney@chromium.org
42a8ff87ba
add weakcallback without persistent copying
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14908004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 10:44:30 +00:00
dcarney@chromium.org
0cf128390f
deprecate WriteAscii and MayContainNonAscii
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14638003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 06:47:24 +00:00
dcarney@chromium.org
2e856d2c16
expose AssertNoAllocation to api
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14625003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 20:28:02 +00:00
dcarney@chromium.org
cf5ff5a14c
first step to remove unsafe handles
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12729023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 20:18:42 +00:00
dslomov@chromium.org
6e86141916
Implementation of Uint8ClampedArray.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/14657003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14517 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 11:36:48 +00:00
dslomov@chromium.org
1469acaa7f
Add Value::Is* methods for typed arrays and ArrayBuffer
...
R=rossberg
BUG=
Committed https://code.google.com/p/v8/source/detail?r=14506
Review URL: https://codereview.chromium.org/13977018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 18:53:27 +00:00
dslomov@chromium.org
3af1cc1072
Revert "Fix typo"
...
This reverts commit r14506 (that was commited with a wrong description).
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 18:49:20 +00:00
dslomov@chromium.org
b029ad4201
Fix typo
...
R=rossberg@chromium.org
BUG=
Committed: https://code.google.com/p/v8/source/detail?r=14505
Review URL: https://codereview.chromium.org/13993029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 18:02:22 +00:00
dslomov@chromium.org
3fd6bb51f0
First cut at API for native Typed Arrays.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/14195034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-29 11:09:03 +00:00
dcarney@chromium.org
0a32b57594
HasOnlyAsciiChars can return incorrect results. Fixup usages and rename.
...
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14509012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 11:34:44 +00:00
dcarney@chromium.org
f28bd182b0
forgot parends around macro arg
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14334009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 10:52:14 +00:00
dcarney@chromium.org
d0f9b7386b
Defer slow branch of GetAlignedPointerFromInternalField
...
BUG=
Review URL: https://codereview.chromium.org/14137026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 07:28:08 +00:00
hpayer@chromium.org
7ed7af2f9f
Tell the GC prologues to construct RetainedObjectInfos only when needed.
...
The GC prologue is called by the GC, but also by the heap snapshotter. The
RetainedObjectInfos are only needed by the heap snapshotter, so it's wasteful to
construct them always. (And it will be even more wasteful when Blink migrates to
the new GC APIs, since after that point it no longer knows about object groups.)
BUG=
Review URL: https://codereview.chromium.org/14471028
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14439 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-25 12:08:10 +00:00
dslomov@chromium.org
44f2d534b1
First cut at API for ES6 ArrayBuffers
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/13958007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-25 12:02:23 +00:00
mstarzinger@chromium.org
e7c1f322a4
New GC APIs, try 2.
...
With these APIs, the embedder doesn't need to copy Persistent handles around.
BUG=
Review URL: https://codereview.chromium.org/14007008
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14423 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-24 15:59:23 +00:00
dcarney@chromium.org
061f523b5a
Change cctest/test-lockers to not copy persistent handles around.
...
Instead, create Local handles to pass them around. This also means that the
code needs to be shifted around a bit such that a handle scope exists when
creating threads.
Review URL: https://codereview.chromium.org/14150017
Patch from Jochen Eisinger <jochen@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-24 14:23:46 +00:00
yangguo@chromium.org
555c78c513
create uniform string api
...
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12426015
Patch from Dan Carney <dcarney@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-22 15:20:28 +00:00
yangguo@chromium.org
4d1362720f
Add methods to allow resuming execution after calling TerminateExecution().
...
R=mvstanton@chromium.org
BUG=v8:2361
Review URL: https://chromiumcodereview.appspot.com/14401008
Patch from Andrew Paprocki <andrew@ishiboo.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-22 15:01:45 +00:00
mstarzinger@chromium.org
091f0b7f35
Revert the commits adding new GC-related APIs.
...
We need to solve efficiency problems first.
This reverts the following revisions: 14283 14286 14221 14215
BUG=
Review URL: https://codereview.chromium.org/14294009
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 16:37:04 +00:00
jkummerow@chromium.org
d666b24255
Fix shared library build of preparser: properly #undef V8EXPORT
...
Review URL: https://codereview.chromium.org/14293010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 14:55:45 +00:00
mstarzinger@chromium.org
e8bc8d76ae
New GC related APIs: Implicit references.
...
When using these APIs, the embedder doesn't need to copy Persistent handles around.
BUG=NONE
Review URL: https://codereview.chromium.org/14175005
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 12:57:01 +00:00
danno@chromium.org
f5b660ac97
Intel VTune integration for V8/d8
...
In this patch, we added the JIT code event handler for Vtune. Most of the code is in the
folder src/third_party/vtune. Two APIs are added in include/v8.h to get the requirement info
from V8.
We add the v8_enable_vtunejit parameter for GYP to enable these Vtune code compilation.
vTune::InitilizeVtuneForV8() is invoked in the embedder of V8 to make sure it's invokded if
vtune support is enabled.
Review URL: https://codereview.chromium.org/11574031
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-12 12:48:27 +00:00
yurys@chromium.org
1c8f45f786
Mark non-isolatified profiler API as V8_DEPRECATED
...
BUG=None
Review URL: https://codereview.chromium.org/12413027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14216 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-10 15:29:05 +00:00
mstarzinger@chromium.org
45125e6480
New GC related APIs.
...
When using these APIs, the embedder doesn't need to copy Persistent handles around.
BUG=NONE
Review URL: https://codereview.chromium.org/13786002
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14215 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-10 14:53:03 +00:00
rossberg@chromium.org
dc72037e10
ES6 symbols: extend V8 API to support symbols
...
Specifically:
- Introduce Symbol and SymbolObject classes.
- Generalise Object::Has and Object::Delete to arbitrary Value-typed keys.
- Generalise some places in the API implementation from String to Name.
It is not possible to intercept symbol-named properties. That is consistent with the idea that symbols are private and should not leak.
R=svenpanne@chromium.org
BUG=v8:2158
Review URL: https://codereview.chromium.org/13626002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-10 12:16:29 +00:00
mstarzinger@chromium.org
a22790bfed
Change Context::New to not create persistent handles.
...
This moves the responsibility of putting a new context into a persistent
handle to the embedder. Also it removes one API function where the copy
constructor for persistent handles is needed.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/13799003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-10 09:34:37 +00:00
svenpanne@chromium.org
d04de1fe1a
Move context retrieval method around. Use delegation for implementation.
...
This is a refactoring of https://code.google.com/p/v8/source/detail?r=14146 .
Review URL: https://codereview.chromium.org/13940003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-09 07:34:32 +00:00
haraken@chromium.org
c638555853
Pass an isolate to GetCurrent()
...
TEST=test-api.cc:GetCallingContextCallback
Review URL: https://chromiumcodereview.appspot.com//13426002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-05 02:17:56 +00:00
mstarzinger@chromium.org
9e757a604c
Make __proto__ a real JavaScript accessor property.
...
This turns the __proto__ callback from a foreign callback into a real
JavaScript accessor. It makes the accessor behavior of this property
explicit.
R=rossberg@chromium.org
BUG=v8:1949,v8:2606
TEST=mjsunit/regress/regress-2606
Review URL: https://codereview.chromium.org/13533004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-04 12:10:23 +00:00
yurys@chromium.org
359d4a2869
Isolatify CPU profiler public API
...
Relanding r14006 and r14009 that were reverted in r14031
TBR=danno
BUG=None
Review URL: https://codereview.chromium.org/13460002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14108 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-02 08:16:53 +00:00
yurys@chromium.org
04cb86899c
Deprecate HeapSnapshot type
...
Re-landing r14005 that was reverted in r14031
TBR=danno
BUG=None
Review URL: https://codereview.chromium.org/13430003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-02 08:09:59 +00:00
yurys@chromium.org
047f6f97d9
Isolatify HeapProfiler
...
Re-landing r13997 that was reverted in r14031
TBR=danno
BUG=None
Review URL: https://codereview.chromium.org/13458003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-02 08:03:01 +00:00
yurys@chromium.org
c7532f0f0b
Allow recording individual samples in addition to the aggregated CPU profiles
...
Re-landing r13980 that was reverted in r14031
TBR=danno
BUG=None
Review URL: https://codereview.chromium.org/13454002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-02 07:48:25 +00:00
rossberg@chromium.org
83d4a41dec
ES6 symbols: turn symbols into a proper primitive type
...
(qua last week's TC39)
Specifically:
- Install Symbol constructor function on the global object.
- Adjust code generation for typeof.
- Remove IsSymbol built-in, IS_SYMBOL macro now defined using typeof.
- Remove hack that allowed symbols as constructor results, and some other special cases.
- Remove symbol_delegate and GetDelegate function.
- Extend ToBoolean stub to handle symbols.
- Extend ToNumber to return NaN on symbols.
- Poison symbol's toString function, and thereby ToString on symbols.
R=mstarzinger@chromium.org
BUG=v8:2158
Review URL: https://codereview.chromium.org/12957004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-22 16:33:50 +00:00
danno@chromium.org
ed3809c318
Maintain API compatibility with older versions of V8.
...
Revert "Allow recording individual samples in addition to the aggregated CPU profiles"
Revert "Isolatify CPU profiler"
Revert "Isolatify HeapProfiler"
Revert "Deprecate HeapSnapshot type"
Revert "Isolatify CPU profiler public API"
Revert "MSVS compilation fix after r14006"
Revert "Add methods to allow resuming execution after calling TerminateExecution()."
R=jkummerow@chromium.org ,mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/12475016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-21 14:42:17 +00:00
yangguo@chromium.org
53adf3b19c
Add methods to allow resuming execution after calling TerminateExecution().
...
Two new methods are added to allow embedders to determine that execution
should be resumed at a particular point in the stack without being forced
to unwind all JS frames.
* V8::CancelTerminateExecution() -- When execution is terminated via a call
to V8::TerminateExecution(), this method can be called to clear the
termination exception so that the engine can continue to be used.
* TryCatch::HasTerminated() -- When a TryCatch has caught a termination
exception, HasTerminated() will return true to indicate it is valid to
call V8::ResumeExecution() if desired.
A test case is added to cctest/test-thread-termination.cc.
BUG=v8:2361
Patch from Andrew Paprocki <andrew@ishiboo.com>.
Review URL: https://chromiumcodereview.appspot.com/11142013
Patch from Andrew Paprocki <andrew@ishiboo.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-21 10:47:34 +00:00
yurys@chromium.org
95bfca8828
Isolatify CPU profiler public API
...
BUG=None
Review URL: https://codereview.chromium.org/12950004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-20 13:07:48 +00:00
yurys@chromium.org
8204dfa186
Deprecate HeapSnapshot type
...
There is only one type of heap snapshot - kFull and we are not going to add any new types.
BUG=None
Review URL: https://codereview.chromium.org/12943004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-20 12:41:00 +00:00
yurys@chromium.org
d447716029
Isolatify HeapProfiler
...
Added instance method on v8::Isolate for retrieving instance of v8::HeapProfiler for that isolate. All static methods of v8::HeapProfiler are deprecated, corresponding instance methods are added to v8::HeapProfiler.
All static methods on v8::internal::HeapProfiler were converted into instance ones.
BUG=None
Review URL: https://codereview.chromium.org/12907006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-20 08:38:17 +00:00
yurys@chromium.org
31e51f98fa
Sort forward declarations in v8.h in alphabetical order
...
BUG=None
Review URL: https://codereview.chromium.org/12554013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-19 15:17:22 +00:00
yurys@chromium.org
a5be5da2e8
Allow recording individual samples in addition to the aggregated CPU profiles
...
CPU profiler API is extended with methods that allow to retrieve individual samples from profile. Each sample is presented as a pointer to a node in the top-down profile tree. The samples will let us tie JS performance to time.
BUG=None
Review URL: https://codereview.chromium.org/12919002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-19 08:11:56 +00:00
alph@chromium.org
9f7300043b
Remove kContext node type introduced in r13936
...
It has been decided not to pollute node types with extra values.
Review URL: https://codereview.chromium.org//12833005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-15 13:07:39 +00:00
yurys@chromium.org
b3ee84d361
Remove bottom-up CPU profile
...
Bottom-up view of CPU profile can be restored based on top-down profile data. So there is no need to spend resources on creating both of them inside V8.
BUG=None
Review URL: https://codereview.chromium.org/12825003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13958 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-15 12:46:45 +00:00
svenpanne@chromium.org
53310ac152
Added a version of the v8::HandleScope constructor with an Isolate and use that consistently.
...
I tried to limit the use of v8::Isolate::GetCurrent() and v8::internal::Isolate::Current() as much as possible, but sometimes this would have involved restructuring tests quite a bit, which is better left for a separate CL.
BUG=v8:2487
Review URL: https://codereview.chromium.org/12716010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-15 12:06:53 +00:00
dcarney@chromium.org
fbe34d4ba5
remove latin-1 flag
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12700008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-13 20:04:50 +00:00
alph@chromium.org
1afc70a332
Fix huge heap snapshot when a heavily shared context has many variables
...
Prevously v8 put a link to each context variable into a function where
the variable is visible.
Because of that if there are N functions sharing a context having M variables
then N*M links were created for the snapshot.
The fix makes v8 to put the links into the context object.
BUG=145687
TEST=test-heap-snapshot/ManyLocalsInSharedContext
Review URL: https://codereview.appspot.com/7715044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-13 17:38:04 +00:00
svenpanne@chromium.org
8db737a583
Made AdjustAmountOfExternalAllocatedMemory an instance method of Isolate
...
BUG=v8:2487
Review URL: https://codereview.chromium.org/12790004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-13 13:15:09 +00:00
svenpanne@chromium.org
17500545a4
Enable deprecatations (again).
...
Hopefully we will win the race this time...
BUG=v8:2487
Review URL: https://codereview.chromium.org/12554004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13878 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-08 08:37:28 +00:00