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
jkummerow@chromium.org
1d0aea7c3a
Fix wrong iteration variable in test/preparser/strict-identifiers.pyt
...
R=mstarzinger@chromium.org
TEST=preparser/strict-identifiers
Review URL: https://chromiumcodereview.appspot.com/10693116
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-09 08:26:17 +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
danno@chromium.org
f97df41fcf
Fix timout of packed-elements.js on ARM
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10703093
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-05 13:40:51 +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
mstarzinger@chromium.org
fd9bab4ea2
Cleanup Test262 expectations for simulators.
...
R=jkummerow@chromium.org
TEST=test262
Review URL: https://chromiumcodereview.appspot.com/10690090
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-05 12:44:44 +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
jkummerow@chromium.org
3766f21cab
Remove $FAST variable from mozilla.status. It was never set to true anyway.
...
Review URL: https://chromiumcodereview.appspot.com/10694083
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-05 07:33: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
yangguo@chromium.org
ec4ab693c2
Add function to grokdump shell to print ASCII string.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10697067
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-03 11:56:30 +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
ulan@chromium.org
c22c7054f2
Add Makefile targets for running tests on Android.
...
This allows to run tests on the attached Android device using
> make android.check
> make android.debug.check
> make android.release.check
> ANDROID_V8=/data/local/v8 TESTJOBS=-j4 make android.release.check -j10
Tests and binaries are copied to device location specified by the ANDROID_V8
variable and then tests are executed using the 'adb shell' program.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10696048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-03 07:45:58 +00:00
jkummerow@chromium.org
70d56acd1f
Make MACOSX_DEPLOYMENT_TARGET configurable.
...
BUG=v8:2151
Review URL: https://chromiumcodereview.appspot.com/10693065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-02 14:58:43 +00:00
rossberg@chromium.org
1590a5d6b4
Added tests for calling typed array constructors as functions.
...
R=danno@chromium.org
BUG=v8:1497
TEST=
Review URL: https://chromiumcodereview.appspot.com/10701055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-02 13:09:47 +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
34d79888fb
Add test case for typed arrays slicing
...
R=rossberg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10698069
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-02 10:45:00 +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
f6230ab420
Extend test for external arrays.
...
R=rossberg@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10697033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-29 15:06:36 +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
jkummerow@chromium.org
6504c92c0a
Allow using test-wrapper-gypbuild.py on Windows when no python interpreter is registered.
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10716004
Patch from Sigurður Ásgeirsson <siggi@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-28 14:31:03 +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