dslomov@chromium.org
45ab7d5266
Check for cached transition to ExternalArray elements kind.
...
R=ishell@chromium.org , verwaest@chromium.org
BUG=v8:3337
LOG=Y
Review URL: https://codereview.chromium.org/291193011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 14:01:17 +00:00
alexandre.rames@arm.com
18412a83b0
Provide a helper to generate multiple Lithium instructions for one Hydrogen instruction.
...
R=jkummerow@chromium.org , ulan@chromium.org
Review URL: https://codereview.chromium.org/296993002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 13:15:07 +00:00
ishell@chromium.org
7c55f645d5
Cleanup after inobject slack tracking improvement.
...
1) %SetExpectedNumberOfProperties() function removed.
2) Obsolete SharedFunctionInfo::BeforeVisitingPointers() removed.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/289283018
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 12:55:57 +00:00
bmeurer@chromium.org
238a2489e2
Skip dead blocks/instructions in store elimination.
...
Also improve tracing.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/297933002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 11:48:40 +00:00
svenpanne@chromium.org
988642494f
Tiny steps towards a non-local 'Merge removable simulates' phase.
...
Distinguish copying/merging of the state. Better tracing.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/299883003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 11:25:23 +00:00
mstarzinger@chromium.org
a2082b256d
Revert "Make v8::TryCatch able to consume natively thrown exceptions (again)."
...
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/296133013
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 11:12:25 +00:00
yurys@chromium.org
7741fe0466
Support ES6 weak collections in heap profiler
...
BUG=chromium:376196
LOG=Y
R=alph@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/294163005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 11:05:22 +00:00
rodolph.perfetta@arm.com
123608ab9b
ARM64 simulator fix for EXTR
...
Fixes extract when imms = 0 because a left shift of 64 is not valid.
R=rodolph.perfetta@arm.com , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/286193004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 09:41:41 +00:00
bmeurer@chromium.org
a56bbe9203
Avoid dynamic initial map check when inlining call-new.
...
This improves check elimination and removes a load plus
a map check for every inlined call-new.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/293223002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21458 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 09:30:47 +00:00
ishell@chromium.org
4b9c03050a
Reland r21442 "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis."
...
This fixes inobject slack tracking for prototype inheritance pattern that uses closures.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/292183008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 08:52:05 +00:00
mstarzinger@chromium.org
473d3e1e71
Make v8::TryCatch able to consume natively thrown exceptions (again).
...
R=yangguo@chromium.org
BUG=chromium:362388
TEST=cctest/test-api/TryCatchNative
LOG=N
Review URL: https://codereview.chromium.org/291393002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 08:34:10 +00:00
jochen@chromium.org
6dd3cb07bf
Drop gitignore entry for now obsolete test262 archive
...
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/300453003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 08:23:41 +00:00
bmeurer@chromium.org
5ad9a3b456
Fix compilation errors.
...
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/291343006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 08:20:34 +00:00
bmeurer@chromium.org
261bc88794
If map was deprecated, abort compilation and allow re-compilation.
...
Also print a message if either map became unstable or map was
deprecated, if --trace-opt is enabled.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/292323005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 08:13:12 +00:00
svenpanne@chromium.org
f39d585900
Use the flow engine for HMergeRemovableSimulatesPhase.
...
For now, this is a 1:1 reformulation of the block-local analysis, but
this will change.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/294473015
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 07:48:22 +00:00
jochen@chromium.org
cff61d3bff
Add a bunch of files in my checkout to .gitignore
...
BUG=none
TBR=machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/296453020
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 07:35:30 +00:00
jochen@chromium.org
fe68f988b5
Remove dummy harmony-promises flag
...
BUG=none
LOG=n
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/292723002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 07:16:29 +00:00
svenpanne@chromium.org
8398781323
Revert "Do away with variable length memcpy to Set/Get registers in simulator"
...
This reverts r21148, it broke tests in debug mode, e.g.
mjsunit/regress/regress-observe-map-cache or mjsunit/debug-stepout-scope-part5.
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/296823014
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 07:14:04 +00:00
svenpanne@chromium.org
e61b69f53c
Do away with variable length memcpy to Set/Get registers in simulator
...
About a 32% boost.
Before - 5:31
Richards: 84.5
DeltaBlue: 128
Crypto: 65.3
RayTrace: 203
EarleyBoyer: 149
RegExp: 23.4
Splay: 121
NavierStokes: 98.9
----
Score (version 7): 93.8
After - 4:10
Richards: 107
DeltaBlue: 175
Crypto: 93.9
RayTrace: 258
EarleyBoyer: 186
RegExp: 32.7
Splay: 165
NavierStokes: 124
----
Score (version 7): 124
R=jacob.bramley@arm.com , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/213943002
Patch from Fritz Koenig <frkoenig@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 06:35:00 +00:00
plind44@gmail.com
c471c9e84b
MIPS: Customized support for feedback on calls to Array.
...
Port r21429 (a88ba79)
Original commit message:
Gather transition feedback on array calls, and inline the Array
function call when it makes sense.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/293063012
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 17:33:07 +00:00
ishell@chromium.org
9f3183f76b
Revert "Reland r21346 "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis.""
...
This reverts r21442.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/292433016
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 17:13:28 +00:00
plind44@gmail.com
9fb4abb94b
MIPS: Allow specifying base offset when constructing Keyed hydrogen instructions.
...
Port r21426 (17e6338)
This is preparation for pending hydrogen stub work that needs to access memory using KeyedLoad/KeyedStore operations where the base offset used for the accesses are is the the default (e.g. the size of an FixedArray header for FixedArrays or zero for external arrays).
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/296983003
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 17:00:50 +00:00
ishell@chromium.org
00b8e6128f
Reland r21346 "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis."
...
This fixes inobject slack tracking for prototype inheritance pattern that uses closures.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/290993009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 16:22:23 +00:00
rossberg@chromium.org
06f746a576
Consistently say 'own' property
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/291153005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 15:27:57 +00:00
mvstanton@chromium.org
d2a323836b
ClearTypeFeedbackInfo() assumed we have a context in the isolate.
...
Better, is to compare against the context for the JSFunction we are
currently looking at.
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/294903013
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 15:11:11 +00:00
jkummerow@chromium.org
d6a05b729c
Harden a few builtins
...
Introducing BUILTIN_ASSERT, builtins' equivalent of RUNTIME_ASSERT.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/292173011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21439 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 13:59:37 +00:00
hpayer@chromium.org
620f07e368
If map became unstable, abort compilation and allow re-compilation.
...
BUG=
R=danno@google.com
Review URL: https://codereview.chromium.org/291653006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 13:51:44 +00:00
ishell@chromium.org
58932c6c44
Revert "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis."
...
This reverts r21436.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/295933012
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21437 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 13:38:32 +00:00
ishell@chromium.org
4a47cc5f63
Inobject slack tracking is done on a per-closure basis instead of per-shared info basis.
...
This fixes inobject slack tracking for prototype inheritance pattern that uses closures.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/283383006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 12:35:45 +00:00
mvstanton@chromium.org
894df70863
GCMole evaluation order issue in CallIC::DoCustomHandler().
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/296693011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21435 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 11:52:01 +00:00
mvstanton@chromium.org
5392e94e8b
ClearTypeFeedbackInfo(): context may not be initialized.
...
SharedFunctionInfo::ClearTypeFeedbackInfo() wants to compare feedback
to the array JSFunction, but it's called at times when the context
isn't fully initialized. Be cautious about this check.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/298983002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 11:32:30 +00:00
yurys@chromium.org
8751323701
Add support for ES6 Symbol in heap profiler
...
Heap profiler will create a node with name Symbol and type kSymbol.
BUG=chromium:376194
LOG=Y
R=loislo@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/290013004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 11:26:48 +00:00
mstarzinger@chromium.org
acec73631c
Revert "Make v8::TryCatch able to consume natively thrown exceptions"
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/293123003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 11:16:05 +00:00
jarin@chromium.org
3d0bf69cd8
Attempt no. 3 to fix Heap::IsHeapIterable and HeapIterator.
...
Now we remember new space's top pointer after the last GC to find out if there was a new space allocation since the last GC.
Unfortunately, this not completely safe - the debugger has a callback hook (that can call to JS) at the end of the GC epilogue that can in theory allocate and possibly make the heap non-iterable. We can only hope this does not happen.
BUG=373283
R=hpayer@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/291193005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 11:13:37 +00:00
yangguo@chromium.org
d0398c08ce
Make serializer non-static.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/296853007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 09:36:20 +00:00
mvstanton@chromium.org
e443c89206
Customized support for feedback on calls to Array.
...
Gather transition feedback on array calls, and inline the Array
function call when it makes sense.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/279423005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 09:30:02 +00:00
jkummerow@chromium.org
0829572ee8
Revert "Rename target-specific binaries built for host."
...
The Android build system support for gyp has been fixed to handle
target-dependent host binaries correctly without requiring them to
include the target architecture in the name. Remove the suffixes to make
referring to these targets simpler again.
This reverts r14209.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/236833004
Patch from Richard Coles <torne@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 09:04:24 +00:00
mstarzinger@chromium.org
38d30d781f
Make v8::TryCatch able to consume natively thrown exceptions.
...
R=yangguo@chromium.org , haraken@chromium.org
BUG=chromium:362388
TEST=cctest/test-api/TryCatchNative
LOG=N
Review URL: https://codereview.chromium.org/287133005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 08:46:01 +00:00
danno@chromium.org
def6cff3da
Allow specifying base offset when constructing Keyed hydrogen instructions
...
This is preparation for pending hydrogen stub work that needs to access memory using KeyedLoad/KeyedStore operations where the base offset used for the accesses are is the the default (e.g. the size of an FixedArray header for FixedArrays or zero for external arrays).
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/295913009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 08:37:50 +00:00
hpayer@chromium.org
628636fb83
Increase external allocation limit.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/291653005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 08:37:20 +00:00
yangguo@chromium.org
8b785bd352
Remove usage of Locker/Unlocker where possible.
...
This is possible because we removed DebuggerAgent.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/286903004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21424 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 08:11:10 +00:00
ulan@chromium.org
e56594f10a
Fix Array.prototype.push and Array.prototype.unshift for read-only length.
...
BUG=
R=mstarzinger@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/279773002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21423 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 08:09:57 +00:00
yangguo@chromium.org
f01f0e6c42
Remove check for SAHF support in ia32.
...
On ia32, SAHF is guaranteed. It's only necessary to probe for it on x64.
R=svenpanne@chromium.org
BUG=376087
LOG=N
Review URL: https://codereview.chromium.org/296133006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 08:04:17 +00:00
yangguo@chromium.org
6fd69c2476
Remove special debug ExternalReferences.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/296043002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 07:57:33 +00:00
bmeurer@chromium.org
7c30bba18a
Don't replace initializing smi stores during store elimination.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/286903019
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 07:40:07 +00:00
yangguo@chromium.org
ab3afc5722
Reland "Prevent liveedit on or under generators with open activations"
...
The change relative to the previous CL is a logic change in
DropActivationsInActiveThreadImpl. The previous CL skipped the matcher
unless the frame was a JS frame; this was correct for
MultipleFunctionTarget but not for SingleFrameTarget.
I have not been able to reproduce the original failures on either
architecture (ia32 or x64; stack frame dropping is unsupported on other
architectures).
R=yangguo@chromium.org
LOG=N
TEST=mjsunit/harmony/generators-debug-liveedit.js
BUG=
Review URL: https://codereview.chromium.org/270283002
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 07:32:59 +00:00
alph@chromium.org
a7e816db28
Introduce a separate event for CodeDeopt
...
The reuse of CodeCreateEvent for deopt events caused a CodeCreateEvent
fired twice for a code object. When the event was processed for the first
time it seized the no-fp-ranges from code object, so the second event
had no ranges info leaving code entry without them.
As a result when a cpu profile sample falls into the region it missed the
2nd stack frame.
LOG=N
BUG=
R=bmeurer@chromium.org , loislo@chromium.org
Review URL: https://codereview.chromium.org/290093005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21418 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 05:36:27 +00:00
bmeurer@chromium.org
6683b4b9dd
Transitioning stores change maps.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/296953003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 05:33:37 +00:00
yangguo@chromium.org
d9736047b7
Implement Mirror object for Symbols.
...
R=rossberg@chromium.org , yurys@chromium.org
BUG=v8:3290
LOG=Y
Review URL: https://codereview.chromium.org/297513006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 15:13:50 +00:00
yangguo@chromium.org
c1eff30f1f
Move promises recorded for debugging to thread local data.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/296693005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21413 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 15:00:32 +00:00