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
m.m.capewell@googlemail.com
662fcc6363
ARM: Optimize NumberTagU
...
Optimize register constaints for NumberTagU Lithium instruction, and adjust code
generated to match.
TEST=none
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/94983002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 13:21:43 +00:00
verwaest@chromium.org
4d5ec5e656
Reupload CallIC changes.
...
Relands https://codereview.chromium.org/91963003/ with fix for the invalid receiver patching in case of the global object / interceptor.
BUG=
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/96763002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 12:57:47 +00:00
titzer@chromium.org
425f3fde00
Eliminate HCheckHeapObject instructions in check elimination.
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/95263005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 12:37:35 +00:00
yangguo@chromium.org
e5eef90e76
Prepare push to trunk. Now working on version 3.23.16.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/96593004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18157 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 11:43:05 +00:00
yangguo@chromium.org
fd124a390a
Turn off new_string_add flag.
...
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/95603008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18156 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 11:20:59 +00:00
yangguo@chromium.org
21ce6100fb
Revert r18144, r18143.
...
MIPS: Fix register usage.
MIPS: Cleanup in the CallStubCompiler.
The original revisions r18131 and r18139 have been reverted.
TBR=palfia@homejinni.com
Review URL: https://codereview.chromium.org/96743002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 10:31:49 +00:00
jkummerow@chromium.org
833ee3cdb7
A few small refactorings and typo fixes
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/95333002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18153 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 10:02:32 +00:00
mstarzinger@chromium.org
b506e8ce96
Follow-up fix for r18135 in TryCallApply.
...
R=yangguo@chromium.org
BUG=chromium:323942
TEST=mjsunit/regress/regress-crbug-323942
LOG=N
Review URL: https://codereview.chromium.org/95583002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18152 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 09:59:35 +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
mstarzinger@chromium.org
c8bfa60c0f
Fix context register allocation in LTransitionElementsKind.
...
R=yangguo@chromium.org
BUG=chromium:324306
LOG=N
Review URL: https://codereview.chromium.org/95293003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 09:47:40 +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
bmeurer@chromium.org
ba06898781
Enable --new-string-add by default.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/96513002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 09:44:54 +00:00
yangguo@chromium.org
31837891f8
Fix build.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/96623003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 09:31:45 +00:00
yangguo@chromium.org
09c63bc961
Revert r18131 and r18139 "Clean up in the CallStubCompiler".
...
and "Fix register usage."
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/96573002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 09:02:00 +00:00
palfia@homejinni.com
d778f7088f
MIPS: Fetch strictmode in the interceptor setter from the IC.
...
Port r18140 (9d563402)
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/96043003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 01:47:48 +00:00
palfia@homejinni.com
dd26204073
MIPS: Fix register usage.
...
Port r18139 (2d54152a)
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/96083002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 01:46:43 +00:00
palfia@homejinni.com
b9e40ff332
MIPS: Cleanup in the CallStubCompiler.
...
Port r18131 (b49d9992)
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/96053002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 01:44:23 +00:00
palfia@homejinni.com
2c674d4ce1
MIPS: Use the HandlerFrontendHeader in most call compilers.
...
Port r18125 (e541c68d)
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/96043002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 01:43:02 +00:00
verwaest@chromium.org
268f224f92
Remove strictmode from FindHandler.
...
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/95433002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 18:13:30 +00:00
verwaest@chromium.org
60d995fc99
Fetch strictmode in the interceptor setter from the IC.
...
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/95373002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 18:11:15 +00:00
verwaest@chromium.org
cb481195b3
Fix register usage.
...
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/95333004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 18:09:05 +00:00
titzer@chromium.org
5afd609aa1
Remove static asserts that dont compile on windows
...
TBR=mvstanton
BUG=
Review URL: https://codereview.chromium.org/95493002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 16:14:54 +00:00
titzer@chromium.org
6e5e23d630
Implement global check elimination using the HFlowEngine.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/46883009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18137 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 15:50:54 +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
yangguo@chromium.org
f235194518
Fix bug in inlining Function.apply.
...
R=jkummerow@chromium.org
BUG=323942
LOG=Y
Review URL: https://codereview.chromium.org/95123003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 15:30:17 +00:00
titzer@chromium.org
bbdd21ebb0
Fix load elimination: can only .Equals() GVN-able instructions.
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/95193002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 15:27:42 +00:00
verwaest@chromium.org
bb86f02462
Cleanup in the CallStubCompiler.
...
BUG=
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/91963003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18131 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 15:26:04 +00:00
rossberg@chromium.org
b974978e41
Move more logic from AST to oracle, pt 2
...
(More to follow)
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/95163002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 15:25:38 +00:00
dslomov@chromium.org
7372596615
Ensure that length is Smi in TypedArrayFromArrayLike constructor.
...
R=jkummerow@chromium.org
BUG=324028
LOG=Y
Review URL: https://codereview.chromium.org/94473002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 15:22:36 +00:00
jochen@chromium.org
5264959374
Undeprecate Persistent::ClearAndLeak
...
We depend on this in blink, and won't be able to replace it in
the near future
R=svenpanne@google.com , svenpanne@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/95003004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 14:30:20 +00:00
rmcilroy@chromium.org
adbcede1c8
Swap cp and pp registers on Arm such for work on OOL Constant Pool.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/94723002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18127 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 14:13:47 +00:00
machenbach@chromium.org
3516002001
Fix quickcheck make target.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/95073002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 14:10:56 +00:00
verwaest@chromium.org
bbef8af130
Use the HandlerFrontendHeader in most call compilers.
...
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/83753002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 13:56:49 +00:00
hpayer@chromium.org
0e95ffddf2
Fix allocation memento bookeeping code for js arrays.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/95053002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18124 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 13:45:23 +00:00
machenbach@chromium.org
7b924a32de
Prepare push to trunk. Now working on version 3.23.15.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/95033002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 13:42:23 +00:00
machenbach@chromium.org
59ff4ec657
Add fast make and test all target.
...
The new target called "quickcheck" builds and tests with several configurations using recent test runner speed improvements.
Runtime from scratch (after make clean): < 8 min
Runtime tests only: < 3 min
TEST=make quickcheck
R=jkummerow@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/94703002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 13:18:04 +00:00
rossberg@chromium.org
5532af4437
Move more type collection logic from AST to oracle.
...
(More to come in follow-up CL.)
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/91863003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 13:16:51 +00:00
m.m.capewell@googlemail.com
843fca161a
ARM: Optimize fixed double arguments
...
Optimize fixed double arguments to arithmetic Lithium instructions.
TEST=none
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/91113003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 11:38:40 +00:00
hpayer@chromium.org
0213fc9035
Added tracing support for pretenuring.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/94493002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 10:49:02 +00:00
mstarzinger@chromium.org
d53e38777f
Fix missing bounds check in n-arguments Array constructor.
...
LOG=N
R=mvstanton@chromium.org
BUG=v8:3027
TEST=mjsunit/regress/regress-3027
Review URL: https://codereview.chromium.org/92103003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 09:29:57 +00:00
yangguo@chromium.org
ea43173cf4
Shorten autogenerated error message.
...
R=rossberg@chromium.org
BUG=v8:3019
LOG=Y
Review URL: https://codereview.chromium.org/88393002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18115 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 08:59:45 +00:00
jochen@chromium.org
c1da40c08d
Mark deprecated APIs with relatively little use as deprecated
...
BUG=none
R=svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/91503002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 08:21:26 +00:00
rossberg@chromium.org
e943623b12
Harmony promises
...
Based on prototype at
https://github.com/rossberg-chromium/js-promise
which informed the latest spec draft version at
https://github.com/domenic/promises-unwrapping/blob/master/README.md
Activated by --harmony-promises.
Feature complete with respect to the draft spec, plus the addition of .when and .deferred methods. Final naming and other possible deviations from the current draft will hopefully be resolved soon after the next TC39 meeting.
This CL also generalises the Object.observe delivery loop into a simplistic microtask loop. Currently, all observer events are delivered before invoking any promise handler in a single fixpoint iteration. It's not clear yet what the final semantics is supposed to be (should there be a global event ordering?), but it will probably require a more thorough event loop abstraction inside V8 once we get there.
R=dslomov@chromium.org , yhirano@chromium.org
BUG=
Review URL: https://codereview.chromium.org/64223010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-27 17:21:40 +00:00
machenbach@chromium.org
8903dcbab8
Prepare push to trunk. Now working on version 3.23.14.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/91763002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-27 15:10:46 +00:00
mvstanton@chromium.org
d18a103e56
ARM/MIPS compilation error.
...
Due to an error during platform porting.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/91583002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-27 14:32:35 +00:00
mvstanton@chromium.org
f3a22f965e
The goal is to discover the appropriate heap space for objects created in full
...
code. By the time we optimize the code, we'll be able to decide on new or old
space based on the number of surviving objects after one or more gcs.
The mechanism is a "memento" placed behind objects in the heap. It's currently
done for array and object literals, with plans to use mementos for constructed
objects as well (in a later CL).
The feature is behind the flag allocation_site_pretenuring, currently off.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/40063002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-27 14:03:40 +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
rmcilroy@chromium.org
49627050d0
Avoid trying to decode the raw inline constant which is part of the aged code prologue.
...
BUG=v8:3007
LOG=N
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/88303003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18097 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-27 10:07:57 +00:00
yangguo@chromium.org
525876350d
Add ES specification reference to DateNow.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/89353002
Patch from Victor Costan <costan@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18094 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-27 09:39:41 +00:00