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
yangguo@chromium.org
26659b13c8
Fix test.py for Python 2.7.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9695053
Patch from Bert Belder <bertbelder@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-13 17:19:24 +00:00
yangguo@chromium.org
754dc79066
MIPS: Added support for Loongson architectures.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9692048
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-13 16:18:30 +00:00
jkummerow@chromium.org
a63d1211d3
Fix "already merging" safety check in merge-to-branch.sh
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9689062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-13 15:57:31 +00:00
yangguo@chromium.org
20c040dcd7
Split up String.split to deal with normal separator and regexp separator separately.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9694041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11030 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-13 15:44:19 +00:00
alexeif@chromium.org
cd81976065
Store entry id as 32-bit int.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9695046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-13 15:42:26 +00:00
vegorov@chromium.org
262c8bddd5
Always create HArgumentsObject on function entry.
...
We do not know if we are going to need it and creating it lazyly might cause us to insert it at the block that does not dominate all uses.
R=mstarzinger@chromium.org
TEST=mjsunit/compiler/inline-arguments.js
Review URL: https://chromiumcodereview.appspot.com/9692046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-13 14:45:03 +00:00
mstarzinger@chromium.org
0ab3fb8b00
Implement non-generic stores for object literals.
...
This uses the type feedback already present for computed value stores
into object literals to generate optimized stores in Crankshaft, thus
avoiding unnecessary generic stores with side effects.
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9692036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-13 12:11:46 +00:00
kmillikin@chromium.org
7d6fd56fd5
Ensure there is a smi check of the receiver for global load and call ICs.
...
There was a comment that, for such ICs specialized to the global object,
they were always contextual loads. This is very brittle. It is a
micro-optimization that relies too much on the way that things happen to
work today.
Instead, never omit the smi check because it's safer.
R=vegorov@chromium.org
BUG=117794
TEST=regress-117794.js
Review URL: https://chromiumcodereview.appspot.com/9691038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-13 11:39:30 +00:00
yangguo@chromium.org
235e9e20a7
Experimental Profiler: tweak type info threshold.
...
Also included: simplify String.slice.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9694033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-13 11:38:37 +00:00
jkummerow@chromium.org
ea175d6635
Fix DEPS file patching in push-to-trunk.sh
...
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9693037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-13 11:01:28 +00:00