mvstanton@chromium.org
41b6c8a0f1
Handlefy Descriptor and other code in objects.cc
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/228333003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 14:26:32 +00:00
mstarzinger@chromium.org
f1a22a0fd2
Handlify all context allocators from the Heap.
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/230393002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 08:51:46 +00:00
adamk@chromium.org
902ad4a17a
Use OrderedHashTables as the backing store of JSSet and JSMap
...
This also deletes ObjectHashSet as it's no longer used.
BUG=v8:1793
LOG=N
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/225183009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 20:06:35 +00:00
yangguo@chromium.org
4fcc06685f
Handlify LookupSingleCharacterStringFromCode.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/227593004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 06:45:53 +00:00
svenpanne@chromium.org
c0301105d8
Revert "Handlify deoptimization data allocators."
...
This reverts r20552, it breaks with snapshot=off.
TBR=mstarzinger@chromium.org
BUG=cctest/test-lockers/ExtensionsRegistration
LOG=n
Review URL: https://codereview.chromium.org/228103002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20556 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 06:15:20 +00:00
mstarzinger@chromium.org
2e98bda0c0
Handlify deoptimization data allocators.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/227603004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-07 14:27:48 +00:00
mstarzinger@chromium.org
0a11d550c7
Handlify ten allocator functions from the Heap.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/227623002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-07 12:43:35 +00:00
mstarzinger@chromium.org
87a9c8e93b
Handlify six allocator functions from the Heap.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/227533002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-07 10:12:54 +00:00
ishell@chromium.org
c9b0492bf5
Callers of ElementsAccessor::Validate() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/226153002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-07 10:00:14 +00:00
adamk@chromium.org
8e9eebeba1
OrderedHashTable implementation with Set and Map interfaces
...
OrderedHashTable is an insertion-ordered HashTable based on
Jason Orendorff's writeup of a data structure attributed to Tyler Close:
https://wiki.mozilla.org/User:Jorend/Deterministic_hash_tables
It is intended as the new backing store for JSSet/JSMap, as ES6 requires
insertion-order-based iteration. Note, however, that in the interest of
keeping the initial check-in small this patch does not yet include any
iteration support.
This change also doesn't yet touch any existing behavior, but in
a branch I've verified that these structures pass the existing
JSSet/JSMap mjsunit tests.
BUG=v8:1793
LOG=N
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/220293002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 20:41:57 +00:00
yangguo@chromium.org
dd7bb01688
Return MaybeHandle from SetProperty.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/225283005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 12:06:11 +00:00
yangguo@chromium.org
eedc4c01f5
Return MaybeHandle from NewExternalStringFrom*.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/223653003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 12:41:37 +00:00
yangguo@chromium.org
164e5b580c
Reland "Return MaybeHandle from NewConsString."
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/223813002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 12:30:37 +00:00
yangguo@chromium.org
893f413434
Return MaybeHandle from NewRaw???String.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/223573002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 12:30:08 +00:00
yangguo@chromium.org
87dd16e3cd
Revert "Return MaybeHandle from NewConsString."
...
This reverts r20473.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/223593004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20475 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 12:09:14 +00:00
yangguo@chromium.org
be0d2f5d15
Return MaybeHandle from NewConsString.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/223383002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 11:38:01 +00:00
ishell@chromium.org
f3daa2c149
Partial recover from performance degradation after handlification of ElementsAccessor::CopyElements (r20312).
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/223413002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 09:12:59 +00:00
verwaest@chromium.org
ca6b727665
Replace CopyMap(constructor->initial_map()) by Map::Create(constructor)
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/218633014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20437 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 13:30:36 +00:00
verwaest@chromium.org
aaf18129da
Remove Factory::CopyMap(map) in favor of Map::Copy(map)
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/219963009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 17:43:20 +00:00
bmeurer@chromium.org
f1f6c3c9d4
Cleanup bootstrapper, execution and factory modules.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/219233002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 12:01:02 +00:00
ishell@chromium.org
a887597e20
ElementsAccessor::CopyElements() and its callers handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/212573007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 16:41:09 +00:00
ishell@chromium.org
f306341b46
TransitionElementsKind() and its recursive call chain handlified.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/207553005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 15:33:22 +00:00
ishell@chromium.org
0d7bdc0fd6
Callers of ElementsAccessor::SetCapacityAndLength() handlified.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/210063004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 09:51:13 +00:00
ishell@chromium.org
0b0b6f65a9
ArraySplice builtin handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/206073007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20156 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 11:22:16 +00:00
ishell@chromium.org
e9a315c978
JSArray::SetContent() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/206223003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 08:30:42 +00:00
ishell@chromium.org
8e10eea993
ArrayPush builtin handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/206183006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 13:01:08 +00:00
mvstanton@chromium.org
535f3427ca
Pretenure call new support.
...
When FLAG_pretenure_call_new is on, we emit mementos on new object creation
in full code, and consume the feedback in crankshaft. A key difference in the
generated code for stubs is the allocation of an additional type vector slot for the
CallNew AST node, which simplifies the CallConstructStub and CallFunctionStub
considerably.
Some performance tuning still needs to be addressed, therefore the flag is off at
this moment, though fully functional. The goal is to remove the flag as soon as
possible, which allows much code deletion (yay).
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/132963012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 13:39:09 +00:00
ishell@chromium.org
9a340d1fff
Handlification of ArrayConstructorCommon().
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/200213003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 15:01:45 +00:00
mvstanton@chromium.org
3daaba09b6
Pretenure code generation corner case with new space COW arrays.
...
When advised to pretenure in crankshaft, and the boilerplate is a cow
array, move the elements to old space if it's not already there to avoid
overflowing the store buffer.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/197473004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 13:42:37 +00:00
rossberg@chromium.org
c3c185c173
Make invalid LHSs a parse-time (reference) error
...
This is required by the spec. It also prevents crashes resulting from the attempt to read type feedback for the RHS of an invalid assignment which full codegen never actually allocated info for.
To do: check properly in preparser already.
R=marja@chromium.org , mstarzinger@chromium.org
BUG=351658
LOG=Y
Review URL: https://codereview.chromium.org/200473003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 10:21:01 +00:00
mvstanton@chromium.org
e3f3f6d98b
Revert "Continued fix for 351257. Reusing the feedback vector is too complex."
...
This reverts commit r19919.
TBR=bmeuer@chromium.org
Review URL: https://codereview.chromium.org/196343021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 08:31:21 +00:00
mvstanton@chromium.org
dd28969c1c
Continued fix for 351257. Reusing the feedback vector is too complex.
...
Attempting to re-use the type feedback vector stored in the
SharedFunctionInfo turns out to be difficult among the various cases.
It will be much easier to do this when deferred type feedback processing
is removed, as is in the works.
Created bug v8:3212 to track re-introducing the optimization of reusing
the type vector on recompile before optimization.
The CL also brings back the type vector on the SharedFunctionInfo.
BUG=351257
LOG=Y
R=bmeurer@chromium.org , bmeuer@chromium.org
Review URL: https://codereview.chromium.org/199973004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 09:28:37 +00:00
hpayer@chromium.org
7b810f4593
Revert "Moved type feedback vector to SharedFunctionInfo."
...
This reverts commit 828f1d563a3f0972135886888fd26526e04da07f.
Conflicts:
src/compiler.cc
test/cctest/test-compiler.cc
BUG=
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/196283015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 17:47:12 +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
rmcilroy@chromium.org
a199ba80ef
Differentate between code target pointers and heap pointers in constant pools.
...
Separate out code target pointers from normal heap pointer entries in constant
pool arrays so that the GC can correctly relocate these pointers using the
appropriate mechanism.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/183883011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 19:05:43 +00:00
mvstanton@chromium.org
1812f63fd2
Moved type feedback vector to SharedFunctionInfo.
...
Type Vector followup: the type vector currently lives off the code object. This CL moves it to the SharedFunctionInfo, facilitating re-use and continued use in crankshafted code if desired.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/178463007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-07 10:12:17 +00:00
yangguo@chromium.org
fb22b7b05e
Internalize string keys in Keyed{Store,Load}IC.
...
R=jkummerow@chromium.org
BUG=v8:3144
LOG=N
Review URL: https://codereview.chromium.org/162983003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-13 08:43:53 +00:00
yangguo@chromium.org
1f7feb9696
Remove obsolete stack trace string in a message object.
...
The stack trace string is an ancient relic that is no longer being used.
We use the structured stack trace object instead.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/159013002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 09:29:51 +00:00
ulan@chromium.org
405e8eaf7a
Generalize internalization of substrings.
...
Make a template version of SubStringKey, which allows internalization of substrings of sequential and external strings.
R=dcarney@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/143223004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-29 14:31:34 +00:00
ulan@chromium.org
0575396a4c
Refactor string internalization.
...
Remove duplicate code in StringTable and Heap. Instead of having many InternalizeXXXString methods, add a general InternalizeStringWithKey that takes a string table key.
BUG=
R=dcarney@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/140953002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-17 10:27:57 +00:00
dslomov@chromium.org
5da41be7b8
Implement in-heap backing store for typed arrays.
...
This adds a fixed array sub-type that will represent a backing store for
typed arrays allocated with TypedArray(length) construtor.
R=mvstanton@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/101413006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 17:08:45 +00:00
dslomov@chromium.org
34eeeb8953
Revert "Implement in-heap backing store for typed arrays."
...
This reverts commit r18649 for breaking Linux/nosnap and Win64 tests.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/140793003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 16:00:36 +00:00
dslomov@chromium.org
97040ce67b
Implement in-heap backing store for typed arrays.
...
This adds a fixed array sub-type that will represent a backing store for
typed arrays allocated with TypedArray(length) construtor.
R=mvstanton@chromium.org , verwaest@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=18646
Review URL: https://codereview.chromium.org/101413006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 15:01:27 +00:00
dslomov@chromium.org
95f572389e
Revert "Implement in-heap backing store for typed arrays."
...
This reverts commit r18646 for breaking Win32 build.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/132233012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18647 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 14:26:15 +00:00
dslomov@chromium.org
0c960c2e96
Implement in-heap backing store for typed arrays.
...
This adds a fixed array sub-type that will represent a backing store for
typed arrays allocated with TypedArray(length) construtor.
R=mvstanton@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/101413006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 14:18:37 +00:00
yangguo@chromium.org
f7929d2a87
Reland "Handlify concat string and substring."
...
This relands commit r17490.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/114943004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 12:37:56 +00:00
rafaelw@chromium.org
161cc3cd2a
Handlify JSObject::SetElement & brethren
...
Because SetElement & co are interdependent, this patch handlfies all of JSObject::
-SetElement
-SetFastElement
-SetDictionaryElement
-SetFastDoubleElement
-SetElementWithInterceptor
-SetElementWithoutInterceptor
-SetElementWithCallbackSetterInPrototype
R=mstarzinger@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/66803002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17757 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 17:30:48 +00:00
rossberg@chromium.org
cec8383cff
Provide private symbols through internal APIs
...
Adds a notion of private symbols, mainly intended for internal use, especially, self-hosting of built-in types that would otherwise require new C++ classes.
On the JS side (i.e., in built-ins), private properties can be created and accessed through a set of macros:
NEW_PRIVATE(print_name)
HAS_PRIVATE(obj, sym)
GET_PRIVATE(obj, sym)
SET_PRIVATE(obj, sym, val)
DELETE_PRIVATE(obj, sym)
In the V8 API, they are accessible via a new class Private, and respective HasPrivate/Get/Private/SetPrivate/DeletePrivate methods on calss Object.
These APIs are designed and restricted such that their implementation can later be replaced by whatever ES7+ will officially provide.
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/48923002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 10:34:06 +00:00
rafaelw@chromium.org
9f80c8d72e
Remove unused IdempotentPointerToHandleCodeTrampoline
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/59973006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 17:45:42 +00:00
yangguo@chromium.org
371265eec4
Revert "Handlify concat string and substring."
...
This reverts r17490.
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/59973004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 15:36:15 +00:00