haitao.feng@intel.com
bb202665ba
Use the correct version of movq for ExternalReference in X64
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/26410004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 01:27:47 +00:00
rafaelw@chromium.org
f719a45f18
Handlify Map::CopyInstallDescriptors
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/34603008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 22:02:14 +00:00
rafaelw@chromium.org
91fa96bf6b
Handlify Map::CopyNormalized
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/32483006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 19:47:38 +00:00
hpayer@chromium.org
69896e4395
Removed redundant definition of new space top in serializer.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/30403003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 18:05:27 +00:00
titzer@chromium.org
478aa96d6f
Handle new space constants on ia32 by using in a register in Lithium.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/35413008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 16:57:57 +00:00
yangguo@chromium.org
e25920da19
Make Array.prototype.pop throw if the last element is not configurable.
...
Popping an element from an array should call [[Delete]] internal method
and pass true as the second argument (ECMA-262/5.1/#sec-15.4.4.6).
When the last element can't be deleted, throw a Type Error.
Not throwing the error would result in endless loop in the following test.
TEST=var a=[];Object.defineProperty(a,0,{});while(a.length)a.pop();
By the way fix another bug, or else i can't post any issues.
"presubmit.py" throw a "missing a correct copyright header" on windows.
Both the slash and the backslash are valid path separator on windows.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/29513004
Patch from Yanagi <admin@web-tinker.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 16:19:24 +00:00
jkummerow@chromium.org
8259439ae8
Fix HObjectAccess for loads from migrating prototypes
...
BUG=chromium:305309
R=danno@chromium.org
Review URL: https://codereview.chromium.org/35173005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 15:15:15 +00:00
danno@chromium.org
2208338b6e
Fix MEMORY_SANITIZER macro redefinition error.
...
MEMORY_SANITIZER is defined by default in certain compiler environments (when
MemorySanitizer is enabled, of course). Do not redefine it in that case.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/34503012
Patch from Evgeniy Stepanov <eugenis@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 13:50:01 +00:00
danno@chromium.org
bdeaf7514a
Enable preaging of code objects when --optimize-for-size.
...
This change means that code which is never executed is garbage collected immediately, and code which is only executed once is collected more quickly (limiting heap growth), however, code which is re-executed is reset to the young age, thus being kept around for the same number of GC generations as currently.
BUG=280984
R=danno@chromium.org , hpayer@chromium.org
Review URL: https://codereview.chromium.org/23480031
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 13:48:04 +00:00
ishell@chromium.org
bf7a9bf8dc
HCheckInstanceType factories unified
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/35413007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 13:03:15 +00:00
mstarzinger@chromium.org
6dd69355a9
Use common allocation choke point in Heap::AllocateConstantPoolArray.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/37003003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 12:49:27 +00:00
yurys@chromium.org
8385804c55
Expose v8::Function::GetDisplayName to public API.
...
BUG=chromium:17356
R=mstarzinger@chromium.org , yurys@chromium.org , yangguo@chromium.org , yurys
Committed: https://code.google.com/p/v8/source/detail?r=17324
Review URL: https://codereview.chromium.org/26709011
Patch from Andrey Adaikin <aandrey@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 12:38:06 +00:00
ishell@chromium.org
a333094165
PushAndAdd() usages refactored.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/36893002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 12:34:39 +00:00
yurys@chromium.org
d37c1cfc2f
Revert "Disable allocation folding when allocations tracking is on"
...
This reverts r17337. The new test fails on V8 linux - shared: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20shared/builds/4726/steps/Check/logs/stdio
TBR=mvstanton@chromium.org
BUG=None
Review URL: https://codereview.chromium.org/37073003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 12:30:38 +00:00
yurys@chromium.org
66bfe59307
Disable allocation folding when allocations tracking is on
...
BUG=chromium:277984
R=hpayer@chromium.org , loislo@chromium.org , mvstanton@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/32583002
Patch from Alexandra Mikhaylova <amikhaylova@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 12:19:12 +00:00
mstarzinger@chromium.org
701749c4ec
Simplify ObjectVisitor for external references.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/36853003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 10:47:51 +00:00
hpayer@chromium.org
fbaf016b6d
Add a soft-deopt in keyed element access when current IC is pre-monomorphic and no type feedback was collected.
...
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/32643004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 10:41:21 +00:00
dslomov@chromium.org
42f85b538e
Crankshaft builtins.
...
Enable optimizing compiler for V8 built-ins. Also fixes an issue uncovered in
x64 codegen.
R=danno@chromium.org , mstarzinger@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/34503003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 08:57:54 +00:00
titzer@chromium.org
e942696a35
Make macro-assembler-x64 deal with handles to objects in new space by default.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/34753004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 08:47:15 +00:00
dcarney@chromium.org
6eeb141a37
force accessor pair accesses backed by simple api calls to be generic accesses when crankshafted
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/34773003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17332 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 08:46:46 +00:00
danno@chromium.org
c91fa18de9
Partially annotate V8 for MemorySanitizer.
...
This is a part of https://codereview.chromium.org/26006004/ .
These changes are enough to run most apps that embed V8 (by additionally
ignoring all memory accesses from V8), but don't help testing V8 itself in any
way.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/27471003
Patch from Evgeniy Stepanov <eugenis@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 08:39:15 +00:00
bmeurer@chromium.org
a26805d746
Prepare push to trunk. Now working on version 3.22.20.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/32693004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 06:50:44 +00:00
rafaelw@chromium.org
146eb9e0ee
Handlify Map::CopyForObserved
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/34023002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 17:41:08 +00:00
mstarzinger@chromium.org
3ec2f19560
Condense flag definitions a bit.
...
This makes it easy to spot the default value of a flag when grepping the
code as the default value appears on the same line as the name now.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/35213002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 17:03:57 +00:00
yurys@chromium.org
87b37f81c1
Revert "Expose v8::Function::GetDisplayName to public API."
...
This reverts commit 54c7b9af65dd349405944bd9ae2f064202dc6e1d.
The new test fails in debug mode.
BUG=chromium:17356
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/30443006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 15:46:15 +00:00
yurys@chromium.org
5177d5b5cd
Expose v8::Function::GetDisplayName to public API.
...
BUG=chromium:17356
R=mstarzinger@chromium.org , yurys@chromium.org , yangguo@chromium.org , yurys
Review URL: https://codereview.chromium.org/26709011
Patch from Andrey Adaikin <aandrey@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 14:57:19 +00:00
yurys@chromium.org
c71eccf95f
Expose v8::Function::IsBuiltin to public API.
...
This will be used by DevTools so that we could generate a better preview in console. Namely, we could assume that a preview of an object is lossless if all its member functions are builtin.
We also may want to expose this to DevTools users via remote debugging protocol in Debugger.FunctionDetails struct.
BUG=chromium:261470
R=mstarzinger@chromium.org , yurys@chromium.org , dcarney@chromium.org , yurys
Review URL: https://codereview.chromium.org/27701002
Patch from Andrey Adaikin <aandrey@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 14:50:20 +00:00
mstarzinger@chromium.org
41318a27bc
Enable escape analysis for Hydrogen.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/34833004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 14:43:53 +00:00
mstarzinger@chromium.org
be3ed75ff3
Fix materialization of captured objects with field tracking.
...
R=titzer@chromium.org
BUG=chromium:298990
TEST=mjsunit/compiler/escape-analysis-representation
Review URL: https://codereview.chromium.org/35133003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 13:48:54 +00:00
svenpanne@chromium.org
d65cc1e21b
Temporarily deactive regress-2185-2 until our array handling is in good shape again.
...
BUG=v8:2950
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/30443005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 13:02:04 +00:00
bmeurer@chromium.org
32d96248f9
Guard against misuse of IfBuilder.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/30693007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 11:37:15 +00:00
ishell@chromium.org
32cdd4d48a
More Hydrogen templatization.
...
Factories added to a set of Hydrogen classes.
Several old-style HXxx::New() replaced with New<HXxx>() and NewUncasted<HXxx>.
Several AddInstruction() calls following New::XXX() replaced with Add<XXX>().
AddLoadNamedField() method added to GraphBuilder.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/34523004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 11:29:05 +00:00
svenpanne@chromium.org
dd74f5aa08
Removed obsolete unit tests.
...
As discussed offline, these tests don't test what they were supposed to
test anymore and were the longest running ones.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/32433009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 11:26:07 +00:00
bmeurer@chromium.org
767cc6910f
Revert "Re-enable global load elimination after fixing misaligned load/stores."
...
This reverts commit r17315 for breaking the webkit tests.
TBR=titzer@chromium.org
Review URL: https://codereview.chromium.org/34853002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 09:45:39 +00:00
titzer@chromium.org
60b17574df
Re-enable global load elimination after fixing misaligned load/stores.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/34653002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 09:15:09 +00:00
svenpanne@chromium.org
7ea4b9204c
Do not run useless test variants for test-parsing/ParserSync.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/34733002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 09:13:33 +00:00
svenpanne@chromium.org
95ac0cdba0
Do not serialize stack limits.
...
This is part of making snapshots reproducable, more to come...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/33193004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 08:50:46 +00:00
mstarzinger@chromium.org
b47dd2b58c
Make PropertyCell::UpdatedType return a handle.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/31933003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 08:24:35 +00:00
bmeurer@chromium.org
06985eac89
Prepare push to trunk. Now working on version 3.22.19.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/32433006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17309 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 07:59:35 +00:00
machenbach@chromium.org
eb1b2a7121
Add test for push-to-trunk script.
...
This is a prototype attempt for testing the push-to-trunk script. There are several todos left, but it is not clear if it is worth investing time into those. The test is meant to aid in verifying modifications in the push-to-trunk script.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/32283002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 06:59:35 +00:00
bmeurer@chromium.org
9c26c6a3f2
[Sheriff] Revert "Record allocation stack traces" and "Temporarily disable test-heap-profiler/TrackHeapAllocations".
...
This reverts commit r17301 and r17303 for breaking the nosnap builds.
TBR=yurys@chromium.org
Review URL: https://codereview.chromium.org/34523002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 06:56:19 +00:00
palfia@homejinni.com
f687039bd8
MIPS: Fix kraken 1.1 benchmark failure.
...
This makes sure that the DoubleToIStub::Generate method
does not overwrite the value of the f12 register.
TEST=bencnhmarks/kraken/stanford-crypto-pbkdf2
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/33463002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-21 22:22:03 +00:00
palfia@homejinni.com
26e02eea57
MIPS: Add tool to visualize machine code/lithium.
...
Port r17295 (b36eb655)
Original commit message:
In the process:
- Add a command-line flag --opt-code-positions to track source position information throughout optimized code.
- Add a subclass of the hydrogen graph builder to ensure that the source position is properly set on the graph builder for all generated hydrogen code.
- Overhaul handling of source positions in hydrogen to ensure they are passed through to generated code consistently and in most cases transparently.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/33803002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17305 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-21 22:20:45 +00:00
palfia@homejinni.com
04c5b26398
MIPS: Inline number to string conversion for string addition into BinaryOp(Stub).
...
Port r17290 (b5fabb92)
Original commit message:
This fixes a performance regression that was caused by converting the
BinaryOpStub to a Hydrogen code stub. It also fixes a leftover TODO wrt.
the handling of Number*String or String*Number versions of the stub.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/32473007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17304 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-21 22:16:01 +00:00
yurys@chromium.org
6b840f563e
Temporarily disable test-heap-profiler/TrackHeapAllocations
...
The test started failing on V8 Linux - nosnap - debug after r17301 which added stack traversal to the allocation tracker. I'm disabling it for now until the problem is fixed.
BUG=v8:2949
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/30633005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17303 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-21 16:21:16 +00:00
yurys@chromium.org
66bb9d1563
Record allocation stack traces
...
This is initial implementation of allocation profiler.
Whenever new object allocation is reported to the HeapProfiler and allocation tracking is on we will capture current stack trace, add it to the collection of the allocation traces (a tree) and attribute the allocated size to the top JS function on the stack.
Format of serialized heap snapshot is extended to include information about recorded allocation stack traces.
BUG=chromium:277984
R=hpayer@chromium.org , loislo@chromium.org
Review URL: https://codereview.chromium.org/27227005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-21 15:22:11 +00:00
ishell@chromium.org
30a2a31f14
HEnvironmentMarker factory added
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/32513002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-21 14:18:55 +00:00
titzer@chromium.org
d63c8e4dc3
Allow constants to be deleted by reinserting them into the graph as needed.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/31943002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-21 14:09:32 +00:00
mstarzinger@chromium.org
19b2ee1c40
Handlify PropertyCell::SetValueInferType and friends.
...
This finally gets rid of the pesky trampoline in SetValueInferType and
enforces the layering between PropertyCell and Heap. It requires full
handlification of NewGlobalObject as well, which is only used when the
snapshot is created at compile-time.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/28783002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-21 13:55:24 +00:00
bmeurer@chromium.org
5d8c7ebf37
Add ishell@ to OWNERS.
...
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/32523002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17296 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-21 13:52:12 +00:00