loislo@chromium.org
64c96ad9c0
There is a trick for speed up array shift operation.
...
This trick is confusing a bit the heap snapshoting code.
Such a shiffted array will be interpreted as a new array in the second snapshot.
BUG=none
TEST=HeapEntryIdsAndArrayShift
Review URL: https://chromiumcodereview.appspot.com/9748007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11096 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-20 14:35:05 +00:00
ulan@chromium.org
c7c3f8d5be
Adjust heuristics for idle notifications after context disposal.
...
Review URL: https://chromiumcodereview.appspot.com/9701093
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-20 13:29:49 +00:00
jkummerow@chromium.org
13498a1cd3
Prepare push to trunk. Now working on version 3.9.23.
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9748013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-20 12:57:17 +00:00
fschneider@chromium.org
b0bb4f078a
Fix assertion failure due to too many deoptimization ids.
...
The failing mozilla test was caused by more deoptimizations
introduced by --always-opt and r11087.
We abort code generation in release mode, so we should do
the same in debug mode.
Review URL: https://chromiumcodereview.appspot.com/9752004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-20 08:49:23 +00:00
vegorov@chromium.org
de9120500a
Add Zhongping Wang <kewpie.w.zp@gmail.com> to AUTHORS
...
Fix compilation failure on Win x64 builder introduced by r11084
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9748004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11090 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-20 08:12:31 +00:00
jkummerow@chromium.org
5d6763aaba
Enable experimental profiler by default
...
Review URL: https://chromiumcodereview.appspot.com/9726004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-19 17:29:25 +00:00
mstarzinger@chromium.org
efa8d96e96
Mark invalid Test262 test cases correctly.
...
R=ulan@chromium.org
TEST=test262/S15.9.3.1_A5_T?
Review URL: https://chromiumcodereview.appspot.com/9719036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11088 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-19 16:28:18 +00:00
fschneider@chromium.org
e081a3bfba
Insert explicit deoptimization for named loads that have "uninitialized" type feedback.
...
We already do this for binary-ops, unary-ops and comparisons. Typefeedback for named loads can now also
be in "uninitialized" state which means that the corresponding load IC was never executed.
Review URL: https://chromiumcodereview.appspot.com/9722041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11087 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-19 15:54:37 +00:00
mstarzinger@chromium.org
56c75c387a
Temporary disable Test262 tests failing on buildbot.
...
R=jkummerow@chromium.org
TEST=test262/S15.9.3.1_A5_T?
Review URL: https://chromiumcodereview.appspot.com/9724034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-19 12:22:56 +00:00
vegorov@chromium.org
254d810a32
When transitioning LoadIC to megamorphic case place monomorphic stubs into stub cache.
...
Otherwise if function is optimized immediately after transition type oracle will be unable to gather enough maps from stub cache and graph builder will emit HLoadNamedGeneric instead of HLoadNamedPolymorphic.
R=fschneider@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9705102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11085 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-19 12:09:22 +00:00
vegorov@chromium.org
b7b2fd4cec
Implement a hash based look-up to speed up containing address check in large
...
object space. Before, it was a link-list based look-up, and make this function
a little bit 'hot' from profile point.
BUG=v8:853
TEST=
Review URL: https://chromiumcodereview.appspot.com/9634005
Patch from Zhongping Wang <kewpie.w.zp@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-19 12:08:20 +00:00
rossberg@chromium.org
cfb0ab5a26
Prepare push to trunk. Now working on version 3.9.22.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9724031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-19 10:22:38 +00:00
jkummerow@chromium.org
0bbe8c4fae
Fix FLAG_always_opt and tools/push-to-trunk.sh
...
TEST=tests with --always-opt don't ASSERT; push to trunk workflow works.
Review URL: https://chromiumcodereview.appspot.com/9718035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-19 10:16:38 +00:00
erik.corry@gmail.com
bcd0fd00e3
Add API call that identifies strings that are guaranteed
...
only to contain ASCII characters.
Review URL: https://chromiumcodereview.appspot.com/9724022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-19 09:51:36 +00:00
rossberg@chromium.org
8a70de81e4
Prepare push to trunk. Now working on version 3.9.21.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9716030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-19 09:47:46 +00:00
jkummerow@chromium.org
30ba119fa9
Mark Code objects as not optimizable if their FunctionLiteral contains unoptimizable AST nodes.
...
This ensures that we never try to optimize such functions.
Review URL: https://chromiumcodereview.appspot.com/9700062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-19 08:44:44 +00:00
fschneider@chromium.org
1c99c90be7
Re-enable constructor inlining and inline === comparison with boolean constants.
...
This change reverts r10974 which disabled those two optimizations.
They were not responsible for the problem in earley-boyer.
BUG=v8:2009
Review URL: https://chromiumcodereview.appspot.com/9699117
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-19 07:51:37 +00:00
fschneider@chromium.org
1a29d5cf33
Revert dynamic frame alignment (r9415)
...
Marking aligned frames with a marker can produce false positives since
an optimized frame spill slot may be mistakenly seen as a marker value.
It also breaks the debugger reproducably: Tested when enabling alignment
for all functions and running the debugger unit tests.
BUG=v8:2009
TEST=no crashes in EarleyBoyer
Review URL: https://chromiumcodereview.appspot.com/9703110
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-19 07:45:06 +00:00
danno@chromium.org
2dc04fda4a
MIPS: Properly initialize element-transitioning array literals on ARM.
...
Port r10624 (172d021).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9689010
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-16 16:18:20 +00:00
danno@chromium.org
0ed593df56
Fix bugs in tools/merge-to-branch.sh
...
Fail if patches fail to apply and correctly match branches in delete_branch().
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9701102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-16 16:04:01 +00:00
mstarzinger@chromium.org
32c481b698
Fix test harness to not break on aborts.
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9706100
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-16 14:33:55 +00:00
erik.corry@gmail.com
e3774cf23f
Record the addresses of pages that are unmapped to aid
...
in post mortem crash dump analysis.
Review URL: https://chromiumcodereview.appspot.com/9700061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-16 14:13:22 +00:00
danno@chromium.org
9104cfd959
Use CopyElements for SetFastDoubleElementsCapacityAndLength
...
Review URL: https://chromiumcodereview.appspot.com/9663002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-16 13:59:59 +00:00
vegorov@chromium.org
aaac499253
Switch Heap::RecordStats to use PagedSpace::SizeOfObjects instead of PagedSpace::Size.
...
This would allow us to get more precise estimate of heap fragmentation on OOM.
R=erik.corry@gmail.com
Review URL: https://chromiumcodereview.appspot.com/9700096
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-16 13:52:43 +00:00
danno@chromium.org
6e1f8780f9
Add flag to always call DebugBreak on abort
...
R=vegorov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9706097
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-16 13:43:04 +00:00
yangguo@chromium.org
184b7a8915
Experimental profiler: split RegExp.test() for better optimization.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9701064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11065 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-15 17:21:42 +00:00
ulan@chromium.org
863d5fdf49
More fixes for V8 benchmark version 7.
...
R=rossberg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9701067
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-15 17:13:50 +00:00
ulan@chromium.org
4898f5bd0d
Update revision.html for V8 benchmark version 7.
...
R=rossberg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9702078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-15 16:57:10 +00:00
svenpanne@chromium.org
5389cdf6fc
Fix clang template weirdness.
...
TBR=rossberg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9710001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11060 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-15 15:01:59 +00:00
mstarzinger@chromium.org
9484f16244
Fix minor inconsistency with inline function list.
...
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9699075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-15 14:38:45 +00:00
pfeldman@chromium.org
26aaa3b005
Debugger: naive implementation of "step into Function.prototype.bind".
...
Review URL: https://chromiumcodereview.appspot.com/9705018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-15 14:17:22 +00:00
mstarzinger@chromium.org
79a98de9f7
Fix declarations escaping global strict eval.
...
According to ES5 10.4.2(3), eval calls of strict code always require
their own lexical and variable environment. For now we just add a new
scope when we parse the strict mode directive. The clean solution would
be to always have this sope present (even for global eval calls) and
adapt variable binding to cope with that.
R=rossberg@chromium.org
BUG=v8:1624
TEST=mjsunit/regress/regress-1624,test262/S10.4.2.1_A1
Review URL: https://chromiumcodereview.appspot.com/9703021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-15 13:02:21 +00:00
vegorov@chromium.org
c9b0d104d1
MIPS: Inline functions that use arguments object in f.apply(o, arguments) pattern.
...
Port r11008 (f7a04e6f9).
Original commit message:
Support arguments materialization after deoptimization in all frames (not only in topmost one).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9677053
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-15 12:29:20 +00:00
vegorov@chromium.org
211a867943
Improve representation inference for HUnknownOSRValue.
...
Use corresponding phi from the loop entry as a hint to infer proper representation for HUnkownOSRValue and dependent phis.
R=fschneider@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9704012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-15 12:21:29 +00:00
pfeldman@chromium.org
100bc51eae
Debugger: add ability to set script source from within OnBeforeCompile.
...
Review URL: https://chromiumcodereview.appspot.com/9677043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-15 11:51:26 +00:00
danno@chromium.org
beb012be45
Don't use an explicit s0 in ClampDoubleToUint8.
...
R=fschneider@chromium.org
BUG=v8:2004
TEST=test/mjsunit/pixel-array-rounding.js
Review URL: https://chromiumcodereview.appspot.com/9702027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-15 09:52:48 +00:00
svenpanne@chromium.org
e2cb7894fb
Fixed breakage caused by r11051 on non-ia32 platforms.
...
TBR=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9703056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-15 09:28:49 +00:00
svenpanne@chromium.org
c644c4e811
Ensure that generated code for object literals will call Runtime_DefineOrRedefineAccessorProperty only once per accessor property.
...
To do this, we collect all accessor properties in a first pass and emit code for
defining those properties afterwards in a second pass.
As a finger exercise, the table used for collecting accessors has a (subset of
an) STL-like iterator interface, including STL-like names and operators.
Although C++ is quite verbose here (as usual, but partly this is caused by our
current slightly clumsy classes/templates), things work out quite nicely and it
cleans up some confusion, e.g. a table entry is not an iterator etc.
Everything compiles into very efficient code, e.g. the loop condition 'it !=
accessor_table.end()' compiles into a single 'testl' instruction on ia32.
+1 for using standard APIs!
Review URL: https://chromiumcodereview.appspot.com/9691040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-15 07:13:46 +00:00
mstarzinger@chromium.org
2c7f0edd48
Fix wrapping of receiver for non-strict callbacks.
...
R=rossberg@chromium.org
BUG=v8:1973
TEST=mjsunit/regress/regress-1973
Review URL: https://chromiumcodereview.appspot.com/9705020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-14 17:42:19 +00:00
rossberg@chromium.org
314b3559d4
Fix --use-strict flag in combination with --harmony[-scoping].
...
R=ulan@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9706025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-14 17:25:01 +00:00
yangguo@chromium.org
1c4edb8c44
Remove write barriers for raw smi accessors.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9702026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-14 16:16:46 +00:00
mstarzinger@chromium.org
1f8a901141
Fix passing of shard options in test wrapper.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9702022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-14 14:52:52 +00:00
mstarzinger@chromium.org
fe1440f339
Remove unused local variable after r11023.
...
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9699023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-14 14:08:36 +00:00
rossberg@chromium.org
46001aa54c
Function declarations shall not overwrite read-only global properties.
...
R=mstarzinger@chromium.org
BUG=115452
TEST=mjsunit/regress/regress-115452
Review URL: https://chromiumcodereview.appspot.com/9696035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-14 13:51:00 +00:00
ulan@chromium.org
6308a09006
Increase executable size limit.
...
R=vegorov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9695002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-14 13:21:44 +00:00
vegorov@chromium.org
966ebf8f55
Don't take UnkownOSRValues into account when infering Phi's representation.
...
For DIV with uninitialized result assume double result representation.
R=fschneider@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9664070
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11041 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-14 12:59:49 +00:00
mstarzinger@chromium.org
4663039353
Prepare push to trunk. Now working on version 3.9.20.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9703018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-14 11:08:06 +00:00
jkummerow@chromium.org
73df5e69d5
Avoid implicit bool->int cast in CollectAllGarbage call
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9699016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-14 10:19:37 +00:00
fschneider@chromium.org
35786621f2
Change --hydrogen-filter to allow specifying a negative filter for optimized functions.
...
When prepending a '-' to the function name, the function will not be optimized.
--hydrogen-filter=foo works as before.
--hydrogen-filter=-foo means don't optimize foo.
Review URL: https://chromiumcodereview.appspot.com/9691042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-14 09:45:17 +00:00
jkummerow@chromium.org
2e7cb8aa7a
Fix common.gypi after r11032
...
TBR=yangguo@chromium.org
TEST=Win Reliability Builder stops complaining
Review URL: https://chromiumcodereview.appspot.com/9693052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11034 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-13 18:03:00 +00:00