fschneider@chromium.org
6c0a4f5d45
Fix bug with filtering of foreign context maps in the type feedback.
...
The first attempt did not properly handle keyed loads/stores and
did not check the constructors of the objects in the prototype
chain.
Added two more tests to handle the fixed cases.
BUG=v8:1823
TEST=LeakGlobalObjectViaMapKeyed,LeakGlobalContextViaMapProto
Review URL: http://codereview.chromium.org/8974009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-19 12:39:52 +00:00
ricow@chromium.org
240e50d6a3
Prepare push to trunk. Now working on version 3.8.2
...
Review URL: http://codereview.chromium.org/8953026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-19 11:57:47 +00:00
vegorov@chromium.org
aae1d6c6d4
Do not delay sweeping of pages that are completely free.
...
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/8997004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-19 11:33:54 +00:00
jkummerow@chromium.org
ff3ef8db55
Add tools/gyp/preparser_lib.vcproj to svn:ignore
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-16 17:00:26 +00:00
yangguo@chromium.org
9a78e79216
Fixed --print-source crash.
...
BUG=v8:1866
TEST=d8 --print-source
Review URL: http://codereview.chromium.org/8969021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-16 13:46:01 +00:00
mstarzinger@chromium.org
8450a9b88d
Fix Test262 command line in test harness.
...
This just simplifies the command line used to run test cases, allowing
to copy them from the test harness output without editing. The passed
expression is obsolete by now.
R=yangguo@chromium.org
Review URL: http://codereview.chromium.org/8966023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-16 13:37:20 +00:00
mstarzinger@chromium.org
03a2fc23b6
Remove bogus writability check in DefineGetterSetter.
...
R=rossberg@chromium.org
TEST=test262
Review URL: http://codereview.chromium.org/8951013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-16 12:54:08 +00:00
yangguo@chromium.org
9821d28836
Change --print-all-code to include --code-comments.
...
Review URL: http://codereview.chromium.org/8968010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-16 08:38:52 +00:00
yangguo@chromium.org
4b05f743e0
Introduce --print-all-code flag and infrastructure for one flag to imply another flag.
...
Review URL: http://codereview.chromium.org/8957009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-15 17:00:27 +00:00
yangguo@chromium.org
538fb2b8b4
Fix cctest/test-hashing on MIPS.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/8953016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-15 14:24:07 +00:00
yangguo@chromium.org
b4e39dae3b
MIPS: Porting r10252 to ARM.
...
Port r10262 (694b67).
BUG=
TEST=
Review URL: http://codereview.chromium.org/8947017
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-15 14:04:50 +00:00
yangguo@chromium.org
216564af58
MIPS: Porting r10221 to ARM (avoid bailing out to runtime for short substrings).
...
Port r10250 (77889cc).
BUG=
TEST=
Review URL: http://codereview.chromium.org/8953013
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-15 13:38:46 +00:00
vegorov@chromium.org
7a93464ca0
Add X64 minidumps support to tools/grokdump.py
...
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/8957005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-15 12:13:34 +00:00
yangguo@chromium.org
626b61f967
Porting r10252 to ARM (handle external strings in generated code when concatenating short strings).
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/8913010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-15 11:04:58 +00:00
yangguo@chromium.org
4ed4a7a652
Porting r10252 to x64 (handle external strings in generated code when concatenating short strings).
...
Review URL: http://codereview.chromium.org/8909004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-15 10:59:39 +00:00
fschneider@chromium.org
d1e762d782
Temporarily disable new test until no-snapshot version is fixed.
...
Review URL: http://codereview.chromium.org/8957004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-15 10:08:25 +00:00
vegorov@chromium.org
0be49927fb
Align tools/gc-nvp-trace-processor.py with --trace-gc-nvp output.
...
R=erik.corry@gmail.com
BUG=
TEST=
Review URL: http://codereview.chromium.org/8915005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-15 09:41:28 +00:00
mstarzinger@chromium.org
d22b86a583
Mark Test262 test cases for known issue 1475.
...
R=rossberg@chromium.org
BUG=v8:1475
TEST=test262/15.2.3.6-4-4??
Review URL: http://codereview.chromium.org/8911006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-14 14:55:16 +00:00
fschneider@chromium.org
b6b4af9d89
Filter out maps from different global context when collecting type feedback.
...
This avoid leaking memory because optimized code may hold on to maps
from different tabs otherwise.
BUG=v8:1823, 102895
Review URL: http://codereview.chromium.org/8892002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10257 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-14 14:01:54 +00:00
jkummerow@chromium.org
0438c76185
Fix outdated test expectations for array literal crankshafting
...
TEST=nosnap builder green
Review URL: http://codereview.chromium.org/8915006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10256 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-14 13:32:34 +00:00
jkummerow@chromium.org
106973c3d2
Create missing boilerplate for array literals instead of deoptimizing
...
BUG=107370
TEST=new additions to mjsunit/array-literal-transitions
Review URL: http://codereview.chromium.org/8914006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-14 13:01:27 +00:00
mstarzinger@chromium.org
502039a6bd
Fix invalid usage of StoreIC_ArrayLength optimization.
...
This introduces an additional check into the StoreIC_ArrayLength builtin
checking that the array still has fast properties. Redifinitions of the
length property that would cause it's type or attributes to change, will
switch to slow properties, thereby invalidating said optimization.
R=svenpanne@chromium.org
BUG=v8:1756
TEST=test262
Review URL: http://codereview.chromium.org/8895025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-14 12:46:32 +00:00
yangguo@chromium.org
9dfa8809e4
Fix nosnap builds.
...
Review URL: http://codereview.chromium.org/8938017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-14 11:48:55 +00:00
yangguo@chromium.org
4cd99d7cb9
Handle external strings in generated code when concatenating short strings.
...
TEST=string-external-cached.js
Review URL: http://codereview.chromium.org/8931025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-14 10:32:22 +00:00
yangguo@chromium.org
03696ca765
Porting r10221 to x64 (avoid bailing out to runtime for short substrings).
...
Review URL: http://codereview.chromium.org/8894001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-14 10:26:24 +00:00
yangguo@chromium.org
33a9e76808
Porting r10221 to ARM (avoid bailing out to runtime for short substrings).
...
Review URL: http://codereview.chromium.org/8923002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-14 10:22:33 +00:00
fschneider@chromium.org
1bdac10670
Fix two x64 code generation bugs introduced by const context slot code from r10244
...
TEST=mjsunit debug tests pass again.
Review URL: http://codereview.chromium.org/8932014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10249 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-14 08:43:55 +00:00
fschneider@chromium.org
cf8e2b01e4
Landing forgotten mjsunit test file from previous CL.
...
Patch by Fedor Indutny <fedor.indutny@gmail.com>.
Original code review: http://codereview.chromium.org/8857001/
Review URL: http://codereview.chromium.org/8935006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10245 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-13 17:13:47 +00:00
fschneider@chromium.org
626454a61a
[hydrogen] don't bailout assignments to consts
...
If constant variable is allocated in CONTEXT
Patch by Fedor Indutny <fedor.indutny@gmail.com>.
BUG=
TEST=
R=vegorov@chromium.org
Review URL: http://codereview.chromium.org/8857001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-13 17:10:34 +00:00
ulan@chromium.org
76b48da7ef
Guard against undefined fields in global context.
...
BUG=v8:1860
TEST=
R=vegorov@chromium.org
Review URL: http://codereview.chromium.org/8917014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-13 14:20:03 +00:00
jkummerow@chromium.org
91efb313eb
Fix crash in d8 when external array ctor hits stack overflow
...
BUG=100859
TEST=mjsunit/regress/regress-crbug-100859
Review URL: http://codereview.chromium.org/8898021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-13 13:51:58 +00:00
vegorov@chromium.org
a2159a6bb9
Fix GCC 4.7 warnings, which are related to char being signed in GCC
...
("narrowing conversion ... inside { } is ill-formed in C++11").
* src/mksnapshot.cc: Cast "char" to "unsigned char" when outputting snapshot.
* test/cctest/test-regexp.cc: Use static_cast to uc16 as the char
literal is signed.
Review URL: http://codereview.chromium.org/8825003
Patch from Tobias Burnus <burnus@net-b.de>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-13 13:02:08 +00:00
yangguo@chromium.org
94f9aa3a0d
Avoid using an invalid working directory in mjsunit/d8-os.
...
This test deleted its working directory and then tried to run several
shell commands which caused a failure on nfs.
Changes:
-TEST_DIR is only removed at the very end of the test
-the working directory is changed to /tmp at the beginning so that
every iteration (when running with --stress-opt) has a valid working directory
BUG=
TEST=
Review URL: http://codereview.chromium.org/8936004
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-13 12:57:33 +00:00
ricow@chromium.org
517e192f3e
Prepare push to trunk. Now working on version 3.8.1.
...
Review URL: http://codereview.chromium.org/8912004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-13 07:56:16 +00:00
fschneider@chromium.org
4a60bd0897
Remove dead code and one static initializer that came with it.
...
BUG=1859
Review URL: http://codereview.chromium.org/8917004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10237 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-12 11:54:21 +00:00
mstarzinger@chromium.org
4dd5bb2892
Fix another corner case for DefineOwnProperty on arrays.
...
R=rossberg@chromium.org
BUG=v8:1756
TEST=test262
Review URL: http://codereview.chromium.org/8890015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-12 10:20:46 +00:00
keuchel@chromium.org
7348d910f2
MIPS: Hydrogen support for context allocated harmony bindings.
...
Port r10220 (1dae466).
Original commit message:
This CL adds support for loading from and storing to context slots
belonging to harmony let or const bound variables. Checks for the
hole value are performed and the function is deoptimized if they fail.
The full-codegen generated code will take care of properly throwing
a reference error in these cases.
BUG=
TEST=
Review URL: http://codereview.chromium.org/8897025
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10235 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-12 08:48:39 +00:00
yangguo@chromium.org
6fdf50c040
MIPS: Port Math.pow inlining to ARM.
...
Port r10210 (6b15398) and r10226 (cdc75a453).
BUG=
TEST=
Review URL: http://codereview.chromium.org/8896021
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10234 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-12 08:26:42 +00:00
yangguo@chromium.org
42a85ce584
Enable mips in the test wrapper for gyp.
...
Review URL: http://codereview.chromium.org/8919002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-12 08:19:30 +00:00
ricow@chromium.org
c64fe2ecae
MIPS: Reland 10216 - Optimize the equality check case of ICCompare stubs.
...
Port r10219 (56686b).
Original commit message:
Now with arm and x64 support. Additionally, added default unreachable case to switch statement in CompareIC::TargetState to make win and mac compilers happy.
Reviewer guide:
This is an exact copy of 10216 except:
src/arm/*
src/x64/*
src/ic.cc (added default case to swith in CompareIC::TargetState)
BUG=
TEST=
Review URL: http://codereview.chromium.org/8896022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-12 06:38:29 +00:00
danno@chromium.org
3e3827bd83
Fix regex regression in top-of-tree.
...
R=jkummerow@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/8896001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-09 15:04:41 +00:00
yangguo@chromium.org
a7f0c72e2d
Fixing bug introduced in r10210 that crashes v8 raytrace benchmark.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/8889047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-09 12:11:56 +00:00
yangguo@chromium.org
ce86c1bfb1
Avoid bailing out to runtime for short substrings.
...
This significantly improves the speed for creating short substrings (less than 13 characters) from slices, flat cons strings and external strings.
TEST=string-external-cached.js, string-slices.js
Review URL: http://codereview.chromium.org/8889012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10221 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-09 10:04:58 +00:00
keuchel@chromium.org
f1649cf39c
Hydrogen support for context allocated harmony bindings.
...
This CL adds support for loading from and storing to context slots
belonging to harmony let or const bound variables. Checks for the
hole value are performed and the function is deoptimized if they fail.
The full-codegen generated code will take care of properly throwing
a reference error in these cases.
TEST=mjsunit/harmony/block-let-crankshaft.js
Review URL: http://codereview.chromium.org/8820015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10220 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-09 09:50:30 +00:00
ricow@chromium.org
ec66c36fbf
Reland 10216 - Optimize the equality check case of ICCompare stubs.
...
Now with arm and x64 support. Additionally, added default unreachable case to switch statement in CompareIC::TargetState to make win and mac compilers happy.
Reviewer guide:
This is an exact copy of 10216 except:
src/arm/*
src/x64/*
src/ic.cc (added default case to swith in CompareIC::TargetState)
Review URL: http://codereview.chromium.org/8872060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10219 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-09 09:26:14 +00:00
danno@chromium.org
ef54f5690f
Support Smi->Double->HeapObject transitions in constructed Arrays.
...
Also several bugs with Smi/double elements handling and make Ensure* routines more flexible.
BUG=none
TEST=test/mjsunit/array-construct-transition.js
Review URL: http://codereview.chromium.org/8820014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10218 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-09 08:50:19 +00:00
ricow@chromium.org
174532d23f
Revert 10216 Optimize the equality check case of ICCompare stubs.
...
Missing arm and x64 implementations
Review URL: http://codereview.chromium.org/8883023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-08 17:28:44 +00:00
ricow@chromium.org
1028cf2631
Optimize the equality check case of ICCompare stubs.
...
This includes specialcasing the generation when we know that the maps
of the two objects are the same. In addition, a new specialized
compare ic known objects cache is created.
The reason for the cache is that we need to have access to the stub
code from the roots; if we do not, the GC will collect the stub. In
this specialized case we use the map pointer as key in the cache, and
we always do a lookup before generating code. Actually hitting
something in the cache will happen very rarely, but we could
potentially overwrite an existing stub, which again will lead to the
GC collecting this old stub (even if it is referenced from other code
objects)
Review URL: http://codereview.chromium.org/8520006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10216 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-08 17:17:21 +00:00
vegorov@chromium.org
a457040ca6
Ensure that non-optimized code objects are not flushed for inlined functions.
...
Collector was flushing them if optimized code was reachable only through the stack (not through the JSFunction object) which happens when you have a pending lazy deoptimization.
Also prevent v8::Script::New from leaking internal objects allocated by the compiler into outer HandleScope.
R=kmillikin@chromium.org
BUG=http://crbug.com/97116
TEST=test/mjsunit/regress/regress-97116.js
Review URL: http://codereview.chromium.org/8888011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10215 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-08 16:07:07 +00:00
yangguo@chromium.org
f206e15c42
MIPS: Fixing MathPowHalf on ARM.
...
Port r10166 (b57f3f1a), r10167 (202eada9) and r10170 (5c5c96da).
BUG=
TEST=
Review URL: http://codereview.chromium.org/8822014
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-08 14:36:36 +00:00