Commit Graph

7929 Commits

Author SHA1 Message Date
rossberg@chromium.org
b7d1659661 Silence more warnings.
R=mstarzinger@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10746002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-09 16:22:53 +00:00
yangguo@chromium.org
b4cb3e28ca Fix Debug::Break crash.
BUG=131642
TEST=test-debug/Regress131642

Review URL: https://chromiumcodereview.appspot.com/10698123

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-09 15:18:08 +00:00
svenpanne@chromium.org
9bcc823064 Removed one copy-n-paste clone of HGraphBuilder::BuildStoreNamed.
Review URL: https://chromiumcodereview.appspot.com/10689129

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-09 13:59:28 +00:00
rossberg@chromium.org
e7a3a5bc9c Silence warnings.
R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10692131

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-09 13:54:29 +00:00
mmassi@chromium.org
f1fec84711 Disable array bounds check removal.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10703115

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-09 13:25:29 +00:00
mmassi@chromium.org
41370d2b70 Restored removed flag.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-09 12:06:07 +00:00
mmassi@chromium.org
5f9e5980ee Re-enable array bounds check elimination.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-09 12:05:58 +00:00
svenpanne@chromium.org
9068d56f7f Added Crankshaft support for JavaScript getters.
Instead of calling the getter via a stub, we now call it more directly via a
(guarded) CallConstantFunction instruction.

Review URL: https://chromiumcodereview.appspot.com/10735023

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-09 11:33:53 +00:00
svenpanne@chromium.org
b6ebc22de8 Improved printing of CheckPrototypeMaps instruction.
Review URL: https://chromiumcodereview.appspot.com/10696139

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-09 10:46:17 +00:00
svenpanne@chromium.org
36513befa1 Fixed CompareIC::GetStateName.
Review URL: https://chromiumcodereview.appspot.com/10692126

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12011 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-09 10:28:56 +00:00
rossberg@chromium.org
98db1a369d Implement proper module linking.
Specifically:

- In parser, check that all exports are defined.
- Move JSModule allocation from parser to scope resolution.
- Move JSModule linking from full codegen to scope resolution.
- Implement module accessors for exported value members.
- Allocate module contexts statically along with JSModules
  (to allow static linking), but chain them when module literal is evaluated.
- Make module contexts' extension slot refer to resp. JSModule
  (makes modules' ScopeInfo accessible from context).
- Some other tweaks to context handling in general.
- Make any code containing module literals (and thus embedding
  static references to JSModules) non-cacheable.

This enables accessing module instance objects as expected.
Import declarations are a separate feature and do not work yet.

R=mstarzinger@chromium.org
BUG=v8:1569
TEST=

Review URL: https://chromiumcodereview.appspot.com/10690043

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-09 08:59:03 +00:00
danno@chromium.org
a0a1d06b35 Make room in Code flags to support compiled stubs.
R=mstarzinger@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10701106

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-06 22:08:27 +00:00
yangguo@chromium.org
21d92e453a Prepare push to trunk. Now working on version 3.12.10.
R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10693113

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-06 16:20:57 +00:00
mstarzinger@chromium.org
16fa5ceb7b Fix missing handle scope in recent r12001.
R=yangguo@chromium.org
BUG=v8:2219
TEST=webkit:fast/dom/inline-event-attributes-release.html

Review URL: https://chromiumcodereview.appspot.com/10701108

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12004 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-06 16:03:18 +00:00
sanjoy@chromium.org
1e96d4e101 Fix bug in compilation-handlescope.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10696125

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-06 14:09:11 +00:00
yangguo@chromium.org
3e3160b08c Correctly advance the scanner when scanning unicode regexp flag.
R=rossberg@chromium.org
BUG=136084
TEST=regress-136084.js

Review URL: https://chromiumcodereview.appspot.com/10703106

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-06 14:04:15 +00:00
mstarzinger@chromium.org
026f179b34 Fix unhandlified code calling Harmony Proxy traps.
R=rossberg@chromium.org
BUG=v8:2219
TEST=mjsunit/regress/regress-2219

Review URL: https://chromiumcodereview.appspot.com/10703103

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-06 11:34:22 +00:00
verwaest@chromium.org
6139bafd28 Also in ClearNonLiveTransitions we have to check if there still is a transition array before we access it.
This should never happen in the long run, but will happen when maps still have a back-pointer while the forward pointer (the transition) was overwritten.

Review URL: https://chromiumcodereview.appspot.com/10704109

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-06 10:02:15 +00:00
yangguo@chromium.org
a2cfa9d3df Put additional information onto the stack when crashing in Debug::Break.
R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10698116

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-06 09:34:59 +00:00
sanjoy@chromium.org
4a46de19e4 Add a second kind of HandleScope that ties the lifetime of Handles created in its scope to the lifetime of a given CompilationInfo.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10697094

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11998 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-06 09:31:31 +00:00
svenpanne@chromium.org
dc92b21c06 Slightly generalize AddCheckConstantFunction.
This is needed for crankshafted accessors, which are syntactically not a Call.

Review URL: https://chromiumcodereview.appspot.com/10702109

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-06 08:34:48 +00:00
svenpanne@chromium.org
482a0e3196 Added LookupResult::GetValueFromMap.
This is needed later for crankshafted accessors and reduces copy-n-paste a bit.

Review URL: https://chromiumcodereview.appspot.com/10702108

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-06 08:11:10 +00:00
yangguo@chromium.org
791632cf06 Fix compilation when disabling debugger support.
Based on a patch by Remi Duraffort <remi.duraffort@st.com>: http://codereview.chromium.org/10702093/

R=mstarzinger@chromium.org
BUG=
TEST=build with debuggersupport=off

Review URL: https://chromiumcodereview.appspot.com/10697085

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-05 16:23:14 +00:00
verwaest@chromium.org
d7a5b7d5e2 Separating transitions from descriptors.
In this design maps contain descriptor arrays, which in turn can contain transition arrays. If transitions are needed when no descriptor array is present, a descriptor array without real descriptors is inserted just so it can point at the transition array.

The transition array does not contain details about the field it transitions to. In order to weed out transitions to FIELDs from CONSTANT_FUNCTION (what used to be MAP_TRANSITION vs CONSTANT_TRANSITION), the transition needs to be followed and the details need to be looked up in the target map. CALLBACKS transitions are still easy to recognize since the transition targets are stored as an AccessorPair containing the maps, rather than the maps directly.

Currently AccessorPairs containing a transition and an accessor are shared between the descriptor array and the transition array. This simplifies lookup since we only have to look in one of both arrays. This will change in subsequent revisions, when descriptor arrays will become shared between multiple maps, since transitions cannot be shared.

Review URL: https://chromiumcodereview.appspot.com/10697015

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-05 13:54:20 +00:00
svenpanne@chromium.org
f0e042e5e5 Removed superfluous cast.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10696119

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-05 13:13:33 +00:00
sanjoy@chromium.org
8c6679577e Remove some duplicated logic from compiler.cc.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10701060

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-05 13:11:57 +00:00
svenpanne@chromium.org
e909a3d55d Prepare push to trunk. Now working on version 3.12.9.
R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10702099

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-05 08:21:28 +00:00
yangguo@chromium.org
dee15487f0 Larger stack trace string in the minidump when catching Debug::Break crash.
R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10698103

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-05 08:07:01 +00:00
svenpanne@chromium.org
ebff0eb7b3 Handle accessors on the prototype chain in StoreICs.
Made stub compiler function signatures a bit more consistent on the way.

Review URL: https://chromiumcodereview.appspot.com/10735003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-04 11:40:51 +00:00
rossberg@chromium.org
cc5a88812d Implement typedarray.set and arraybuffer.slice for d8.
R=yangguo@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10694051

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-03 13:44:36 +00:00
jkummerow@chromium.org
00eb355247 Move quadratic behavior of Context's optimized function list verification behind --enable-slow-asserts flag
BUG=webkit:90003
TEST=the following takes only about 1 second in debug mode: var a=[1,2,3,4,5]; eval("for (var i=0;i<50000;i++) a.sort(function(){return 1;});");

Review URL: https://chromiumcodereview.appspot.com/10704078

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11982 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-03 13:01:31 +00:00
sanjoy@chromium.org
10441e954b Don't actually create Handles for the constant hole, the true value and the false value. This is required to have some parts of Crankshaft run without creating Handles.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10699052

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-03 10:42:03 +00:00
mstarzinger@chromium.org
b4b10c012f Prepare push to trunk. Now working on version 3.12.8.
R=yangguo@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10695078

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-03 09:59:55 +00:00
mstarzinger@chromium.org
7da6d2b023 Fix lazy compilation for strict eval scopes.
This prevents lazy compilation of functions that have an outer context
containing a strict eval scope. Such a scope potentially contains
context allocated variables in an artificial function scope that is not
deserialized correctly.

R=ulan@chromium.org
BUG=chromium:135066
TEST=mjsunit/regress/regress-crbug-135066

Review URL: https://chromiumcodereview.appspot.com/10704058

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-03 08:41:13 +00:00
yurys@chromium.org
771ba7ae99 Report "hidden properties" in heap profiler for properties case
BUG=v8:2212
TEST=cctest/test-heap-profiler/HiddenPropertiesFastCase
Review URL: https://chromiumcodereview.appspot.com/10692058

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-02 12:46:31 +00:00
yangguo@chromium.org
3f1ea190fc Plug memory leak in Isolate.
R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10702060

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-02 12:15:23 +00:00
danno@chromium.org
d030121458 Activate optimization of packed arrays by default
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10695055

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-02 09:50:53 +00:00
peter.rybin@gmail.com
dffb5082ba Properly fix liveedit heap traversal bug with write barrier
Review URL: https://chromiumcodereview.appspot.com/10682013

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-01 22:25:48 +00:00
danno@chromium.org
ec65e4fe78 Consolidate similar KeyedLoads to worst case instead of transitioning elements
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10692043

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-29 22:27:25 +00:00
mstarzinger@chromium.org
fc3c94535d Disallow inlining of functions containing array literals.
This is disabled due to regressions in 3d-cube, but leaves the actual
code to allow inlining in place so it can easily be enabled again.

R=jkummerow@chromium.org
BUG=v8:1322

Review URL: https://chromiumcodereview.appspot.com/10690045

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11958 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-29 16:39:40 +00:00
yangguo@chromium.org
98b89329f1 Prepare push to trunk. Now working on version 3.12.7.
R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10695041

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-29 15:15:20 +00:00
yangguo@chromium.org
7a201f599b Put even more debug information on stack when aborting.
R=jkummerow@chromium.org
BUG=131642
TEST=

Review URL: https://chromiumcodereview.appspot.com/10698048

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11954 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-29 15:11:16 +00:00
yangguo@chromium.org
947cf3930f Fix isolate build.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10704038

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-29 09:15:52 +00:00
yangguo@chromium.org
8128c6e7f6 Cleanup hardfp ABI detection. This work was triggered by issue 2140.
BUG=none
TEST=none

Review URL: https://chromiumcodereview.appspot.com/10713009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11951 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-29 08:04:24 +00:00
rossberg@chromium.org
32e01d224d ARRAY_SIZE is not available on Linux-shared.
R=mstarzinger@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10718008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-28 16:40:16 +00:00
rossberg@chromium.org
680797234c Further extend TypedArray support in d8:
- Add copy constructors.
- Add subarray methods.
- Make instanceof and constructor property work.
- Rename PixelArray to Uint8ClampedArray.

Also fix broken definition of assertInstanceof in MJSUnit test harness.

R=mstarzinger@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10558005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-28 16:29:53 +00:00
yangguo@chromium.org
72f83f744b Prepare push to trunk. Now working on version 3.12.6.
R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10710010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-28 15:03:51 +00:00
mstarzinger@chromium.org
a691c693fb Fix lazy parsing heuristics to respect outer scope.
This makes sure that a function literal is only parsed lazily when the
outer scope actually allows lazy compilation. Otherwise compilation will
crash due to a missing function body.

R=ulan@chromium.org
BUG=chromium:135008
TEST=mjsunit/regress/regress-crbug-135008

Review URL: https://chromiumcodereview.appspot.com/10698032

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-28 14:56:28 +00:00
sanjoy@chromium.org
d9d76b7a5c Revert 11939 'Add a CompilationHandleScope' since it breaks array-sort.js in Win32 Release.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10698031

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-28 12:34:51 +00:00
mstarzinger@chromium.org
a90c023d5e Allow inlining of functions containing array literals.
R=yangguo@chromium.org
BUG=v8:1322
TEST=mjsunit/compiler/inline-literals

Review URL: https://chromiumcodereview.appspot.com/10689005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-27 14:46:01 +00:00