verwaest@chromium.org
169f5a9d7b
Never hchange nan-hole to hole or hole to nan-hole.
...
Only allow changing hole to nan if all uses allow undefined as nan.
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22152003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-14 08:54:27 +00:00
palfia@homejinni.com
e12b6ff35d
MIPS: Store doubles before calling into the elements transition stub
...
Port r16172 (cc2b6204)
BUG=
Review URL: https://codereview.chromium.org/23110002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-13 23:34:34 +00:00
jkummerow@chromium.org
6f800f90ee
Fix overflow check computation for Smi Phis
...
BUG=v8:2836
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/22629011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-13 18:18:24 +00:00
jkummerow@chromium.org
b3b99969b0
Fix overwriting order of object literal properties for MATERIALIZED_LITERALs
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/22982005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-13 17:27:58 +00:00
danno@chromium.org
bbd28067a2
Prepare push to trunk. Now working on version 3.20.17.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23073003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-13 17:08:20 +00:00
yangguo@chromium.org
1041f58e8f
Use Cell instead of PropertyCell in DoCheckFunction (in case of new space object).
...
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23036004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16175 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-13 16:58:14 +00:00
yangguo@chromium.org
415b61e12e
Fix bug in HPhi::SimplifyConstantInput
...
R=jkummerow@chromium.org
BUG=269679
Review URL: https://codereview.chromium.org/23075003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-13 16:47:27 +00:00
jkummerow@chromium.org
b9d8275ba0
Make HToFastProperties GC safe.
...
The runtime call can cause a GC, so the instruction must have proper flags set.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/22980003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-13 16:26:53 +00:00
verwaest@chromium.org
145f240060
Store doubles before calling into the elements transition stub on ARM
...
BUG=
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22854011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-13 15:06:17 +00:00
jochen@chromium.org
edd8714aca
Fix gcmole bugs in i18n code
...
R=mstarzinger@chromium.org ,dcarney@chromium.org
BUG=v8:2745
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-13 12:24:44 +00:00
jochen@chromium.org
ab4cbbc083
Also add i18n directories to gcmole
...
R=vegorov@chromium.org
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-13 12:22:56 +00:00
jochen@chromium.org
91f0f5f0c3
Run gcmole on i18n code.
...
BUG=none
R=vegorov@chromium.org , vegorov@google.com
Review URL: https://codereview.chromium.org/23011004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-13 11:05:30 +00:00
verwaest@chromium.org
e8d6f44183
Mark CheckMaps that can cause migration with ChangesNewSpacePromotion.
...
BUG=
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22982003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-13 09:38:46 +00:00
machenbach@chromium.org
676f18f207
Ignore flaky intl test.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/22853004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-13 08:30:06 +00:00
palfia@homejinni.com
d2129c0df1
MIPS: Make assert more accurate
...
Port r16147 (1ced433a)
BUG=
Review URL: https://codereview.chromium.org/22956002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-13 00:45:24 +00:00
jkummerow@chromium.org
b1a1d5bbcb
ia32: Calls to the TranscendentalCacheStub must ensure that esi is set to something safe.
...
BUG=v8:2827
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/22863002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-12 16:54:12 +00:00
palfia@homejinni.com
ba8b106059
MIPS: Replace LoadNamedFieldPolymorphic with explicit branches.
...
Port r16133 (dce32514)
BUG=
Review URL: https://codereview.chromium.org/22255005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-12 15:02:57 +00:00
yangguo@chromium.org
c52b7bba05
Fix regressions triggered by map invalidation during graph creation.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/22807003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-12 14:10:25 +00:00
machenbach@chromium.org
514dd034db
Remove test from deopt fuzzer skip list after bugfix.
...
BUG=v8:2815
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/22806002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-12 13:55:54 +00:00
yangguo@chromium.org
c0d1ba2ede
Do not materialize uninitialized const for debug evaluate.
...
R=prybin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/22822002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-12 13:35:46 +00:00
verwaest@chromium.org
508159bd52
Make assert more accurate
...
BUG=
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22623008
Patch from Weiliang Lin <weiliang.lin2@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-12 09:34:55 +00:00
verwaest@chromium.org
641fda8d05
Break typecheck dependency in escape analysis.
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22803002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-12 09:26:18 +00:00
machenbach@chromium.org
cfb7ef44ca
Ignore an unsuitable test under deopt fuzz.
...
That test relies on certain optimization/deoptimization points and is therefore not useful for the deopt fuzzer.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/22475011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-12 08:59:42 +00:00
jochen@chromium.org
00a2d793b0
Return i18n object holders directly.
...
BUG=none
R=dcarney@chromium.org ,mstarzinger@chromium.org
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-12 08:19:06 +00:00
verwaest@chromium.org
ee53b0a5ed
Make all load-named-fields depend on their map-check, unless explicitly ignored.
...
BUG=
R=titzer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22555004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 18:40:10 +00:00
dslomov@chromium.org
d63e29ba78
Revert "Promote ArrayBuffer, DataView and typed arrays to non-experimental."
...
This reverts commit r16137 for breaking tests on Windows.
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/22710007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 16:23:00 +00:00
dslomov@chromium.org
30375b0937
Promote ArrayBuffer, DataView and typed arrays to non-experimental.
...
The primary reason for this change is to bake these guys into the
snapshot.
Flag definitions (--harmony-typed-arrays, --harmony-array-buffer) are
still there so that Blink does not complain, but they are noop and
default to true.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/22390008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16137 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 15:57:31 +00:00
mstarzinger@chromium.org
6989edf771
Make sure polymorphic element access creates non-replaying phis.
...
R=danno@chromium.org
BUG=v8:2815
Review URL: https://codereview.chromium.org/22589005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16136 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 15:23:15 +00:00
mstarzinger@chromium.org
cc3b7a007f
Allow HPhis to have an invalid merge index.
...
All phis that do not represent local variables or values on the operand
stack are not allowed to carry a merge index, as the replay of the
HEnvironment during LChunkBuilder time might get out of sync due to
colliding indexes.
R=danno@chromium.org
BUG=v8:2815
Review URL: https://codereview.chromium.org/22494003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 15:18:23 +00:00
yurys@chromium.org
f0cb71a3b8
Set bailout reason to kCodeGenerationFailed only when it is not set yet
...
BUG=None
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/22404007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16134 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 15:10:06 +00:00
verwaest@chromium.org
3715358145
Replace LoadNamedFieldPolymorphic with explicit branches.
...
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22213002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 14:04:47 +00:00
bmeurer@chromium.org
770e6ee8b8
Fix/unify root handling in code generation.
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/22670004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16132 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 13:43:46 +00:00
mvstanton@chromium.org
201c512dc7
Deoptimization is easier to diagnose when there is a text reason.
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/22339018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16131 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 12:50:42 +00:00
verwaest@chromium.org
5f9ff709f0
Reduce some code duplication
...
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22732006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 12:33:06 +00:00
verwaest@chromium.org
d435819e36
Replace MathFloor/Round by HChange if the input representation does not match the output representation
...
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22398009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 12:03:40 +00:00
verwaest@chromium.org
19659646ca
Fix smi-based math floor.
...
BUG=chromium:270268
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22623007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 11:21:03 +00:00
bmeurer@chromium.org
aca068462f
Fix -Wconversion warnings in external V8 headers.
...
BUG=v8:2830
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/22549003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16127 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 10:33:08 +00:00
jochen@chromium.org
ebadc421e4
Move i18n collator code to runtime.
...
BUG=v8:2745
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/22671002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 09:51:09 +00:00
mstarzinger@chromium.org
899e80130e
Fix handle unsafety in Deoptimizer::MaterializeNextHeapObject.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/22327008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 09:49:15 +00:00
bmeurer@chromium.org
1086e02fef
openbsd: fix platform build
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/21705003
Patch from Ben Noordhuis <info@bnoordhuis.nl>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 09:07:46 +00:00
mvstanton@chromium.org
ab066fae6f
Add flag trap_on_stub_deopt. We want to be able to trap on hydrogen stub bailouts.
...
BUG=
R=svenpanne@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/22593003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 08:24:29 +00:00
svenpanne@chromium.org
f0305bd83e
Instance-type-related fixes and cleanup.
...
Things got quite a bit out of sync (don't we all love copy-n-paste?):
* TypeToString didn't handle SLICED_STRING_TYPE,
SLICED_ASCII_STRING_TYPE, FIXED_DOUBLE_ARRAY_TYPE,
JS_FUNCTION_PROXY_TYPE and JS_DATE_TYPE.
* INSTANCE_TYPE_LIST was missing entries for
SLICED_ASCII_STRING_TYPE, JS_SET_TYPE, and JS_MAP_TYPE.
To improve this maintenance nightmare a little bit, the missing
instance types were added to the INSTANCE_TYPE_LIST macro and this
list is now used via our beloved 2nd order macro technique in
TypeToString. As a side-effect, the strings returned by TypeToString
have a "_TYPE" suffix now, but this doesn't really matter and is a
small price to pay for consistency.
Removed INVALID_TYPE on the way, it had no real use.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/22681004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 08:22:46 +00:00
yurys@chromium.org
85d8178d87
Deprecate self and total time getters and total sample count getter on CpuProfileNode
...
All of these values are derived from the self samples count and there is no need to evaluate them in v8 when clients can do that when needed on their side.
Also added unsigned GetHitCount() which should be used instead of double GetSelfSamplesCount(). I'm going to deprecate the latter one once Blink has switched to GetHitCount.
BUG=267595
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/22710006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 07:38:26 +00:00
palfia@homejinni.com
e3f1ec4b1a
MIPS: Patch to enhance the source code line information for profiler.
...
Port r16114 (2d1bf399)
Original commit message:
This patch is to enhance the source code line information for profiler.
For the Hydrogen compilation, most of the source code line information
is not copied from the HInstruction the to corresponding LInstruction.
This patch defines one PositionBits field for LInstruction and copies the
sorce code position value from the HInstruction.
When Generating the native code, we use RecordPosition(..) function to
write LInstruction's position value to position recorder.
BUG=
Review URL: https://codereview.chromium.org/22502006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-08 18:36:25 +00:00
yurys@chromium.org
4f56107e2f
Revert "Deprecate self and total time getters and total sample count getter on CpuProfileNode"
...
This reverts commit r16116 due to WebKit compilation breakage. Will reland it once Blink r155755 is rolled into Chromium.
TBR=svenpanne@chromium.org
BUG=None
Review URL: https://codereview.chromium.org/22388003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-08 14:43:44 +00:00
yurys@chromium.org
122327d1c6
Deprecate self and total time getters and total sample count getter on CpuProfileNode
...
All of these values are derived from the self samples count and there is no need to evaluate them in v8 when clients can do that when needed on their side.
Also added unsigned GetHitCount() which should be used instead of double GetSelfSamplesCount(). I'm going to deprecate the latter one once Blink has switched to GetHitCount.
BUG=267595
R=loislo@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/22347003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-08 13:39:57 +00:00
plind44@gmail.com
ca09758499
MIPS: Optimize DoCheckMaps.
...
This simple change moves the Deoptimize call into the Deopt table
where it belongs, and shortens the inline map-check.
Gives a surprisingly large performance gain, around 4% on Octane.
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/22391008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16115 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-08 05:04:42 +00:00
haitao.feng@intel.com
fb5857ceb8
Patch to enhance the source code line information for profiler.
...
This patch is to enhance the source code line information for profiler.
For the Hydrogen compilation, most of the source code line information
is not copied from the HInstruction the to corresponding LInstruction.
This patch defines one PositionBits field for LInstruction and copies the
sorce code position value from the HInstruction.
When Generating the native code, we use RecordPosition(..) function to
write LInstruction's position value to position recorder.
For the MIPS platform, I did not touch because I have no devices
to verify the modification on it.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/21042003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-08 02:16:12 +00:00
haitao.feng@intel.com
f54aa8b6ad
tweak of Math.abs in its x64 stub
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/22285003
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-08 01:29:33 +00:00
plind44@gmail.com
bbbf78e78c
MIPS: Refactor and improve inlined double-aligned allocations
...
Additionally, fix object size register clobbering in Allocate routine.
Based on 13284 (d42bf80).
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/22582002
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 21:54:03 +00:00