jkummerow@chromium.org [Thu, 6 Sep 2012 13:45:58 +0000 (13:45 +0000)]
Prepare push to trunk. Now working on version 3.13.7.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10928026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12464
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 6 Sep 2012 11:05:40 +0000 (11:05 +0000)]
Loosen up code logging test that was sensitive to GC timing.
Review URL: https://chromiumcodereview.appspot.com/
10918096
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12463
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 5 Sep 2012 16:23:01 +0000 (16:23 +0000)]
Extend grokdump.py with [u]nassemble command
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10910091
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12447
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 5 Sep 2012 16:08:13 +0000 (16:08 +0000)]
Check the return value of API calls on ia32 and x64.
This implies that the return value of native getters is checked. The nice part
is that one can even see the name of the property in question in the abort
output when the check failed.
Under some circumstances even the return value of interceptors gets checked, but
I'm not 100% sure about this, because the interceptor code is basically tuned to
death.
The change seems to have very low overhead, so it might be feasible to keep this
check enabled unconditionally.
Review URL: https://chromiumcodereview.appspot.com/
10918071
Patch from Sven Panne <svenpanne@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12446
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 5 Sep 2012 16:06:53 +0000 (16:06 +0000)]
Add empty-handle checks to API functions (#ifdef ENABLE_EXTRA_CHECKS)
Review URL: https://chromiumcodereview.appspot.com/
10917088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12445
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 5 Sep 2012 16:06:07 +0000 (16:06 +0000)]
Disable accessor inlining (due to broken deopts)
BUG=134609
Review URL: https://chromiumcodereview.appspot.com/
10908093
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12444
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 5 Sep 2012 12:30:49 +0000 (12:30 +0000)]
Push stacktrace and die if the receiver is of unknown type.
Review URL: https://chromiumcodereview.appspot.com/
10917086
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12443
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 5 Sep 2012 11:45:58 +0000 (11:45 +0000)]
Fix binding in new Function().
Review URL: https://chromiumcodereview.appspot.com/
10916114
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12442
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 5 Sep 2012 09:29:15 +0000 (09:29 +0000)]
Fix missing colon in common.gypi
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10912092
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12441
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 5 Sep 2012 09:24:37 +0000 (09:24 +0000)]
Add build system infrastructure for ENABLE_EXTRA_CHECKS flag (not used yet)
Review URL: https://chromiumcodereview.appspot.com/
10905093
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12440
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 5 Sep 2012 08:19:49 +0000 (08:19 +0000)]
Fix some corner cases in skipping native methods using caller.
Review URL: https://chromiumcodereview.appspot.com/
10911063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12439
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 4 Sep 2012 12:23:22 +0000 (12:23 +0000)]
Revert r12430, r12432, r12433 (basic support for Latin1).
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10905075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12438
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 4 Sep 2012 09:54:36 +0000 (09:54 +0000)]
Fixed test expectation.
Review URL: https://chromiumcodereview.appspot.com/
10913062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12435
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 4 Sep 2012 09:35:43 +0000 (09:35 +0000)]
Support register as right operand in min/max support.
R=jkummerow@chromium.org
BUG=chromium:145961
TEST=mjsunit/regress/regress-crbug-145961.js
Review URL: https://chromiumcodereview.appspot.com/
10914072
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12434
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 3 Sep 2012 15:50:24 +0000 (15:50 +0000)]
Fix more windows build warnings.
TBR=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10917065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12433
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 3 Sep 2012 15:40:00 +0000 (15:40 +0000)]
Fix windows compile errors introduced by r12430.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10907049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12432
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 3 Sep 2012 15:15:32 +0000 (15:15 +0000)]
Do not generate new enumeration indices for global objects.
Review URL: https://chromiumcodereview.appspot.com/
10911058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12431
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 3 Sep 2012 15:06:36 +0000 (15:06 +0000)]
Add basic support for Latin1 to the API.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10857030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12430
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 3 Sep 2012 15:05:08 +0000 (15:05 +0000)]
Use local variable for getter function in Error.stack
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10911056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12429
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 3 Sep 2012 14:23:00 +0000 (14:23 +0000)]
Fix FindSharedFunctionInfoInScript to not optimize.
This prevents a corner case in FindSharedFunctionInfoInScript that would cause
functions to be optimized because an intermittent GC would clear the flag
indicating whether breakpoints are present. Above method was also moved into the
Debug class because it is only used by the debugger.
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10914065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12428
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 3 Sep 2012 13:27:17 +0000 (13:27 +0000)]
If we are trimming the whole array, just return the empty fixed array.
Review URL: https://chromiumcodereview.appspot.com/
10911054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12427
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 3 Sep 2012 12:31:24 +0000 (12:31 +0000)]
Optimize dictionary enum generation.
Review URL: https://chromiumcodereview.appspot.com/
10916076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12426
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 3 Sep 2012 11:27:09 +0000 (11:27 +0000)]
Fix android.gypi to provide correct include and library paths when using standalone Android toolchain.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10910062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12425
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 3 Sep 2012 08:37:47 +0000 (08:37 +0000)]
Directly use %ObjectKeys in json stringify.
BUG=2312
Review URL: https://chromiumcodereview.appspot.com/
10905059
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12424
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 3 Sep 2012 06:36:19 +0000 (06:36 +0000)]
MIPS: First steps towards named Litihium operands.
Port r12383 (
881d7d4d)
Original commit message:
Accessing Lithium operands via position is fragile and makes it impossible to
statically find all uses of a given operand. This CL is a step towards cleaning
this up, more to come...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10911021
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12423
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 31 Aug 2012 18:12:25 +0000 (18:12 +0000)]
Only regenerate enumeration indices if properties were deleted.
This indicated by the NextEnumerationIndex diverging from the actual
NumberOfElements.
Review URL: https://chromiumcodereview.appspot.com/
10912049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12422
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 31 Aug 2012 17:10:44 +0000 (17:10 +0000)]
Clear descriptor pointer when normalizing properties.
Review URL: https://chromiumcodereview.appspot.com/
10909029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12421
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 31 Aug 2012 14:45:31 +0000 (14:45 +0000)]
Fix VS2005 build.
R=jkummerow@chromium.org
BUG=v8:2313
Review URL: https://chromiumcodereview.appspot.com/
10907029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12420
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 31 Aug 2012 13:31:09 +0000 (13:31 +0000)]
Add option to build using a standalone Android toolchain without Android NDK.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10908034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12419
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 31 Aug 2012 12:02:02 +0000 (12:02 +0000)]
Disable test that triggers known bug.
BUG=v8:2261
Review URL: https://chromiumcodereview.appspot.com/
10910029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12418
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 31 Aug 2012 09:50:27 +0000 (09:50 +0000)]
MIPS: Use a special EnumLength field to indicate number of valid enum cache values.
Port r12400 (
03ae62de)
Original commit message:
This is preparatory work for sharing Enum Caches.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10914025
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12417
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 31 Aug 2012 09:28:01 +0000 (09:28 +0000)]
Cache results in SearchRegExpMultiple.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10837290
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12416
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 31 Aug 2012 09:12:31 +0000 (09:12 +0000)]
Activate fixed ES5 readonly semantics by default.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10912042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12415
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 30 Aug 2012 18:10:09 +0000 (18:10 +0000)]
Removed trailing whitespace.
Review URL: https://chromiumcodereview.appspot.com/
10916020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12414
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 30 Aug 2012 17:31:32 +0000 (17:31 +0000)]
Elements load depends on the type of the receiver.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10918005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12413
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 30 Aug 2012 16:43:58 +0000 (16:43 +0000)]
Add hardfp flag to the Makefile.
This flag passes -Dv8_use_arm_eabi_hardfloat=true to gyp.
This is needed for Linux distros that are experimenting
with hardfp.
BUG=none
Review URL: https://chromiumcodereview.appspot.com/
10889026
Patch from Paweł Hajdan Jr. <phajdan.jr@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12412
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 30 Aug 2012 06:45:45 +0000 (06:45 +0000)]
Fixed comment and simplified the related code a bit.
TBR=erik.corry@gmail.com
Review URL: https://chromiumcodereview.appspot.com/
10911003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12411
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Wed, 29 Aug 2012 16:12:23 +0000 (16:12 +0000)]
Remove obsolete method declarations from HeapEntry class.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/
10892033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12410
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 29 Aug 2012 15:29:41 +0000 (15:29 +0000)]
Prepare push to trunk. Now working on version 3.13.6.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10899032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12407
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 29 Aug 2012 15:23:48 +0000 (15:23 +0000)]
Revert r12379 (Add checks to external string API).
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10897027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12406
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 29 Aug 2012 09:33:14 +0000 (09:33 +0000)]
Slightly simplify declaration of node types.
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10886010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12405
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 29 Aug 2012 09:19:53 +0000 (09:19 +0000)]
Introduce some predicates over variable modes.
These should be handy when we add more declaration forms for Harmony.
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10897010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12404
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 29 Aug 2012 07:51:48 +0000 (07:51 +0000)]
Release stack trace data after firing Error.stack accessor.
BUG=v8:2308
Review URL: https://chromiumcodereview.appspot.com/
10886012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12403
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 29 Aug 2012 06:12:46 +0000 (06:12 +0000)]
Added IC support for native setters on the prototype chain.
Review URL: https://chromiumcodereview.appspot.com/
10873057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12402
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 28 Aug 2012 14:43:28 +0000 (14:43 +0000)]
Add a new API V8::SetJitCodeEventHandler to push code name and location to users such as profilers.
BUG=None
TEST=Included in CL.
Committed: https://code.google.com/p/v8/source/detail?r=12389
Review URL: https://chromiumcodereview.appspot.com/
10795074
Patch from Sigurður Ásgeirsson <siggi@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12401
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 28 Aug 2012 14:20:50 +0000 (14:20 +0000)]
Use a special EnumLength field to indicate number of valid enum cache values.
This is preparatory work for sharing Enum Caches.
Review URL: https://chromiumcodereview.appspot.com/
10824079
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12400
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 28 Aug 2012 14:17:55 +0000 (14:17 +0000)]
Disable test that triggers known bug.
R=verwaest@chromium.org
BUG=v8:2261
Review URL: https://chromiumcodereview.appspot.com/
10896005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12399
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 28 Aug 2012 11:25:08 +0000 (11:25 +0000)]
Allocate block-scoped global bindings to global context.
- The global object has a reference to the current global scope chain.
Running a script adds to the chain if it contains global lexical declarations.
- Scripts are executed relative to a global, not a native context.
- Harmony let and const bindings are allocated to the innermost global context;
var and function still live on the global object.
(Lexical bindings are not reflected on the global object at all,
but that will probably change later using accessors, as for modules.)
- Compilation of scripts now needs a (global) context (previously only eval did).
- The global scope chain represents one logical scope, so collision tests take
the chain into account.
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10872084
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12398
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 28 Aug 2012 10:49:23 +0000 (10:49 +0000)]
Index script compilation cache over context, too,
in preparation for global lexical scope.
R=ulan@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10878007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12397
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 28 Aug 2012 09:37:41 +0000 (09:37 +0000)]
Reland regexp global optimizations.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10872010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12396
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 28 Aug 2012 09:03:07 +0000 (09:03 +0000)]
Prepare push to trunk. Now working on version 3.13.5.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10895004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12393
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 28 Aug 2012 07:39:45 +0000 (07:39 +0000)]
Disable array bounds checks elimination.
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10895002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12392
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 28 Aug 2012 07:18:06 +0000 (07:18 +0000)]
Print reason for disabling optimization. Kill --trace-bailout flag.
The reason for disabling optimization of a given function is carried around in
CompilationInfo. The new mechanism is general enough that --trace-opt now
subsumes everything --trace-bailout could print, so we nuked the latter flag.
Review URL: https://chromiumcodereview.appspot.com/
10868106
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12391
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 27 Aug 2012 19:47:02 +0000 (19:47 +0000)]
Revert "Add a new API V8::SetJitCodeEventHandler to push code name and location to users such as profilers."
This reverts commit r12389.
TBR=jkummerow@chromium.org, CC=siggi@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10870108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12390
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 27 Aug 2012 18:03:38 +0000 (18:03 +0000)]
Add a new API V8::SetJitCodeEventHandler to push code name and location to users such as profilers.
BUG=None
TEST=Included in CL.
Review URL: https://chromiumcodereview.appspot.com/
10795074
Patch from Sigurður Ásgeirsson <siggi@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12389
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 27 Aug 2012 16:08:27 +0000 (16:08 +0000)]
Revert r12342 "Flush monomorphic ICs on context disposal instead of context exit." because of canary channel crashes.
BUG=144230
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10868068
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12388
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 27 Aug 2012 15:25:15 +0000 (15:25 +0000)]
Provide option to disable full DEBUG build on Android.
V8 full DEBUG is too slow on Android. Disable it when android_full_debug==0.
R=ulan
BUG=none
Review URL: https://chromiumcodereview.appspot.com/
10874062
Patch from Xianzhu Wang <wangxianzhu@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12387
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 27 Aug 2012 15:17:14 +0000 (15:17 +0000)]
Disallow updates to ic_with_type_info_count with negative values.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10883064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12386
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 27 Aug 2012 13:47:34 +0000 (13:47 +0000)]
Make order of addition the primary order of descriptor arrays.
The order by name is maintained as secondary order by using unused bits in the property details.
This is preliminary work towards sharing descriptors arrays.
The change allows us
- to get rid of the LastAdded bits in the map, binding it to the number of valid descriptors for the given map
- to avoid resorting by enumeration index to create the cache
- (maybe in the future, depending on performance) to get rid of the enumeration cache altogether.
Although generally the number_of_descriptors equals the NumberOfOwnDescriptors in the current version, this is preliminary work towards sharing descriptors, where maps may have more descriptors than are valid for the map.
Review URL: https://chromiumcodereview.appspot.com/
10879013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12385
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 27 Aug 2012 09:40:26 +0000 (09:40 +0000)]
Introduce global contexts to represent lexical global scope(s).
They are yet unused; actual allocation of global lexical bindings in these contexts is implemented in a separate follow-up CL.
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10876067
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12384
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 27 Aug 2012 09:39:05 +0000 (09:39 +0000)]
First steps towards named Litihium operands.
Accessing Lithium operands via position is fragile and makes it impossible to
statically find all uses of a given operand. This CL is a step towards cleaning
this up, more to come...
Review URL: https://chromiumcodereview.appspot.com/
10878073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12383
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 27 Aug 2012 09:05:07 +0000 (09:05 +0000)]
Unbreak MIPS build.
TBR=vegorov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10868102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12382
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 27 Aug 2012 08:49:00 +0000 (08:49 +0000)]
Remove unused method and add line breaks after each serialized edge
Review URL: https://chromiumcodereview.appspot.com/
10874063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12381
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 27 Aug 2012 07:29:36 +0000 (07:29 +0000)]
MIPS: Fix rounding in Uint8ClampedArray setter.
Port r12364 (
31e40def)
Original commit message:
According to Web IDL spec, we should round to
the nearest integer, choosing the even integer
if it lies halfway between two.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10870049
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12380
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 24 Aug 2012 13:01:52 +0000 (13:01 +0000)]
Add check to external string resource.
Extensions are a source of external strings where we don't perform check yet.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10878025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12379
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 24 Aug 2012 09:06:23 +0000 (09:06 +0000)]
MIPS: Check that index and length are Smi in bounds check.
Port r12362 (
cd39337c)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10876053
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12376
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 23 Aug 2012 21:08:58 +0000 (21:08 +0000)]
Disable speculative LICM when it may lead to unnecessary deopts
BUG=v8:2250
R=vegorov@chromium.org
TEST=tests/mjsunit/regress/regress-2250.js
Review URL: https://chromiumcodereview.appspot.com/
10867033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12375
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 23 Aug 2012 16:38:15 +0000 (16:38 +0000)]
Test case for conflicting global declarations across multiple scripts.
R=ulan@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10872037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12374
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 23 Aug 2012 16:14:01 +0000 (16:14 +0000)]
Fix DoDeferredNumberTagU to keep the value in xmm1 instead of xmm0 on x64.
xmm0 is not saved across runtime call on x64 because MacroAssembler::EnterExitFrameEpilogue preserves only allocatable XMM registers unlike on ia32 where it preserves all registers.
Cleanup handling of shifts: SHR can deoptimize only when its a shift by 0, all other shift never deoptimize.
Fix type inference for i-to-t change instruction. On X64 this ensures that write-barrier is generated correctly.
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10868032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12373
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 23 Aug 2012 16:11:37 +0000 (16:11 +0000)]
Fix typo in grokdump.
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10883004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12372
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erikcorry [Thu, 23 Aug 2012 11:15:06 +0000 (11:15 +0000)]
Fix semaphore on MacOS. This is a commit of https://chromiumcodereview.appspot.com/
10867009/ for Fedor Indutny
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12371
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 23 Aug 2012 08:15:38 +0000 (08:15 +0000)]
Make the performance of the VM more predictable by not letting the hash seed
affect the order in which the local variables are processed in the compiler.
Review URL: https://chromiumcodereview.appspot.com/
10870033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12370
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 22 Aug 2012 19:00:02 +0000 (19:00 +0000)]
When processing collected uint32 instructions skip those with non-Integer32 representation.
R=danno@chromium.org
BUG=test262 S15.4.4.8_A2_T3.js
Review URL: https://chromiumcodereview.appspot.com/
10867017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12369
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 22 Aug 2012 15:58:16 +0000 (15:58 +0000)]
Fix order of conversions in ObjectToInt32 and ObjectToUint32 helpers.
TBR=danno@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10878012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12368
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 22 Aug 2012 15:44:17 +0000 (15:44 +0000)]
Allow uint32 value on optimized frames if they are consumed by safe operations.
Safe operations are those that either do not observe unsignedness or have special support for uint32 values:
- all binary bitwise operations: they perform ToInt32 on inputs;
- >> and << shifts: they perform ToInt32 on left hand side and ToUint32 on right hand side;
- >>> shift: it performs ToUint32 on both inputs;
- stores to integer external arrays (not pixel, float or double ones): these stores are "bitwise";
- HChange: special support added for conversions of uint32 values to double and tagged values;
- HSimulate: special support added for deoptimization with uint32 values in registers and stack slots;
- HPhi: phis that have only safe uses and only uint32 operands are uint32 themselves.
BUG=v8:2097
TEST=test/mjsunit/compiler/uint32.js
Review URL: https://chromiumcodereview.appspot.com/
10778029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12367
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 22 Aug 2012 15:08:48 +0000 (15:08 +0000)]
While finding the valueOf descriptor, only look at the key entries.
Review URL: https://chromiumcodereview.appspot.com/
10870012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12366
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 22 Aug 2012 14:45:25 +0000 (14:45 +0000)]
Fix Windows build after r12364.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10880004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12365
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 22 Aug 2012 14:27:11 +0000 (14:27 +0000)]
Fix rounding in Uint8ClampedArray setter.
According to Web IDL spec, we should round to
the nearest integer, choosing the even integer
if it lies halfway between two.
R=yangguo@chromium.org,kbr@chromium.org
BUG=v8:2294
Review URL: https://chromiumcodereview.appspot.com/
10831409
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12364
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 22 Aug 2012 07:02:19 +0000 (07:02 +0000)]
Print more x64 registers in grokdump.
Review URL: https://chromiumcodereview.appspot.com/
10873006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12363
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 21 Aug 2012 16:46:25 +0000 (16:46 +0000)]
Check that index and length are Smi in bounds check.
BUG=chromium:142218
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10829456
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12362
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 21 Aug 2012 14:21:53 +0000 (14:21 +0000)]
Introduce DISABLE_ASAN macro to disable AddressSanitizer instrumentation for given functions.
Disable AddressSanitizer instrumentation for StackTracer::Trace.
R=danno@chromium.org
BUG=chromium:134722
Review URL: https://chromiumcodereview.appspot.com/
10834430
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12361
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 21 Aug 2012 11:33:49 +0000 (11:33 +0000)]
MIPS: Fix write barrier for StoreKeyedFastElements on ARM.
Port r12238 (
300f3dac)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10828216
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12358
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 21 Aug 2012 10:45:44 +0000 (10:45 +0000)]
Prepare push to trunk. Now working on version 3.13.4.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10861028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12352
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 21 Aug 2012 09:48:26 +0000 (09:48 +0000)]
Revert r12346 (Introduce InternalProperty type and expose internal properties for bound functions)
Original CL: https://chromiumcodereview.appspot.com/
10834376
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10834428
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12351
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 21 Aug 2012 09:46:23 +0000 (09:46 +0000)]
Revert r12258, r12300 and r12302 (global regexp).
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10825472
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12350
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 21 Aug 2012 07:06:21 +0000 (07:06 +0000)]
Fix mjsunit/debug-script.js failure that occurs when running with the --isolates flag.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10825454
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12347
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Mon, 20 Aug 2012 21:49:19 +0000 (21:49 +0000)]
Introduce InternalProperty type and expose internal properties for bound functions
Review URL: https://chromiumcodereview.appspot.com/
10834376
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12346
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 20 Aug 2012 14:44:26 +0000 (14:44 +0000)]
While allocating code objects, perform the incremental marking step before NULLing the new object. Otherwise the code cache cannot iterate the code space anymore, which is required to clear ICs.
Review URL: https://chromiumcodereview.appspot.com/
10834408
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12345
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 20 Aug 2012 14:32:32 +0000 (14:32 +0000)]
Handle native callbacks without getters.
TEST=cctest/test-api/SetterOnly,cctest/test-api/NoAccessors
Review URL: https://chromiumcodereview.appspot.com/
10831388
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12344
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 20 Aug 2012 13:19:52 +0000 (13:19 +0000)]
Fix test failures introduced by r12342.
Add missing context disposed notifications in test-api.
Move send-idle-notification flag to d8 options so that it is available in d8
when v8 is build as a shared libarary.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10834405
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12343
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 20 Aug 2012 12:09:03 +0000 (12:09 +0000)]
Flush monomorphic ICs on context disposal instead of context exit.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10836189
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12342
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 20 Aug 2012 11:35:50 +0000 (11:35 +0000)]
Rename JSGlobalProxy::context to native_context,
for clarity and consistency with GlobalObject::native_context.
R=svenpanne@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10861007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12341
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 20 Aug 2012 09:17:58 +0000 (09:17 +0000)]
Prepare push to trunk. Now working on version 3.13.3.
R=danno@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10836334
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12340
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 20 Aug 2012 07:32:30 +0000 (07:32 +0000)]
Fix typo in Add|RemoveGCPrologueCallback
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10836234
Patch from Yang Gu <yang.gu@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12339
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 17 Aug 2012 15:21:15 +0000 (15:21 +0000)]
Add input check to %DebugSetScriptSource.
R=verwaest@chromium.org
BUG=v8:2296
Review URL: https://chromiumcodereview.appspot.com/
10837308
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12338
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 17 Aug 2012 12:59:00 +0000 (12:59 +0000)]
Rename Context::global to Context::global_object,
in preparation for global lexical scope.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10832365
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12335
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 17 Aug 2012 10:43:32 +0000 (10:43 +0000)]
Deoptimization support for accessors.
Highlights of this CL:
* Introduced a new opcode in the deoptimizer for a setter stub frame.
* Added a global setter stub for returning after deoptimizing a setter.
* We do not need special deopt support for getters, although the getter stub creates an internal frame. The normal machinery works just right for this case, although we generate a stack that can never occur during normal fullcode execution. If this hurts us one day, we can parameterize and reuse the setter deopt machinery.
Review URL: https://chromiumcodereview.appspot.com/
10855098
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12328
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 17 Aug 2012 09:03:08 +0000 (09:03 +0000)]
Rename "global context" to "native context",
in anticipation of the upcoming lexical global scope.
Mostly automatised as:
for FILE in `egrep -ril "global[ _]?context" src test/cctest`
do
echo $FILE
sed "s/Global context/Native context/g" <$FILE >$FILE.0
sed "s/global context/native context/g" <$FILE.0 >$FILE.1
sed "s/global_context/native_context/g" <$FILE.1 >$FILE.2
sed "s/GLOBAL_CONTEXT/NATIVE_CONTEXT/g" <$FILE.2 >$FILE.3
sed "s/GlobalContext/NativeContext/g" <$FILE.3 >$FILE
rm $FILE.[0-9]
done
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10832342
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12325
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 16 Aug 2012 15:39:37 +0000 (15:39 +0000)]
Prepare push to trunk. Now working on version 3.13.2.
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10836290
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12322
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 16 Aug 2012 14:25:55 +0000 (14:25 +0000)]
Show map -> transition array -> descriptor array to the heap profiler.
BUG=chromium:142625
Review URL: https://chromiumcodereview.appspot.com/
10830309
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12321
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00