erik.corry@gmail.com
baf7ebd6da
Fix assert triggered in fast/regex/pcre-test-4.html We were not filtering out
...
all the nodes that had non-ASCII characters. That has been fixed, but because
of the protection against over-deep recursion when filtering it is wrong to
assert that all nodes were filtered. This change therefore also makes sure we
can cope with non-filtered nodes by adding back some code removed in
https://chromiumcodereview.appspot.com/10174017/
Review URL: https://chromiumcodereview.appspot.com/10358008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 08:22:12 +00:00
erik.corry@gmail.com
bd3c2c028f
Enable code flushing even when objects were marked incrementally,
...
since the incremental visitor is setting the gc_age fields correctly.
This means the ResetSharedFunctionInfoCountersDuringIncrementalMarking
test passes even if it hits a marking stack overflow.
Review URL: https://chromiumcodereview.appspot.com/10258001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-02 12:58:40 +00:00
danno@chromium.org
908e77a53a
Ensure reload of elements pointer in StoreFastDoubleElement stub.
...
R=mstarzinger@chromium.org
TEST=test/mjsunit/regress/regress-125515.js
BUG=chromium:125515
Review URL: https://chromiumcodereview.appspot.com/10260014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-02 09:58:42 +00:00
jkummerow@chromium.org
f6dacfe83a
Fixed corner cases in truncation behavior when storing to TypedArrays.
...
Also simplified ia32 KeyedStoreStubCompiler::GenerateStoreExternalArray a bit.
BUG=v8:2110
TEST=mjsunit/regress/regress-2110
Review URL: https://chromiumcodereview.appspot.com/10260011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-30 15:17:59 +00:00
mstarzinger@chromium.org
b54ca31fb2
Fix LFastLiteral to check boilerplate elements kind.
...
Adds a missing check that the elements kind of the boilerplate object
still has the expected elements kind, unoptimized code can transition
the boilerplate. Corner cases might cause the optimized code to be
reentered again.
R=danno@chromium.org
TEST=mjsunit/regress/regress-fast-literal-transition
Review URL: https://chromiumcodereview.appspot.com/10254006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-30 14:59:13 +00:00
ulan@chromium.org
bc46d6c4a4
Make sure idle notifications perform a round of incremental GCs after context disposal.
...
BUG=v8:2107
Review URL: https://chromiumcodereview.appspot.com/10209026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-30 14:41:12 +00:00
jkummerow@chromium.org
347d28f282
One more register change missing from r11460.
...
Also re-enable disabled test (reverts r11461).
BUG=v8:2108
TEST=mozilla tests pass
Review URL: https://chromiumcodereview.appspot.com/10178039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-30 08:53:48 +00:00
jkummerow@chromium.org
cb95d208fb
Temporarily disable crashing mozilla test
...
BUG=2108
Review URL: https://chromiumcodereview.appspot.com/10252008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-27 17:29:22 +00:00
peter.rybin@gmail.com
569eba39f5
Issue 2081: Expose function's (closure's) inner context in debugger.
...
This is against the correct branch (bleeding_edge).
Review URL: https://chromiumcodereview.appspot.com/10171003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11458 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-26 20:16:53 +00:00
erik.corry@gmail.com
f7b4a96b84
Fix spurious bugs in GrowAndShrinkNewSpace when the
...
min and max new space sizes are equal.
Review URL: https://chromiumcodereview.appspot.com/10241002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-26 14:45:58 +00:00
erik.corry@gmail.com
292e007cf3
Remove more assumptions from debug tests. Even though a function
...
is optimized, does not mean all frames on the stack are optimized.
Also, when we ask for the list of scripts we may get more or less
depending on GC timing. Also fixed a presubmit error and made
%GetOptimizationStatus a little more honest.
Review URL: https://chromiumcodereview.appspot.com/10234007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-26 13:44:18 +00:00
erik.corry@gmail.com
ad4f2b996b
Remove unwarranted assumptions about inlining from a debugger test.
...
Review URL: https://chromiumcodereview.appspot.com/10239003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-26 11:58:34 +00:00
erik.corry@gmail.com
7783ba5d81
Reenable some heap verification and fix test to keep
...
heap in a consistent state.
Review URL: https://chromiumcodereview.appspot.com/10227002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11446 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-26 09:11:45 +00:00
erik.corry@gmail.com
d511b69e86
Regexp: Remove nodes from the regexp that cannot match because
...
they contain non-ASCII characters and the input string is ASCII.
Remove unused Clone() method.
Review URL: https://chromiumcodereview.appspot.com/10174017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-26 09:11:19 +00:00
mmassi@chromium.org
93113da5a2
Eliminate redundant array bound checks (checks already performed earlier in the DT).
...
As a special case, for checks on index expressions with the form (expr + constant) if a smaller constant is checked later in the DT also eliminate the check.
Finally, if a larger constant is checked later in the same BB do the more general check (larger constant) earlier instead of the less general one.
This will not cause useless deoptimizations because, since we are in the same BB, all the checks would have been executed anyway.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10032029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11437 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-25 14:32:27 +00:00
mstarzinger@chromium.org
21fc0fef6a
Fix deopted construct stub frame to contain code object.
...
R=danno@chromium.org
BUG=chromium:124594
TEST=mjsunit/regress/regress-124594
Review URL: https://chromiumcodereview.appspot.com/10155024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-25 13:22:04 +00:00
erik.corry@gmail.com
f6f954484c
Make --stress-compaction more stressful.
...
Review URL: https://chromiumcodereview.appspot.com/10141007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-25 11:35:32 +00:00
mstarzinger@chromium.org
6aeed46180
Make String::Empty inlineable.
...
R=svenpanne@chromium.org
TEST=cctest/test-api/StringEmpty
Review URL: https://chromiumcodereview.appspot.com/10199019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-25 08:45:45 +00:00
fschneider@chromium.org
6e713a269d
Optimise Math.floor(x/y) to use integer division for specific divisor.
...
Landing for Rodolph Perfetta <rodolph.perfetta@gmail.com>.
Original CL: http://codereview.chromium.org/9638018/
Review URL: https://chromiumcodereview.appspot.com/10197010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-24 15:59:07 +00:00
mstarzinger@chromium.org
c25a92d76b
Make Isolate::GetData and Isolate::SetData inlineable.
...
R=svenpanne@chromium.org
TEST=cctest/test-api/IsolateEmbedderData
Review URL: https://chromiumcodereview.appspot.com/10196013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-24 14:37:53 +00:00
erik.corry@gmail.com
c436c70f8b
Fix some bugs in accessing details of the lastest regexp
...
match. Sometimes were were not updating it when we should
and sometimes we were leaving the lastMatchInfoOverride in
place when we should be using the updated regular last match
info. Small optimization for zero length match in
String.prototype.replace.
Review URL: https://chromiumcodereview.appspot.com/10184004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-23 18:56:07 +00:00
mstarzinger@chromium.org
5113cc1bbc
Make static API getters inlineable again.
...
This relands r11376 with minor fixes for Windows where offsets are
slightly different from Linux for unaligned fields.
R=svenpanne@chromium.org
TEST=cctest/test-api/StaticGetters
Review URL: https://chromiumcodereview.appspot.com/10176004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-23 15:09:59 +00:00
mstarzinger@chromium.org
e3be59512a
Fix source property of empty RegExp objects.
...
R=rossberg@chromium.org
BUG=v8:1982
TEST=test262/15.10.4.1-5
Review URL: https://chromiumcodereview.appspot.com/10134010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-23 13:59:43 +00:00
erikcorry
7d4b983f55
Remove unused IsNan function
...
Review URL: http://codereview.chromium.org/10167008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-23 13:44:06 +00:00
yangguo@chromium.org
717dbba694
Disabling stepping into callback function of String.replace.
...
This is being done due to performance concerns.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10134006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-20 15:20:52 +00:00
alexeif@chromium.org
d9f797b404
Eliminate internal and hidden links to oddballs and other non-essential objects in heap snapshot.
...
Review URL: https://chromiumcodereview.appspot.com/10162005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-20 14:03:06 +00:00
rossberg@chromium.org
c8aea7a184
Put new global var semantics behind a flag until WebKit tests are cleaned up.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10163003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-20 13:35:09 +00:00
yangguo@chromium.org
f516037a6f
Enable stepping into callback passed to builtins (e.g. Array.forEach).
...
BUG=109564
TEST=
Review URL: https://chromiumcodereview.appspot.com/10078014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-20 11:06:12 +00:00
jkummerow@chromium.org
913568ce01
Relax test-debug/ThreadedDebugging to stop flakiness.
...
Actual bug tracked as issue 2047.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10167002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-20 10:43:02 +00:00
svenpanne@chromium.org
cac8bbff6e
Replaced the --limit-inling flag by three separate flags and bumped hard limits.
...
This change makes experiments with inlining limits much easier. Note that the
default values for the limits keep their old values for now. Renamed things a
bit for more consistency.
Review URL: https://chromiumcodereview.appspot.com/10162001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-20 10:42:12 +00:00
fschneider@chromium.org
3760893edd
Fix bug in forced-deletion of globals.
...
When inling functions across contexts in optimized code and using
ForceDelete from the API to delete a DontDelete global property we
can end up returning the hole value instead of throwing a ReferenceError
as expected after accessing a deleted global variable.
BUG=v8:2092
TEST=test/cctest/test-api/InlinedFunctionAcrossContexts
Review URL: https://chromiumcodereview.appspot.com/10035060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-20 10:21:08 +00:00
alexeif@chromium.org
d27ba7dfa4
Fix includes order.
...
TBR=mnaganov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10078015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-19 16:31:01 +00:00
alexeif@chromium.org
72a9e445e5
Show names for the strong roots in heap snapshot.
...
Review URL: https://chromiumcodereview.appspot.com/10128006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-19 15:58:42 +00:00
fschneider@chromium.org
0556f87851
Optimize ~~(expr) in optimized code.
...
~~ is commonly used to truncate a value to int32 (ToInt32).
This change avoid actually emitting the bitwise operations, and
just truncates the subexpression of ~~.
BUG=v8:2037
TEST=test/mjsunit/compiler/optimize-bitnot.js
Review URL: https://chromiumcodereview.appspot.com/10123007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-19 13:24:15 +00:00
mstarzinger@chromium.org
7d22d73ebf
Fix issues when stressing compaction with WeakMaps.
...
1) While marking the backing hash table of a WeakMap we also need to
record the slot because it might be on an evacuation candidate.
2) With incremental marking one backing hash table might be marked more
than once because the WeakMap might have gone through a white to gray
transition.
3) The corner case when the allocation of the backing hash table itself
causes a GC, leads to a WeakMap with an undefined table field, so we
still need to handle this case correctly.
R=vegorov@chromium.org
TEST=mjsunit/harmony/proxies-example-membrane --stress-compaction
Review URL: https://chromiumcodereview.appspot.com/9985010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-19 10:32:38 +00:00
mstarzinger@chromium.org
57739100f3
Fix missing GVN flag for new-space promotion.
...
R=vegorov@chromium.org
BUG=chromium:123919
TEST=mjsunit/regress/regress-123919
Review URL: https://chromiumcodereview.appspot.com/10119016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-19 07:49:11 +00:00
mstarzinger@chromium.org
0f590eb45f
Revert r11376 and r11379 due to compile failures on Windows.
...
TBR=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10116030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-18 17:49:53 +00:00
mstarzinger@chromium.org
3b3e701a27
Make static API getters inlineable.
...
R=danno@chromium.org
TEST=cctest/test-api/StaticGetters[AfterDeath]
Review URL: https://chromiumcodereview.appspot.com/10116024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-18 16:07:08 +00:00
alexeif@chromium.org
2ec3e5943b
Remove Debug object from the user roots in heap profiler.
...
Review URL: https://chromiumcodereview.appspot.com/10096016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-17 15:57:35 +00:00
yangguo@chromium.org
bf630e2371
Fix MinGW-w64 GCC 4.7 compilation
...
Contributed by net147@gmail.com
BUGS=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10019012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-17 14:53:06 +00:00
loislo@chromium.org
b2024c531c
Push heap stats as HeapStatsUpdate struct instead of raw array of uint32_t values.
...
We are pushing stats data as a raw array of uint32_t values at the moment.
It makes tricky the process of updating the API between v8 and WebKit.
BUG=none
TEST=HeapSnapshotObjectsStats
Review URL: https://chromiumcodereview.appspot.com/10110001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-17 13:10:17 +00:00
mstarzinger@chromium.org
47d07b8a7b
Fix fast array literals to ignore prototype chain.
...
This makes sure that boilerplate objects for array literals with
non-constant elements (which will contain the hole at non-constant
positions) will not cause prototype chain lookups when generating
optimized code.
R=erik.corry@gmail.com
BUG=chromium:123512
TEST=mjsunit/regress/regress-123512
Review URL: https://chromiumcodereview.appspot.com/10105025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-17 11:12:37 +00:00
yangguo@chromium.org
47c4a5b4ef
Make SubStringStub more robust wrt unsafe arguments.
...
BUG=
TEST=test-strings/RobustSubStringStub
Review URL: https://chromiumcodereview.appspot.com/9969196
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-17 10:49:15 +00:00
erik.corry@gmail.com
6a1b70ccbc
Regexp: Unify the lookahead code for the BoyerMoore-like skipping
...
and the lookahead code for simplifying \b. Also cache lookahead
results on the nodes, fix a memory leak and remove some character
class code we are no longer using.
Review URL: https://chromiumcodereview.appspot.com/9961009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-17 08:06:53 +00:00
mstarzinger@chromium.org
d919414b6f
Fix malformed test262 status file in r11341.
...
TBR=rossberg@chromium.org
TEST=test262
Review URL: https://chromiumcodereview.appspot.com/10096014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-16 16:33:58 +00:00
mstarzinger@chromium.org
957e60a257
Mark test262 failure for known issue.
...
R=rossberg@chromium.org
BUG=v8:1982
TEST=test262/15.10.4.1-5
Review URL: https://chromiumcodereview.appspot.com/10096011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-16 15:55:12 +00:00
mstarzinger@chromium.org
f7cd1e41f8
Fix illegal escape-sequences to throw syntax errors.
...
R=erik.corry@gmail.com
TEST=test262/S7.8.4_A6.*,test262/S7.8.4_A7.*
Review URL: https://chromiumcodereview.appspot.com/9490006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-16 15:54:02 +00:00
yurys@chromium.org
1ce7d5d0d4
Add method for resolving SnapshotObjectId by given object
...
Review URL: https://chromiumcodereview.appspot.com/10094011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-16 15:36:19 +00:00
rossberg@chromium.org
ab26fb6b21
Implement rudimentary module linking.
...
Constructs the (generally cyclic) graph of module instance objects
and populates their exports. Any exports other than nested modules
are currently set to 'undefined' (but already present as properties).
Details:
- Added new type JSModule for instance objects: a JSObject carrying a context.
- Statically allocate instance objects for all module literals (in parser 8-}).
- Extend interfaces to record and unify concrete instance objects,
and to support iteration over members.
- Introduce new runtime function for pushing module contexts.
- Generate code for allocating, initializing, and setting module contexts,
and for populating instance objects from module literals.
Currently, all non-module exports are still initialized with 'undefined'.
- Module aliases are resolved statically, so no special code is required.
- Make sure that code containing module constructs is never optimized
(macrofy AST node construction flag setting while we're at it).
- Add test case checking linkage.
Baseline: http://codereview.chromium.org/9722043/
R=svenpanne@chromium.org ,mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9844002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-16 14:43:27 +00:00
alexeif@chromium.org
f4c15c4ec2
External references should not affect dominance relation.
...
Separate objects into two groups: reachable from a window (user),
and unreachable (system). Then do not take into account links
that come from system group to the user group when calculating
dominance relation.
Review URL: https://chromiumcodereview.appspot.com/10086006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-16 14:31:13 +00:00