rossberg@chromium.org
d180039f9c
Remove strict mode from message.js, seems to break Error conformance.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9426034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 15:02:23 +00:00
rossberg@chromium.org
958b3bf470
Parsing of basic module declarations (no imports/exports yet).
...
Module definitions are not compiled or otherwise executed yet.
Toplevel module identifiers are bound but never initialized.
R=kmillikin@chromium.org ,mstarzinger@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9401008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10759 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 14:02:59 +00:00
rossberg@chromium.org
1336b913d0
Make built-ins strict mode conforming, and support a --use-strict flag.
...
* Turned all uses of 'const' into 'var'.
* Turned all uses of local 'function' into 'var'.
* Added a couple of missing toplevel 'var' declarations.
One consequence is that the properties on the builtin object are no longer
non-writable, and I had to adapt one test. Is that a problem?
Unfortunately, we cannot actually switch the library scripts to strict mode
by default, because that makes observable things like poisoned .caller properties
for library functions.
Also removed dead flag code in Compiler::Compile.
R=yangguo@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9415010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10758 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 13:48:24 +00:00
yangguo@chromium.org
8ebbd863a5
Port r10490 and r10615 to cygwin.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9423041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10757 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 13:42:24 +00:00
ulan@chromium.org
fc36795ea8
Fix presubmit.
...
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9427011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 13:22:02 +00:00
yangguo@chromium.org
30bcc481e1
Enable inlining for Math.min/max in more cases.
...
Review URL: https://chromiumcodereview.appspot.com/9372021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 13:21:15 +00:00
jkummerow@chromium.org
0177aa62da
Count ICs that have type information.
...
Hidden behind --type-info-threshold=X flag, usage dependent on experimental profiler.
Review URL: https://chromiumcodereview.appspot.com/9403009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 12:57:23 +00:00
ulan@chromium.org
2740d30687
Fix compile error on windows.
...
R=yangguo@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9424032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10752 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 12:36:35 +00:00
jkummerow@chromium.org
852b4f9854
Fix memory leak and missing #include in StartupDataDecompressor
...
BUG=v8:1960
TEST=compile with GYPFLAGS=-Dv8_compress_snapshot_data=bz2, then run d8 with valgrind
Review URL: https://chromiumcodereview.appspot.com/9395073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 11:01:17 +00:00
fschneider@chromium.org
3f8ed7c30d
Add a missing check for a failure result.
...
Function calls that may return a failure must use the result. Enforce
this by adding missing MUST_USE_RESULT to their declarations.
Review URL: https://chromiumcodereview.appspot.com/9421032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10748 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 10:17:25 +00:00
svenpanne@chromium.org
77079b6fd3
Avoid sharing AccessorPairs during Genesis.
...
To test the upcoming changes for map sharing in the presence of accessors, it is
essential that we keep a few global invariants: The map tree should always stay
a tree and AccessorPairs should not be shared between different DescriptorArrays
and/or StringDictionaries. This CL adds a test method for the latter invariant
and makes some changes to the bootstrapping process to avoid such sharing.
Note that we can't enable the new test method permanently yet, because we
currently go back and forth between fast mode and slow mode when adding an
accessor and break this invariant temporarily. This will be handled in a
separate CL.
Review URL: https://chromiumcodereview.appspot.com/9417043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10744 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 08:42:18 +00:00
mstarzinger@chromium.org
e2ec183926
Fix String.prototype.split for undefined separator.
...
R=rossberg@chromium.org
TEST=test262/S15.5.4.14_A?_T?
Review URL: https://chromiumcodereview.appspot.com/9355005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 08:41:13 +00:00
fschneider@chromium.org
ca1610e302
Add missing checks for failure after AddElementsTransition.
...
Review URL: https://chromiumcodereview.appspot.com/9416058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-17 16:02:20 +00:00
svenpanne@chromium.org
f06b182f8e
Moved access checks out of Dictionary class.
...
The checks were at the wrong abstraction level, JSObject is the right place for
this check. Note that other uses of ValueAtPut either don't need a check at all
(like the one used for copying boilerplate) or do the check for themselves.
Review URL: https://chromiumcodereview.appspot.com/9417044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10741 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-17 13:48:43 +00:00
ulan@chromium.org
fd2d480fb0
Rename static methods to avoid shadowing virtual methods
...
and fix Clang C++11 compile error.
Review URL: https://chromiumcodereview.appspot.com/9420049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-17 12:59:58 +00:00
mstarzinger@chromium.org
e423637898
Fix sequence of element access in array builtins.
...
R=rossberg@chromium.org
BUG=v8:1790
TEST=mjsunit/regress/regress-1790,test262/15.4.4.22-9-9
Review URL: https://chromiumcodereview.appspot.com/9419044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-17 10:06:26 +00:00
mstarzinger@chromium.org
1dd2b094a5
Implement fast literal support in Crankshaft.
...
This extends the current support for nested object literals we already
have in Crankshaft, to also support nested array literals and mixed
nested literals containing arrays and objects. All three types are
generated by the unified HFastLiteral instruction.
All previous upper bounds on nested literal graphs remain unchanged,
keeping the size of generated code in check.
The main intention is to boost performance of two-dimensional array
literals containing constant elements (aka. matrices).
R=danno@chromium.org
TEST=mjsunit/compiler/literals-optimized
Review URL: https://chromiumcodereview.appspot.com/9403018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 17:32:30 +00:00
mstarzinger@chromium.org
15c368ce4c
Revert r10721 because of test flakiness.
...
TBR=fschneider@chromium.org
BUG=v8:1322
Review URL: https://chromiumcodereview.appspot.com/9417013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10733 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 17:13:37 +00:00
danno@chromium.org
6f7d9d2312
Enable smi_only_arrays by default.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9414007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 15:47:36 +00:00
danno@chromium.org
a07e129e9a
Relax TransitionElementsKind DependsOn/Changes dependencies.
...
Ensure that GVN eliminates all transitions that are dominated by an equivalent transition, even if there is a DependsOn-changing instruction in between.
R=fschneider@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9365057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10731 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 15:37:52 +00:00
yangguo@chromium.org
0ee19e40b1
Prepare push to trunk. Now working on version 3.9.8.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9416016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 15:30:43 +00:00
vegorov@chromium.org
b6551b83a5
Increase ARM/MIPS simulators stack safety margin to 1024 bytes
...
Based on r9686 (10e1ea5).
BUG=
TEST=mozilla regress-355497.js
Review URL: https://chromiumcodereview.appspot.com/9309030
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 14:16:12 +00:00
mstarzinger@chromium.org
acb83c06f4
Allow inlining of functions containing function literals.
...
R=fschneider@chromium.org
BUG=v8:1322
TEST=mjsunit/compiler/inline-literals
Review URL: https://chromiumcodereview.appspot.com/9419005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 14:01:41 +00:00
jkummerow@chromium.org
0199492d57
MIPS: Initial support for count-based profiling
...
Port r10699 (18a0fc0).
Original commit message:
(behind FLAG_count_based_interrupts; only on ia32)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9420005
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 13:33:37 +00:00
yangguo@chromium.org
cc2780403a
Ensure using byte registers for byte instructions on ia32 and x64.
...
BUG=v8:1945
TEST=regress-1945.js
Review URL: https://chromiumcodereview.appspot.com/9418005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 12:48:02 +00:00
danno@chromium.org
dd95fee084
Cast NaN to float in ExternalFloatArray::SetValue.
...
TBR=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9419003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10718 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 09:36:11 +00:00
fschneider@chromium.org
596a0fa73c
MIPS: Re-worked the deopt entry table.
...
This method works around the Branch offset and relocinfo issues by emulating a pc-relative jump.
This allows us to generate larger entry tables. The theoretical limit is 2^16 (number of entries)
but even that can be extended by allowing a larger instruction count.
Also reverted the mips-specific constant (kNumberOfEntries) in deoptimizer.h
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9347016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10717 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 08:38:25 +00:00
jkummerow@chromium.org
1cd5f2c7ba
Fix GCC-4.7 warnings
...
which were introduced in r10700.
Review URL: https://chromiumcodereview.appspot.com/9401005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 08:38:11 +00:00
danno@chromium.org
bd79e299e5
Uniformly handle 'undefined' store to Float64Array and Float32Array.
...
Previous behavior diverged in ICs and Crankshaft. When storing to a Float32Array or Float64Array, the ICs treated undefined as zero while Crankshaft treated it as NaN. Now both ICs and Crankshaft treat it as NaN, which is consistent with the WebGL & ECMAScript spec.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9402008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10714 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 07:58:07 +00:00
yangguo@chromium.org
01e46b955f
Initialize internal arrays with the correct map.
...
BUG=v8:1878
TEST=regress-1878.js
Review URL: https://chromiumcodereview.appspot.com/9402009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-15 13:45:42 +00:00
yangguo@chromium.org
b21ada9a98
Remove unnecessary elements type check when allocating array in runtime.
...
BUG=
TEST=--smi-only-arrays should be perf-neutral to allocating big arrays in a tight loop.
Review URL: https://chromiumcodereview.appspot.com/9356002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10711 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-15 12:13:55 +00:00
rossberg@chromium.org
f2715fe710
MIPS: Split AST Declaration class, in preparation for new module declaration forms.
...
Port r10662 (c8054f6
).
Original commit message:
Turns Declaration into an abstract class, and introduces VariableDeclaration as a concrete subclass.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9395015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 16:07:47 +00:00
jkummerow@chromium.org
8ac0c1cdf2
Properly disable count-based profiler on non-ia32
...
TEST=buildbot redness gone
Review URL: https://chromiumcodereview.appspot.com/9360043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 16:05:40 +00:00
danno@chromium.org
b098a2bdf6
MIPS: Implement KeyedStoreICs to grow arrays on out-of-bound stores.
...
Port r10673 (18d3af5).
Original commit message:
Supports growing non-COW JSArray by a single element if the backing store has room, and initial allocation of a backing store for the store to index zero of an empty array to kPreallocatedArrayElements elements (e.g. the [] array literal).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9378005
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10707 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 15:49:10 +00:00
danno@chromium.org
71cd77e22c
Fix crashing bugs in store-and-grow IC for double values.
...
R=jkummerow@chromium.org
BUG=chromium:113924
TEST=test/mjsunit/regress/regress-113924.js
Review URL: https://chromiumcodereview.appspot.com/9365055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 15:09:49 +00:00
jkummerow@chromium.org
82a1adcb69
Reapply r10690 ("Temporarily disable inlining of Math.floor called as a function")
...
This reverts r10692.
Review URL: https://chromiumcodereview.appspot.com/9359035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 14:40:58 +00:00
jkummerow@chromium.org
866e0eeeb7
Small update to experimental profiler flags
...
Review URL: https://chromiumcodereview.appspot.com/9360041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10701 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 14:28:37 +00:00
fschneider@chromium.org
0be449d684
Enable optimization of top-level code and generate deoptimization support lazily.
...
This change enables optimization of top-level and eval-code. For this to work, it adds
support for declaring global variables in optimized code.
At the same time it disables the eager generation of deoptimization support data
in the full code generator (originally introduced in
r10040). This speeds up initial compilation and saves
memory for functions that won't be optimized. It requires
recompiling the function with deoptimization
support when we decide to optimize it.
Review URL: https://chromiumcodereview.appspot.com/9187005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10700 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 14:14:51 +00:00
jkummerow@chromium.org
4233bf8348
Initial support for count-based profiling
...
(behind FLAG_count_based_interrupts; only on ia32)
Review URL: https://chromiumcodereview.appspot.com/9373028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10699 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 14:00:31 +00:00
rossberg@chromium.org
559f5eecad
Don't treat function parameters as let-bound variables in Harmony mode.
...
R=ulan@chromium.org
BUG=v8:1942
TEST=
Review URL: https://chromiumcodereview.appspot.com/9365054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 13:47:54 +00:00
ulan@chromium.org
9da06ece99
Prepare push to trunk. Now working on version 3.9.7.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9395007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 11:44:01 +00:00
fschneider@chromium.org
d462550446
Revert r10690. Enable inlining of Math.floor again.
...
The test failures reported in issue v8:1947 are unrelated to this change since it is not reproducible anymore.
BUG=v8:1947
Review URL: https://chromiumcodereview.appspot.com/9365048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 10:43:40 +00:00
danno@chromium.org
7a79e3547c
objects: fix template-related linker error
...
R=erik.corry@gmail.com
BUG=1936
TEST=
Review URL: https://chromiumcodereview.appspot.com/9382033
Patch from Fedor Indutny <fedor@indutny.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 09:42:38 +00:00
fschneider@chromium.org
fd4ceab217
Temporarily disable inlining of Math.floor called as a function because of test failures.
...
BUG=v8:1947
Review URL: https://chromiumcodereview.appspot.com/9359032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10690 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 09:42:31 +00:00
mstarzinger@chromium.org
0db91d40e9
Allow inlining of functions containing object literals.
...
R=fschneider@chromium.org
BUG=v8:1322
TEST=mjsunit/compiler/inline-literals
Review URL: https://chromiumcodereview.appspot.com/9388007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 08:57:10 +00:00
yangguo@chromium.org
ed54dd2042
Port r10674 to MIPS.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9395003
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 08:45:32 +00:00
yangguo@chromium.org
36141ddfa3
Fix crash when using --smi-only-arrays and --trace-elements-transitions
...
BUG=
TEST=3d-cube on debug mode with --smi-only-arrays and --trace-elements-transitions
Review URL: https://chromiumcodereview.appspot.com/9361054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10687 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 08:38:03 +00:00
svenpanne@chromium.org
0a9e97e9c4
Clear map transitions in CALLBACKS when normalizing properties.
...
As a bonus, simplify the surrounding code a bit by using the templatized To method.
Review URL: https://chromiumcodereview.appspot.com/9392002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10686 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-13 14:41:46 +00:00
svenpanne@chromium.org
2a57257940
DescriptorArray::CopyFrom should always drop transitions for CALLBACKS.
...
Review URL: https://chromiumcodereview.appspot.com/9389005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-13 14:15:43 +00:00
danno@chromium.org
da2e84fcb2
Fix crash in CALLBACK KeyedIC stub.
...
TBR=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9390005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10684 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-13 13:39:31 +00:00
danno@chromium.org
ad41b9ebc4
Optimize call sites that only ever see a single elements transition
...
R=jkummerow@chromium.org
TEST=imaging-gaussian-blur performance improves
Review URL: https://chromiumcodereview.appspot.com/9389001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-13 11:37:39 +00:00
yangguo@chromium.org
0801e4c3e0
Port r10674 to x64 and arm.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9384005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-13 08:21:01 +00:00
yangguo@chromium.org
b06c041448
MIPS: Fixed several bugs in SubStringStub::Generate.
...
A combination of bugs caused this function to almost always jump to runtime
which is why most tests passed.
BUG=
TEST=sputnik/S15.5.4.13_A2_T6
Review URL: https://chromiumcodereview.appspot.com/9382005
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-13 08:17:32 +00:00
jkummerow@chromium.org
7c695dcfa9
MIPS: Count-based profiling for primitive functions (hidden behind a flag)
...
Port r10657 (92073cf).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9383003
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-10 16:26:55 +00:00
loislo@chromium.org
384cc7fce2
Heap Snapshot maximum size limit is too low for really big apps.
...
At the moment the limit is 256MB.
BUG=113015
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9375047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-10 14:00:16 +00:00
yurys@chromium.org
97cbb319bd
Provide user-friendly access to natively bound function parameters
...
For a closure created using native Function.prototype.bind() the most important information for the heap profiler user is bound function, receiver and arguments. This change adds shortcuts for those fields.
Review URL: https://chromiumcodereview.appspot.com/9382002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-10 13:54:20 +00:00
danno@chromium.org
eb71dfee89
Implement elements transitions in ia32 Array constructor with n args.
...
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9369044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10674 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-10 12:41:48 +00:00
danno@chromium.org
f0c4b87f34
Implement KeyedStoreICs to grow arrays on out-of-bound stores.
...
Supports growing non-COW JSArray by a single element if the backing store has room, and initial allocation of a backing store for the store to index zero of an empty array to kPreallocatedArrayElements elements (e.g. the [] array literal).
Review URL: https://chromiumcodereview.appspot.com/9310117
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-10 12:36:05 +00:00
yangguo@chromium.org
e74b57317b
Fix crashes on x64 with smi-only arrays active.
...
Review URL: https://chromiumcodereview.appspot.com/9384002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10672 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-10 12:28:25 +00:00
kmillikin@chromium.org
581b7e6eb2
Streamline throwing in the C entry stub.
...
Remove a gratuitous level of indirection in favor of direct calls to the
macro assembler, and eliminate some duplicated code for the uncatchable
case.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9373022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10671 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-10 08:47:35 +00:00
kmillikin@chromium.org
f8421446e2
Small cleanup of ast.h.
...
Somehow the definition of DECLARE_NODE_TYPE was duplicated and never undef'd.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9372056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10670 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-10 08:35:57 +00:00
rossberg@chromium.org
0fa948d19e
Make constructors explicit.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9368026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 13:54:45 +00:00
yangguo@chromium.org
eae54f2a54
Prepare push to trunk. Now working on version 3.9.6.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9374017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 13:49:30 +00:00
rossberg@chromium.org
5498a6345a
Extend AST with basic module constructs (yet unused).
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9373023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10663 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 13:40:41 +00:00
rossberg@chromium.org
751508d6aa
Split AST Declaration class, in preparation for new module declaration forms.
...
Turns Declaration into an abstract class, and introduces VariableDeclaration as a concrete subclass.
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9348057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10662 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 13:39:26 +00:00
yangguo@chromium.org
d7934bd44c
MIPS: Convert fast smi-only to fast object in generated code for array push.
...
Port r10648 (818a1aa).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9372022
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10661 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 13:32:11 +00:00
jkummerow@chromium.org
de510c3a58
Split experimental profiler flags
...
Review URL: https://chromiumcodereview.appspot.com/9374015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10660 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 13:30:01 +00:00
danno@chromium.org
1588f7224e
Revert 9111036: Promote double arrays to FAST_ELEMENT that use generic KeyedLoadIC
...
It tanked Kraken.
TBR=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9368024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10659 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 13:07:46 +00:00
svenpanne@chromium.org
96cad0d9f0
Handlify GetSourceCode-related functions.
...
Review URL: https://chromiumcodereview.appspot.com/9374013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10658 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 10:46:50 +00:00
jkummerow@chromium.org
aa2e842134
Count-based profiling for primitive functions (hidden behind a flag)
...
Review URL: https://chromiumcodereview.appspot.com/9361026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 10:19:46 +00:00
svenpanne@chromium.org
fdf31d1bff
Cleaned up DescriptorArray::CopyInsert a bit.
...
The point of this refactoring is to remove some copy 'n' paste from the code,
preparing some upcoming changes related to CopyFrom and CALLBACKS with
transitions. The index fiddling is tricky enough to warrant a separate
refacoring-only CL...
Review URL: https://chromiumcodereview.appspot.com/9371013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10656 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 09:55:14 +00:00
kmillikin@chromium.org
831ada2f0d
Simplify handler pushing.
...
Instead of using two separate bits to encode three possible values, use
three values to encode the three possible values.
R=svenpanne@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9372016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10654 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 09:43:37 +00:00
mstarzinger@chromium.org
34f220001d
Simplify stackframe of construct stub on ARM and MIPS.
...
This unifies the stackframe layout of the generic constructor stub to be
in sync with ia32 and x64. There was an unecessary copy of the construct
function saved on the stack which wasn't used at all.
R=erik.corry@gmail.com
Review URL: https://chromiumcodereview.appspot.com/9348058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 09:13:31 +00:00
danno@chromium.org
d89c0b9500
Promote double arrays to FAST_ELEMENT that use generic KeyedLoadIC
...
Review URL: https://chromiumcodereview.appspot.com/9111036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 09:11:04 +00:00
danno@chromium.org
d949c64688
Improve GVN handling of ElementTransitions.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9141016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 08:58:19 +00:00
yangguo@chromium.org
d714d8511b
Convert fast smi-only to fast object in generated code for array push.
...
Review URL: https://chromiumcodereview.appspot.com/9365020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10648 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 17:05:59 +00:00
vegorov@chromium.org
96baf602df
Ensure that regexp code flushing correctly updates slots buffer.
...
Enable code compaction again.
R=erik.corry@gmail.com
Review URL: https://chromiumcodereview.appspot.com/9365019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10647 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 15:44:07 +00:00
erik.corry@gmail.com
53c6838cce
Remove 5 unused flags.
...
Review URL: https://chromiumcodereview.appspot.com/9362014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 15:39:41 +00:00
danno@chromium.org
7639836eca
MIPS: Handle single element array growth + transition in generic KeyedStoreIC
...
Port r10583 (505679e).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9316061
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 14:43:36 +00:00
danno@chromium.org
3c6459285c
MIPS: Don't allow large immediates for certain instructions.
...
Some instructions can use >16 bit immediates if they represent a <=16 bit signed value.
However some logical instructions (andi, xori, ori, lui) should always treat the immediate value as unsigned.
This patch adds an ASSERT to these places and a minor change to MacroAssembler::li to satisfy this.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9309077
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 14:41:10 +00:00
kmillikin@chromium.org
e505a085e3
Remove the JSON AST printing support.
...
We are not currently maintaining or testing this.
R=danno@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9363019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10643 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 13:53:24 +00:00
fschneider@chromium.org
3f50663371
Remove remaining occurrences of the unused --opt-eagerly flag.
...
Fix a lint error.
Review URL: https://chromiumcodereview.appspot.com/9365015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 12:49:04 +00:00
fschneider@chromium.org
b8b50400d2
Inline builtin Math functions functions in more cases.
...
Until now we only could inline as specialized HIR instructions when called
as a method (e.g. Math.abs)
It is very common practice to abbreviate calls to those functions by defining
a global or local variable like:
var a = Math.abs;
var x = a(123);
This change allows inlining them when called as a function (global or local).
Review URL: https://chromiumcodereview.appspot.com/9365013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10640 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 12:08:46 +00:00
rossberg@chromium.org
a0b287a3b1
Extend scanner with new Harmony module keywords (under flag).
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9352013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 10:53:58 +00:00
fschneider@chromium.org
3ed0ab7a73
MIPS: Fix compilation error after removing an unused flag.
...
TBR=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9348049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 10:33:30 +00:00
fschneider@chromium.org
5bc8a69055
Remove another two unused flags.
...
Review URL: https://chromiumcodereview.appspot.com/9358019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10634 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 10:26:17 +00:00
svenpanne@chromium.org
6f573edc11
Prepare push to trunk. Now working on version 3.9.5.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9358021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10633 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 10:23:10 +00:00
jkummerow@chromium.org
d795b7c620
Collect AstNode type information
...
Review URL: https://chromiumcodereview.appspot.com/9221011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 09:56:33 +00:00
kmillikin@chromium.org
9463c00d64
Remove unused --peephole-optimization flag.
...
R=danno@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9361022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 09:55:25 +00:00
yangguo@chromium.org
3e58827710
Fix elements transition bug related to array.concat.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9358018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10629 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 09:50:13 +00:00
lrn@chromium.org
f0a87d7c34
Fix handling of 'c: if (0) break c; else ()' where a parser optimization
...
leaves a trailing ";" after removing the break.
Review URL: https://chromiumcodereview.appspot.com/9159043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 08:40:11 +00:00
svenpanne@chromium.org
557fc46b62
Fixed assertions when accessing the hidden properties dictionary.
...
TBR=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9360012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 07:23:14 +00:00
vegorov@chromium.org
cc3c37ef61
Disable code compaction again.
...
Check failures are gone but now layout tests are failing.
R=fschneider@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9351019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-07 16:34:26 +00:00
vegorov@chromium.org
99fa8059c3
Try enabling (non-incremental) code compaction again.
...
This time include slot-recording fixes in code flushing that were accidentally omitted from the previous commit.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9348018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-07 14:43:51 +00:00
danno@chromium.org
889966a456
Properly initialize element-transitioning array literals on ARM.
...
R=erikcorry@gmail.com
BUG=v8:1930
TEST=unit tests with enable_vfp3=true
Review URL: https://chromiumcodereview.appspot.com/9316131
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-07 14:03:13 +00:00
jkummerow@chromium.org
730c134bd0
Prepare push to trunk. Now working on version 3.9.4.
...
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9348014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10620 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-07 12:04:36 +00:00
vegorov@chromium.org
9920e441fa
Disable code compaction again while we investigate buildbot check failures.
...
Review URL: https://chromiumcodereview.appspot.com/9351013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10619 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-07 10:03:08 +00:00
yangguo@chromium.org
988d1269de
When rethrowing an exception, print the stack trace of its original site instead of rethrow site.
...
BUG=60240
Review URL: https://chromiumcodereview.appspot.com/9310122
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10618 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-07 09:31:06 +00:00
svenpanne@chromium.org
2a02f4838b
DescriptorArray::IsProperty-related cleanup.
...
More minor changes related to property predicates:
* Slightly simplify logic when handling hidden properties.
* Make IsProperty usage more consistent in RemoveTransitions.
Review URL: https://chromiumcodereview.appspot.com/9352012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-07 08:59:03 +00:00
vegorov@chromium.org
029aa9ef92
Enable non-incremental code compaction.
...
It is intended to bring memory usage down on idle notifications.
R=erik.corry@gmail.com
BUG=v8:1726
Review URL: https://chromiumcodereview.appspot.com/9323079
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-07 08:51:47 +00:00