yangguo@chromium.org
17b33fa1da
Handlify code allocation.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/235153003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20795 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 11:38:56 +00:00
verwaest@chromium.org
cf26c1421a
Move property addition code from JSObject to Map
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/238543005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 10:45:57 +00:00
yangguo@chromium.org
9a71bc722d
Remove further unhandlified call sites of number allocations.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/239143003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 06:18:37 +00:00
hpayer@chromium.org
c1435b0832
Don't run tests that rely on compaction when compaction is turned off.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/236203010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 13:52:41 +00:00
verwaest@chromium.org
de50f63f16
Clean up the public interface of Map.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/234573005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 11:19:37 +00:00
mvstanton@chromium.org
a9db3bc868
Some tests and simplified TransitionArray copying
...
Tests for verifying that we deal correctly with shrinking transition
arrays while allocating a copy of one.
Also, we can rely on a transition array only shrinking and not
disappearing during gc while copying one.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/232883003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 08:58:00 +00:00
yangguo@chromium.org
80a974ba00
Reland "Handlify GetProperty."
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/235083002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 12:47:34 +00:00
yangguo@chromium.org
93c9717473
Revert "Handlify GetProperty."
...
This reverts r20682.
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/234893003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 11:56:54 +00:00
yangguo@chromium.org
a3d68ca64d
Handlify GetProperty.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/233233004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20682 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 11:26:22 +00:00
yangguo@chromium.org
380ae9810e
Return MaybeHandle from Invoke.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/231883007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20680 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 10:41:09 +00:00
ulan@chromium.org
ff953ac055
Make maps in monomorphic IC stubs weak.
...
Maps in monomorphic Load, KeyedLoad, Store, KeyedStore, and CompareNil IC
stubs are treated as weak references by the marking visitor.
During generation of an IC stub with a weak map, the stub is appended to the
dependent code array of the map. When the map dies, all stubs in its dependent
code array are invalidated by setting embedded maps to undefined.
BUG=v8:2073
LOG=Y
TEST=cctest/test-heap/WeakMapInMonomorphic*IC
R=mstarzinger@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/188783003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 10:36:09 +00:00
ishell@chromium.org
32735ae3a9
Object::GetElements() and friends maybehandlification.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/231103002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-10 09:20:11 +00:00
ishell@chromium.org
74e7a4ad07
ElementsAccessor::SetLength() maybehandlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/229943006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20621 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 13:16:19 +00:00
yangguo@chromium.org
aee76a059a
Remove calls to non-handlified version of GetProperty(name).
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/229973004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20611 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 12:21:47 +00:00
yangguo@chromium.org
23dbc85bd7
Fix more MUST_USE_RESULT warnings.
...
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/228233002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 07:54:27 +00:00
yangguo@chromium.org
9ed8c39cac
Return MaybeHandle from SetElement and DeleteElement.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/227573002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 07:04:13 +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
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
yangguo@chromium.org
c0fa861726
Do not check for interrupt when allocating stack locals.
...
R=dcarney@chromium.org
BUG=357137
LOG=N
Review URL: https://codereview.chromium.org/219373004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 14:14:54 +00:00
yangguo@chromium.org
8847b52097
Reland "Correctly OOM in the CEntryStub after retries."
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/214473003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 10:41:45 +00:00
yangguo@chromium.org
caad1de770
Revert "Correctly OOM in the CEntryStub after retries."
...
This reverts r20292 due to no-snapshot failures.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/214413005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 09:59:07 +00:00
yangguo@chromium.org
3ee0783686
Correctly OOM in the CEntryStub after retries.
...
This fixes a bug introduced in r20179.
R=jkummerow@chromium.org
BUG=356211
LOG=N
Review URL: https://codereview.chromium.org/213193011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 09:26:47 +00:00
ulan@chromium.org
a7d1b658fc
Reland r19897 "Fix memory leak caused by treating Code::next_code_link as strong in marker.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/212553003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 15:14:51 +00:00
jochen@chromium.org
2ce0bebba1
Rename A64 port to ARM64 port
...
BUG=354405
R=ulan@chromium.org , rodolph.perfetta@arm.com
LOG=y
Review URL: https://codereview.chromium.org/207823003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 09:28:26 +00:00
ishell@chromium.org
f09f99fd09
ArrayPop builtin handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/204103008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 15:25:04 +00:00
ishell@chromium.org
368a2e78c0
Handlification of JSArray::SetElementsLength().
...
R=verwaest@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/203333004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 14:09:50 +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
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
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
ishell@chromium.org
acf695e37a
Handlification of ArrayConstructorCommon().
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/201303009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 11:38:27 +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
ulan@chromium.org
81a5cfb0e0
Revert r19897, r19898 for breaking mac-64 debug.
...
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/199203002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 15:10:35 +00:00
ulan@chromium.org
645392891f
Fix windows build after r19897.
...
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/199133002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 14:24:00 +00:00
ulan@chromium.org
2f26700885
Fix memory leak caused by treating Code::next_code_link as strong in marker.
...
BUG=
TEST=test/cctest/NextCodeLinkIsWeak
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/181833004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19897 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 14:09:18 +00:00
adamk@chromium.org
8bd05193c7
Reland "Enable Object.observe by default" again
...
This re-re-re-lands enabling Object.observe. The Chromium tests that
failed last time this was rolled into Chromium have been disabled in
https://src.chromium.org/viewvc/chrome?view=revision&revision=256706
This patch should be safe to merge once that lands.
BUG=v8:2409
LOG=Y
TBR=rossberg@chromium.org ,dslomov@chromium.org,rafaelw@chromium.org
Review URL: https://codereview.chromium.org/198383002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 00:20:06 +00:00
dslomov@chromium.org
f6dac13dcb
Revert "Enable Object.observe by default"
...
This reverts commit r19734 for breeaking ChromiumOS browser tests.
'OpenSpecialTypes/FileManagerBrowserTest.Test/3' started to time out,
bisecting the roll led to this change.
http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Tests%20%282%29/builds/22224
TBR=rafaelw@chromium.org ,rossberg@chromium.org
BUG=v8:2409
LOG=Y
Review URL: https://codereview.chromium.org/195123005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 18:15:44 +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
hpayer@chromium.org
d9090c0284
Do not run AddInstructionChangesNewSpacePromotion test in release mode.
...
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/194663004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 11:53:40 +00:00
hpayer@chromium.org
9819cfd29c
Make sure tagged binary op instructions change new space promotion.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/194883003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 11:36:55 +00:00
rafaelw@chromium.org
6503dfb72b
Reland "Enable Object.observe by default"
...
Original Issue: https://codereview.chromium.org/183683022/
TBR=rossberg
BUG=v8:2409
LOG=Y
Review URL: https://codereview.chromium.org/189513010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-08 04:41:06 +00:00
rafaelw@chromium.org
0cc44c14e5
Revert "Enable Object.observe by default"
...
TBR=rossberg
BUG=
Review URL: https://codereview.chromium.org/190853007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-08 03:54:42 +00:00
rafaelw@chromium.org
dcf9842e07
Enable Object.observe by default
...
R=rossberg@chromium.org , rossberg
BUG=v8:2409
LOG=Y
Review URL: https://codereview.chromium.org/183683022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-08 02:47:53 +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
mvstanton@chromium.org
1d3652ebe6
Symbols for type cells. We can make more efficient code to check against type cells in the future if we use symbols, guaranteed not to conflict with user code. Currently, the "symbols" are the hole and undefined. Undefined may come in from the outside.
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/181283003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-07 09:10:18 +00:00
ulan@chromium.org
b9e0b87a5a
Clear optimized code cache in shared function info when code gets deoptimized.
...
This adds a pointer to the shared function info into deoptimization data of an optimized code. Whenever the code is deoptimized, it clears the cache in the shared function info.
This fixes the problem when the optimized function dies in new space GC before the code is deoptimized due to code dependency and before the optimized code cache is cleared in old space GC (see mjsunit/regress/regress-343609.js).
This partially reverts r19603 because we need to be able to evict specific code from the optimized code cache.
BUG=343609
LOG=Y
TEST=mjsunit/regress/regress-343609.js
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/184923002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19635 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-03 11:11:39 +00:00
mvstanton@chromium.org
73b679cbee
Revert "Second attempt at introducing a premonomorphic state in the call"
...
This reverts commits r19463 and r19457 (includes MIPS port), there was a
Sunspider perf issue and on reflection we can achieve the necessary
result in a new way.
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/172383003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 13:55:25 +00:00
jarin@chromium.org
58d0682f8d
Add filler at the new space top when forcing scavenge.
...
We only seem to force scavenge in our cctest test suite, so this is
expected to fix some flakiness in our tests, but it will not
improve stability of v8 itself.
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/167423004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 16:34:52 +00:00